
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap");
@charset "UTF-8";
/*
///////////////////////////////////////////////////////////////////////

This template is part of EC-CUBE Design template.

Copyright(c) JAPAN ELECTRONIC INDUSTRIAL ARTS CO.LTD.

http://www.jeia.co.jp/

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

本テンプレートの著作権は、「株式会社日本電子工藝社」に帰属いたします。

※本テンプレートを譲渡・再頒布・転用・第三者へ開示することは禁止いたします。
ただし、事業者によるショップ運営者への設置代行を禁止するものではございません。
※本テンプレートを申請されたご利用サイトへの設置以外の目的で複製することは禁止いたします。
※本テンプレートデータ内のライセンス条項、および著作権に関する記述を削除することはできません。
※ご利用サイトを変更することはできません。申請と異なるサイトにてご利用になる場合は、
別途、ご利用費用をお支払いただく必要がございます。
※本テンプレートの改変にあたり、一切のサポートはいたしかねます。
※本テンプレートは、すべての設置環境で動作する事は保証しておりません。

///////////////////////////////////////////////////////////////////////
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}
/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}
/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}
/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}
/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}
/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}
/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}
/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}
/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details, /* 1 */
menu {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}
/**
 * Add the correct display in IE.
 */
template {
  display: none;
}
/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}
/*
Sass変数

_variables.scss

各パーツの色やサイズを変数として定義しています。
*/
/*
ヘッダーロゴ
*/
/*
デバイス別設定
*/
/*
ボタン
*/
/*
各ボタン（以下の@mixin）で適用されるのでもしボタンごとにサイズが違う場合は「_btn.scss」を編集
* @mixin blockBtn-default
* @mixin blockBtn-action
* @mixin blockBtn-cancel
* @mixin blockBtn-primary
*/
/*
文字色・背景色
*/
/*
ヘッダー・ドロワー
*/
/*
// 白系ヘッダー
$clrHeaderBgRGB:            var(--clrHeaderBgRGB, 245,245,245);// ヘッダー背景色RGB
$clrHeaderBgAlfa:           var(--clrHeaderBgAlfa, 0.5);// ヘッダー背景色透過率（TOPページではプロモーションにヘッダが被り背景色が完全透過となりますがhover時にうすく背景色をかける際の透過具合）
$clrHeaderText:             var(--clrHeaderText, #333);// ヘッダー文字色
$clrHeaderMenuHoverBg:      var(--clrHeaderMenuHoverBg, #ccc);// ヘッダーメニューhover時背景色
$clrHeaderBurger:           var(--clrHeaderBurger, #666);// バーガーアイコン色
*/
/*
$clrHeaderBgRGB:            var(--clrHeaderBgRGB, 17, 18, 20);// ヘッダー背景色RGB
$clrHeaderBgAlfa:           var(--clrHeaderBgAlfa, 0.5);// ヘッダー背景色透過率（TOPページではプロモーションにヘッダが被り背景色が完全透過となりますがhover時にうすく背景色をかける際の透過具合）
$clrHeaderText:             var(--clrHeaderText, #fff);// ヘッダー文字色
$clrHeaderMenuHoverBg:      var(--clrHeaderMenuHoverBg, rgba(255, 255, 255, 0.2));// ヘッダーメニューhover時背景色
$clrHeaderBurger:           var(--clrHeaderBurger, #fff);// バーガーアイコン色
*/
/*
$clrDrawerBase:             var(--clrDrawerBg, #111214);// ドロワー背景色
$clrDrawerText:             var(--clrDrawerText, #fff);// ドロワー文字色
$clrDrawerIcon:             var(--clrDrawerIcon, #aaa);// ドロワー内アイコン
$clrDrawerBorder:           var(--clrDrawerBorder, rgba(255, 255, 255, 0.4));// 各メニューの区切り線
$clrDrawerBorder2:          var(--clrDrawerBorder2, rgba(255, 255, 255, 0.3));// 開閉メニューOPEN時の左線
*/
/*
フッター
*/
/*
シェア・SNSカラー
*/
/*
フォーム部品
*/
/*
カート
*/
/*
商品一覧
*/
/*
ヘッドインフォメーション
*/
/*!
 * Bootstrap v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}
hr:not([size]) {
  height: 1px;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}
h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
h5, .h5 {
  font-size: 1.25rem;
}
h6, .h6 {
  font-size: 1rem;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
abbr[title],
abbr[data-bs-original-title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol,
ul {
  padding-left: 2rem;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
b,
strong {
  font-weight: bolder;
}
small, .small {
  font-size: 0.875em;
}
mark, .mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}
sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: #0d6efd;
  text-decoration: underline;
}
a:hover {
  color: #0a58ca;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
  direction: ltr /* rtl:ignore */;
  unicode-bidi: bidi-override;
}
pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}
code {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word;
}
a > code {
  color: inherit;
}
kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}
figure {
  margin: 0 0 1rem;
}
img,
svg {
  vertical-align: middle;
}
table {
  caption-side: bottom;
  border-collapse: collapse;
}
caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
label {
  display: inline-block;
}
button {
  border-radius: 0;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button,
select {
  text-transform: none;
}
[role=button] {
  cursor: pointer;
}
select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}
[list]::-webkit-calendar-picker-indicator {
  display: none;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
textarea {
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
legend + * {
  clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}
::-webkit-inner-spin-button {
  height: auto;
}
[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
  padding: 0;
}
::file-selector-button {
  font: inherit;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
iframe {
  border: 0;
}
summary {
  display: list-item;
  cursor: pointer;
}
progress {
  vertical-align: baseline;
}
[hidden] {
  display: none !important;
}
.lead {
  font-size: 1.25rem;
  font-weight: 300;
}
.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2;
}
.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2;
}
.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2;
}
.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2;
}
.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2;
}
.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}
.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}
.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}
.figure {
  display: inline-block;
}
.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}
.figure-caption {
  font-size: 0.875em;
  color: #6c757d;
}
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}
.col {
  flex: 1 0 0%;
}
.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}
.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}
.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}
.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
}
.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-12 {
  flex: 0 0 auto;
  width: 100%;
}
.offset-1 {
  margin-left: 8.33333333%;
}
.offset-2 {
  margin-left: 16.66666667%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.33333333%;
}
.offset-5 {
  margin-left: 41.66666667%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.33333333%;
}
.offset-8 {
  margin-left: 66.66666667%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.33333333%;
}
.offset-11 {
  margin-left: 91.66666667%;
}
.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}
.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}
.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}
.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}
.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}
.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}
.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}
.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}
.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}
.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}
.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}
.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}
.table {
  --bs-table-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
  vertical-align: top;
  border-color: #dee2e6;
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}
.table > :not(:first-child) {
  border-top: 2px solid currentColor;
}
.caption-top {
  caption-side: top;
}
.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}
.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
}
.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}
.table-active {
  --bs-table-accent-bg: var(--bs-table-active-bg);
  color: var(--bs-table-active-color);
}
.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color);
}
.table-primary {
  --bs-table-bg: #cfe2ff;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #bacbe6;
}
.table-secondary {
  --bs-table-bg: #e2e3e5;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #cbccce;
}
.table-success {
  --bs-table-bg: #d1e7dd;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #bcd0c7;
}
.table-info {
  --bs-table-bg: #cff4fc;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #badce3;
}
.table-warning {
  --bs-table-bg: #fff3cd;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #e6dbb9;
}
.table-danger {
  --bs-table-bg: #f8d7da;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #dfc2c4;
}
.table-light {
  --bs-table-bg: #f8f9fa;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #dfe0e1;
}
.table-dark {
  --bs-table-bg: #212529;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: #fff;
  border-color: #373b3e;
}
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.form-label {
  margin-bottom: 0.5rem;
}
.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
}
.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
}
.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #6c757d;
}
.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 4px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: #333;
  background-color: #fff;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  height: 1.5em;
}
.form-control::-moz-placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem;
  color: #333;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: #dde0e3;
}
.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
          margin-inline-end: 0.75rem;
  color: #333;
  background-color: #e9ecef;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 1px;
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: #dde0e3;
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm {
  min-height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
}
.form-control-sm::-webkit-file-upload-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
          margin-inline-end: 0.5rem;
}
.form-control-lg {
  min-height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
}
.form-control-lg::-webkit-file-upload-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
}
textarea.form-control {
  min-height: calc(1.5em + 0.75rem + 2px);
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + 2px);
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + 2px);
}
.form-control-color {
  width: 3rem;
  height: auto;
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  height: 1.5em;
  border-radius: 4px;
}
.form-control-color::-webkit-color-swatch {
  height: 1.5em;
  border-radius: 4px;
}
.form-select {
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 3px);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: #e9ecef;
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #333;
}
.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}
.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}
.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}
.form-check-input {
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid rgba(0, 0, 0, 0.25);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-print-color-adjust: exact;
          color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  opacity: 0.5;
}
.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  width: 2em;
  margin-left: -2.5em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}
.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}
.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-appearance: none;
          appearance: none;
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -moz-appearance: none;
       appearance: none;
}
.form-range::-moz-range-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: #adb5bd;
}
.form-range:disabled::-moz-range-thumb {
  background-color: #adb5bd;
}
.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-select {
  height: calc(3.5rem + 2px);
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 1rem 0.75rem;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
.form-floating > .form-control {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control:-ms-input-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-ms-input-placeholder) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:not(:-ms-input-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus {
  z-index: 3;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 3;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 4px;
}
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}
.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #198754;
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(25, 135, 84, 0.9);
  border-radius: 0.25rem;
}
.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #198754;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #198754;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .form-select:valid, .form-select.is-valid {
  border-color: #198754;
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: #198754;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: #198754;
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: #198754;
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #198754;
}
.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
  z-index: 1;
}
.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus,
.was-validated .input-group .form-select:valid:focus,
.input-group .form-select.is-valid:focus {
  z-index: 3;
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #dc3545;
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}
.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: #dc3545;
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  padding-right: 4.125rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: #dc3545;
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: #dc3545;
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545;
}
.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
  z-index: 2;
}
.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus,
.was-validated .input-group .form-select:invalid:focus,
.input-group .form-select.is-invalid:focus {
  z-index: 3;
}
.btn {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn:hover {
  color: #212529;
}
.btn-check:focus + .btn, .btn:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.65;
}
.btn-primary {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-primary:hover {
  color: #fff;
  background-color: #0b5ed7;
  border-color: #0a58ca;
}
.btn-check:focus + .btn-primary, .btn-primary:focus {
  color: #fff;
  background-color: #0b5ed7;
  border-color: #0a58ca;
  box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0a58ca;
  border-color: #0a53be;
}
.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
.btn-primary:disabled, .btn-primary.disabled {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-secondary:hover {
  color: #fff;
  background-color: #5c636a;
  border-color: #565e64;
}
.btn-check:focus + .btn-secondary, .btn-secondary:focus {
  color: #fff;
  background-color: #5c636a;
  border-color: #565e64;
  box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #565e64;
  border-color: #51585e;
}
.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
}
.btn-secondary:disabled, .btn-secondary.disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-success {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-success:hover {
  color: #fff;
  background-color: #157347;
  border-color: #146c43;
}
.btn-check:focus + .btn-success, .btn-success:focus {
  color: #fff;
  background-color: #157347;
  border-color: #146c43;
  box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #146c43;
  border-color: #13653f;
}
.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
}
.btn-success:disabled, .btn-success.disabled {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-info {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-info:hover {
  color: #000;
  background-color: #31d2f2;
  border-color: #25cff2;
}
.btn-check:focus + .btn-info, .btn-info:focus {
  color: #000;
  background-color: #31d2f2;
  border-color: #25cff2;
  box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
  color: #000;
  background-color: #3dd5f3;
  border-color: #25cff2;
}
.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
}
.btn-info:disabled, .btn-info.disabled {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-warning {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-warning:hover {
  color: #000;
  background-color: #ffca2c;
  border-color: #ffc720;
}
.btn-check:focus + .btn-warning, .btn-warning:focus {
  color: #000;
  background-color: #ffca2c;
  border-color: #ffc720;
  box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
  color: #000;
  background-color: #ffcd39;
  border-color: #ffc720;
}
.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
}
.btn-warning:disabled, .btn-warning.disabled {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-danger:hover {
  color: #fff;
  background-color: #bb2d3b;
  border-color: #b02a37;
}
.btn-check:focus + .btn-danger, .btn-danger:focus {
  color: #fff;
  background-color: #bb2d3b;
  border-color: #b02a37;
  box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #b02a37;
  border-color: #a52834;
}
.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
}
.btn-danger:disabled, .btn-danger.disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-light {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-light:hover {
  color: #000;
  background-color: #f9fafb;
  border-color: #f9fafb;
}
.btn-check:focus + .btn-light, .btn-light:focus {
  color: #000;
  background-color: #f9fafb;
  border-color: #f9fafb;
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
  color: #000;
  background-color: #f9fafb;
  border-color: #f9fafb;
}
.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
.btn-light:disabled, .btn-light.disabled {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-dark {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-dark:hover {
  color: #fff;
  background-color: #1c1f23;
  border-color: #1a1e21;
}
.btn-check:focus + .btn-dark, .btn-dark:focus {
  color: #fff;
  background-color: #1c1f23;
  border-color: #1a1e21;
  box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1a1e21;
  border-color: #191c1f;
}
.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
}
.btn-dark:disabled, .btn-dark.disabled {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-outline-primary {
  color: #0d6efd;
  border-color: #0d6efd;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
}
.btn-outline-primary:disabled, .btn-outline-primary.disabled {
  color: #0d6efd;
  background-color: transparent;
}
.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
  box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
}
.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}
.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
}
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
  color: #6c757d;
  background-color: transparent;
}
.btn-outline-success {
  color: #198754;
  border-color: #198754;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
  color: #fff;
  background-color: #198754;
  border-color: #198754;
}
.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
.btn-outline-success:disabled, .btn-outline-success.disabled {
  color: #198754;
  background-color: transparent;
}
.btn-outline-info {
  color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-outline-info:hover {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
}
.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
  color: #000;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}
.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
}
.btn-outline-info:disabled, .btn-outline-info.disabled {
  color: #0dcaf0;
  background-color: transparent;
}
.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}
.btn-outline-warning:hover {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
}
.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
  color: #000;
  background-color: #ffc107;
  border-color: #ffc107;
}
.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
}
.btn-outline-warning:disabled, .btn-outline-warning.disabled {
  color: #ffc107;
  background-color: transparent;
}
.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}
.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
}
.btn-outline-danger:disabled, .btn-outline-danger.disabled {
  color: #dc3545;
  background-color: transparent;
}
.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-outline-light:hover {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
  box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
  color: #000;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}
.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
.btn-outline-light:disabled, .btn-outline-light.disabled {
  color: #f8f9fa;
  background-color: transparent;
}
.btn-outline-dark {
  color: #212529;
  border-color: #212529;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
  box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
  color: #fff;
  background-color: #212529;
  border-color: #212529;
}
.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
  box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
}
.btn-outline-dark:disabled, .btn-outline-dark.disabled {
  color: #212529;
  background-color: transparent;
}
.btn-link {
  font-weight: 400;
  color: #0d6efd;
  text-decoration: underline;
}
.btn-link:hover {
  color: #0a58ca;
}
.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
}
.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: 0.3rem;
}
.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0.2rem;
}
.fade {
  transition: opacity 0.15s linear;
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
.dropup,
.dropend,
.dropdown,
.dropstart {
  position: relative;
}
.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropdown-menu {
  position: absolute;
  z-index: 1000;
  display: none;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: 0.125rem;
}
.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}
.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}
.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}
.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}
.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #1e2125;
  background-color: #e9ecef;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #0d6efd;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  pointer-events: none;
  background-color: transparent;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-header {
  display: block;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap;
}
.dropdown-item-text {
  display: block;
  padding: 0.25rem 1rem;
  color: #212529;
}
.dropdown-menu-dark {
  color: #dee2e6;
  background-color: #343a40;
  border-color: rgba(0, 0, 0, 0.15);
}
.dropdown-menu-dark .dropdown-item {
  color: #dee2e6;
}
.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
}
.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
  color: #fff;
  background-color: #0d6efd;
}
.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
  color: #adb5bd;
}
.dropdown-menu-dark .dropdown-divider {
  border-color: rgba(0, 0, 0, 0.15);
}
.dropdown-menu-dark .dropdown-item-text {
  color: #dee2e6;
}
.dropdown-menu-dark .dropdown-header {
  color: #adb5bd;
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}
.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-link {
  display: block;
  padding: 0.5rem 1rem;
  color: #0d6efd;
  text-decoration: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.nav-link:hover, .nav-link:focus {
  color: #0a58ca;
}
.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}
.nav-tabs {
  border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-link {
  margin-bottom: -1px;
  background: none;
  border: 1px solid transparent;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
  isolation: isolate;
}
.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.25rem;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #0d6efd;
}
.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}
.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}
.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navbar-nav .dropdown-menu {
  position: static;
}
.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}
.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  transition: box-shadow 0.15s ease-in-out;
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 0.25rem;
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas {
  position: inherit;
  bottom: 0;
  z-index: 1000;
  flex-grow: 1;
  visibility: visible !important;
  background-color: transparent;
  border-right: 0;
  border-left: 0;
  transition: none;
  transform: none;
}
.navbar-expand .offcanvas-top,
.navbar-expand .offcanvas-bottom {
  height: auto;
  border-top: 0;
  border-bottom: 0;
}
.navbar-expand .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}
.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.55);
}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}
.navbar-light .navbar-nav .nav-link.disabled {
  color: rgba(0, 0, 0, 0.3);
}
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.55);
  border-color: rgba(0, 0, 0, 0.1);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.55);
}
.navbar-light .navbar-text a,
.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-dark .navbar-brand {
  color: #fff;
}
.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
  color: #fff;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.55);
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}
.navbar-dark .navbar-nav .nav-link.disabled {
  color: rgba(255, 255, 255, 0.25);
}
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.55);
  border-color: rgba(255, 255, 255, 0.1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.55);
}
.navbar-dark .navbar-text a,
.navbar-dark .navbar-text a:hover,
.navbar-dark .navbar-text a:focus {
  color: #fff;
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}
.card-body {
  flex: 1 1 auto;
  padding: 1rem 1rem;
}
.card-title {
  margin-bottom: 0.5rem;
}
.card-subtitle {
  margin-top: -0.25rem;
  margin-bottom: 0;
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link + .card-link {
  margin-left: 1rem;
}
.card-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
.card-footer {
  padding: 0.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}
.card-header-tabs {
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
  margin-left: -0.5rem;
  border-bottom: 0;
}
.card-header-pills {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1rem;
  border-radius: calc(0.25rem - 1px);
}
.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}
.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card-group > .card {
  margin-bottom: 0.75rem;
}
.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  background-color: #fff;
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}
.accordion-button:not(.collapsed) {
  color: #0c63e4;
  background-color: #e7f1ff;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}
.accordion-button::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.25rem;
  transition: transform 0.2s ease-in-out;
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.accordion-header {
  margin-bottom: 0;
}
.accordion-item {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.accordion-item:first-of-type {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.accordion-body {
  padding: 1rem 1.25rem;
}
.accordion-flush .accordion-collapse {
  border-width: 0;
}
.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button {
  border-radius: 0;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0;
  margin-bottom: 1rem;
  list-style: none;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: #6c757d;
}
.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
}
.page-link {
  position: relative;
  display: block;
  color: #0d6efd;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #dee2e6;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.page-link:hover {
  z-index: 2;
  color: #0a58ca;
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.page-link:focus {
  z-index: 3;
  color: #0a58ca;
  background-color: #e9ecef;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.page-item:not(:first-child) .page-link {
  margin-left: -1px;
}
.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
  border-color: #dee2e6;
}
.page-link {
  padding: 0.375rem 0.75rem;
}
.page-item:first-child .page-link {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}
.badge {
  display: inline-block;
  padding: 0.35em 0.65em;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.alert {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 700;
}
.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}
.alert-primary {
  color: #084298;
  background-color: #cfe2ff;
  border-color: #b6d4fe;
}
.alert-primary .alert-link {
  color: #06357a;
}
.alert-secondary {
  color: #41464b;
  background-color: #e2e3e5;
  border-color: #d3d6d8;
}
.alert-secondary .alert-link {
  color: #34383c;
}
.alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}
.alert-success .alert-link {
  color: #0c4128;
}
.alert-info {
  color: #055160;
  background-color: #cff4fc;
  border-color: #b6effb;
}
.alert-info .alert-link {
  color: #04414d;
}
.alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}
.alert-warning .alert-link {
  color: #523e02;
}
.alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}
.alert-danger .alert-link {
  color: #6a1a21;
}
.alert-light {
  color: #636464;
  background-color: #fefefe;
  border-color: #fdfdfe;
}
.alert-light .alert-link {
  color: #4f5050;
}
.alert-dark {
  color: #141619;
  background-color: #d3d3d4;
  border-color: #bcbebf;
}
.alert-dark .alert-link {
  color: #101214;
}
@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #0d6efd;
  transition: width 0.6s ease;
}
.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}
.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}
.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > li::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}
.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #495057;
  text-decoration: none;
  background-color: #f8f9fa;
}
.list-group-item-action:active {
  color: #212529;
  background-color: #e9ecef;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  color: #212529;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #6c757d;
  pointer-events: none;
  background-color: #fff;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}
.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}
.list-group-item-primary {
  color: #084298;
  background-color: #cfe2ff;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #084298;
  background-color: #bacbe6;
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: #084298;
  border-color: #084298;
}
.list-group-item-secondary {
  color: #41464b;
  background-color: #e2e3e5;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #41464b;
  background-color: #cbccce;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: #41464b;
  border-color: #41464b;
}
.list-group-item-success {
  color: #0f5132;
  background-color: #d1e7dd;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #0f5132;
  background-color: #bcd0c7;
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: #0f5132;
  border-color: #0f5132;
}
.list-group-item-info {
  color: #055160;
  background-color: #cff4fc;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #055160;
  background-color: #badce3;
}
.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: #055160;
  border-color: #055160;
}
.list-group-item-warning {
  color: #664d03;
  background-color: #fff3cd;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #664d03;
  background-color: #e6dbb9;
}
.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: #664d03;
  border-color: #664d03;
}
.list-group-item-danger {
  color: #842029;
  background-color: #f8d7da;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #842029;
  background-color: #dfc2c4;
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: #842029;
  border-color: #842029;
}
.list-group-item-light {
  color: #636464;
  background-color: #fefefe;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #636464;
  background-color: #e5e5e5;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #636464;
  border-color: #636464;
}
.list-group-item-dark {
  color: #141619;
  background-color: #d3d3d4;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #141619;
  background-color: #bebebf;
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: #141619;
  border-color: #141619;
}
.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.25rem;
  opacity: 0.5;
}
.btn-close:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}
.btn-close:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  opacity: 1;
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  opacity: 0.25;
}
.btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%);
}
.toast {
  width: 350px;
  max-width: 100%;
  font-size: 0.875rem;
  pointer-events: auto;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}
.toast-container {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast-header {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.toast-header .btn-close {
  margin-right: -0.375rem;
  margin-left: 0.75rem;
}
.toast-body {
  padding: 0.75rem;
  word-wrap: break-word;
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1055;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}
.modal-dialog-scrollable {
  height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}
.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
}
.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}
.modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.25rem;
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.tooltip {
  position: absolute;
  z-index: 1080;
  display: block;
  margin: 0;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .tooltip-arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: 0;
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}
.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}
.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: 0;
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}
.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}
.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}
.popover {
  position: absolute;
  top: 0;
  left: 0 /* rtl:ignore */;
  z-index: 1070;
  display: block;
  max-width: 276px;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}
.popover .popover-arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-0.5rem - 1px);
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-0.5rem - 1px);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f0f0f0;
}
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}
.popover-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f0f0f0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.popover-header:empty {
  display: none;
}
.popover-body {
  padding: 1rem 1rem;
  color: #212529;
}
.carousel {
  position: relative;
}
.carousel.pointer-event {
  touch-action: pan-y;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}
/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}
/* rtl:end:ignore */
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}
/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
.carousel-indicators .active {
  opacity: 1;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}
.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}
.carousel-dark .carousel-caption {
  color: #000;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}
.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: 1045;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  visibility: hidden;
  background-color: #fff;
  background-clip: padding-box;
  outline: 0;
  transition: transform 0.3s ease-in-out;
}
.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}
.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
}
.offcanvas-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin-top: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
}
.offcanvas-title {
  margin-bottom: 0;
  line-height: 1.5;
}
.offcanvas-body {
  flex-grow: 1;
  padding: 1rem 1rem;
  overflow-y: auto;
}
.offcanvas-start {
  top: 0;
  left: 0;
  width: 400px;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateX(-100%);
}
.offcanvas-end {
  top: 0;
  right: 0;
  width: 400px;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateX(100%);
}
.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: 30vh;
  max-height: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateY(-100%);
}
.offcanvas-bottom {
  right: 0;
  left: 0;
  height: 30vh;
  max-height: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateY(100%);
}
.offcanvas.show {
  transform: none;
}
.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentColor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}
.placeholder-xs {
  min-height: 0.6em;
}
.placeholder-sm {
  min-height: 0.8em;
}
.placeholder-lg {
  min-height: 1.2em;
}
.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}
@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
          mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}
@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
            mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.link-primary {
  color: #0d6efd;
}
.link-primary:hover, .link-primary:focus {
  color: #0a58ca;
}
.link-secondary {
  color: #6c757d;
}
.link-secondary:hover, .link-secondary:focus {
  color: #565e64;
}
.link-success {
  color: #198754;
}
.link-success:hover, .link-success:focus {
  color: #146c43;
}
.link-info {
  color: #0dcaf0;
}
.link-info:hover, .link-info:focus {
  color: #3dd5f3;
}
.link-warning {
  color: #ffc107;
}
.link-warning:hover, .link-warning:focus {
  color: #ffcd39;
}
.link-danger {
  color: #dc3545;
}
.link-danger:hover, .link-danger:focus {
  color: #b02a37;
}
.link-light {
  color: #f8f9fa;
}
.link-light:hover, .link-light:focus {
  color: #f9fafb;
}
.link-dark {
  color: #212529;
}
.link-dark:hover, .link-dark:focus {
  color: #1a1e21;
}
.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}
.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}
.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}
.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}
.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vr {
  display: inline-block;
  align-self: stretch;
  width: 1px;
  min-height: 1em;
  background-color: currentColor;
  opacity: 0.25;
}
.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}
.float-start {
  float: left !important;
}
.float-end {
  float: right !important;
}
.float-none {
  float: none !important;
}
.opacity-0 {
  opacity: 0 !important;
}
.opacity-25 {
  opacity: 0.25 !important;
}
.opacity-50 {
  opacity: 0.5 !important;
}
.opacity-75 {
  opacity: 0.75 !important;
}
.opacity-100 {
  opacity: 1 !important;
}
.overflow-auto {
  overflow: auto !important;
}
.overflow-hidden {
  overflow: hidden !important;
}
.overflow-visible {
  overflow: visible !important;
}
.overflow-scroll {
  overflow: scroll !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-grid {
  display: grid !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-none {
  display: none !important;
}
.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
.shadow-none {
  box-shadow: none !important;
}
.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: sticky !important;
}
.top-0 {
  top: 0 !important;
}
.top-50 {
  top: 50% !important;
}
.top-100 {
  top: 100% !important;
}
.bottom-0 {
  bottom: 0 !important;
}
.bottom-50 {
  bottom: 50% !important;
}
.bottom-100 {
  bottom: 100% !important;
}
.start-0 {
  left: 0 !important;
}
.start-50 {
  left: 50% !important;
}
.start-100 {
  left: 100% !important;
}
.end-0 {
  right: 0 !important;
}
.end-50 {
  right: 50% !important;
}
.end-100 {
  right: 100% !important;
}
.translate-middle {
  transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
  transform: translateX(-50%) !important;
}
.translate-middle-y {
  transform: translateY(-50%) !important;
}
.border {
  border: 1px solid #dee2e6 !important;
}
.border-0 {
  border: 0 !important;
}
.border-top {
  border-top: 1px solid #dee2e6 !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-end {
  border-right: 1px solid #dee2e6 !important;
}
.border-end-0 {
  border-right: 0 !important;
}
.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-start {
  border-left: 1px solid #dee2e6 !important;
}
.border-start-0 {
  border-left: 0 !important;
}
.border-primary {
  border-color: #0d6efd !important;
}
.border-secondary {
  border-color: #6c757d !important;
}
.border-success {
  border-color: #198754 !important;
}
.border-info {
  border-color: #0dcaf0 !important;
}
.border-warning {
  border-color: #ffc107 !important;
}
.border-danger {
  border-color: #dc3545 !important;
}
.border-light {
  border-color: #f8f9fa !important;
}
.border-dark {
  border-color: #212529 !important;
}
.border-white {
  border-color: #fff !important;
}
.border-1 {
  border-width: 1px !important;
}
.border-2 {
  border-width: 2px !important;
}
.border-3 {
  border-width: 3px !important;
}
.border-4 {
  border-width: 4px !important;
}
.border-5 {
  border-width: 5px !important;
}
.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.vw-100 {
  width: 100vw !important;
}
.min-vw-100 {
  min-width: 100vw !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mh-100 {
  max-height: 100% !important;
}
.vh-100 {
  height: 100vh !important;
}
.min-vh-100 {
  min-height: 100vh !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.gap-0 {
  gap: 0 !important;
}
.gap-1 {
  gap: 0.25rem !important;
}
.gap-2 {
  gap: 0.5rem !important;
}
.gap-3 {
  gap: 1rem !important;
}
.gap-4 {
  gap: 1.5rem !important;
}
.gap-5 {
  gap: 3rem !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
.order-first {
  order: -1 !important;
}
.order-0 {
  order: 0 !important;
}
.order-1 {
  order: 1 !important;
}
.order-2 {
  order: 2 !important;
}
.order-3 {
  order: 3 !important;
}
.order-4 {
  order: 4 !important;
}
.order-5 {
  order: 5 !important;
}
.order-last {
  order: 6 !important;
}
.m-0 {
  margin: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.m-3 {
  margin: 1rem !important;
}
.m-4 {
  margin: 1.5rem !important;
}
.m-5 {
  margin: 3rem !important;
}
.m-auto {
  margin: auto !important;
}
.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}
.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}
.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}
.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}
.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}
.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}
.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}
.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mt-1 {
  margin-top: 0.25rem !important;
}
.mt-2 {
  margin-top: 0.5rem !important;
}
.mt-3 {
  margin-top: 1rem !important;
}
.mt-4 {
  margin-top: 1.5rem !important;
}
.mt-5 {
  margin-top: 3rem !important;
}
.mt-auto {
  margin-top: auto !important;
}
.me-0 {
  margin-right: 0 !important;
}
.me-1 {
  margin-right: 0.25rem !important;
}
.me-2 {
  margin-right: 0.5rem !important;
}
.me-3 {
  margin-right: 1rem !important;
}
.me-4 {
  margin-right: 1.5rem !important;
}
.me-5 {
  margin-right: 3rem !important;
}
.me-auto {
  margin-right: auto !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 0.25rem !important;
}
.mb-2 {
  margin-bottom: 0.5rem !important;
}
.mb-3 {
  margin-bottom: 1rem !important;
}
.mb-4 {
  margin-bottom: 1.5rem !important;
}
.mb-5 {
  margin-bottom: 3rem !important;
}
.mb-auto {
  margin-bottom: auto !important;
}
.ms-0 {
  margin-left: 0 !important;
}
.ms-1 {
  margin-left: 0.25rem !important;
}
.ms-2 {
  margin-left: 0.5rem !important;
}
.ms-3 {
  margin-left: 1rem !important;
}
.ms-4 {
  margin-left: 1.5rem !important;
}
.ms-5 {
  margin-left: 3rem !important;
}
.ms-auto {
  margin-left: auto !important;
}
.p-0 {
  padding: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.p-3 {
  padding: 1rem !important;
}
.p-4 {
  padding: 1.5rem !important;
}
.p-5 {
  padding: 3rem !important;
}
.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}
.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}
.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}
.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}
.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pt-1 {
  padding-top: 0.25rem !important;
}
.pt-2 {
  padding-top: 0.5rem !important;
}
.pt-3 {
  padding-top: 1rem !important;
}
.pt-4 {
  padding-top: 1.5rem !important;
}
.pt-5 {
  padding-top: 3rem !important;
}
.pe-0 {
  padding-right: 0 !important;
}
.pe-1 {
  padding-right: 0.25rem !important;
}
.pe-2 {
  padding-right: 0.5rem !important;
}
.pe-3 {
  padding-right: 1rem !important;
}
.pe-4 {
  padding-right: 1.5rem !important;
}
.pe-5 {
  padding-right: 3rem !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pb-1 {
  padding-bottom: 0.25rem !important;
}
.pb-2 {
  padding-bottom: 0.5rem !important;
}
.pb-3 {
  padding-bottom: 1rem !important;
}
.pb-4 {
  padding-bottom: 1.5rem !important;
}
.pb-5 {
  padding-bottom: 3rem !important;
}
.ps-0 {
  padding-left: 0 !important;
}
.ps-1 {
  padding-left: 0.25rem !important;
}
.ps-2 {
  padding-left: 0.5rem !important;
}
.ps-3 {
  padding-left: 1rem !important;
}
.ps-4 {
  padding-left: 1.5rem !important;
}
.ps-5 {
  padding-left: 3rem !important;
}
.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}
.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}
.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}
.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}
.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}
.fs-5 {
  font-size: 1.25rem !important;
}
.fs-6 {
  font-size: 1rem !important;
}
.fst-italic {
  font-style: italic !important;
}
.fst-normal {
  font-style: normal !important;
}
.fw-light {
  font-weight: 300 !important;
}
.fw-lighter {
  font-weight: lighter !important;
}
.fw-normal {
  font-weight: 400 !important;
}
.fw-bold {
  font-weight: 700 !important;
}
.fw-bolder {
  font-weight: bolder !important;
}
.lh-1 {
  line-height: 1 !important;
}
.lh-sm {
  line-height: 1.25 !important;
}
.lh-base {
  line-height: 1.5 !important;
}
.lh-lg {
  line-height: 2 !important;
}
.text-start {
  text-align: left !important;
}
.text-end {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-decoration-none {
  text-decoration: none !important;
}
.text-decoration-underline {
  text-decoration: underline !important;
}
.text-decoration-line-through {
  text-decoration: line-through !important;
}
.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}
.text-wrap {
  white-space: normal !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}
/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}
.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}
.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}
.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}
.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}
.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}
.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}
.text-muted {
  --bs-text-opacity: 1;
  color: #6c757d !important;
}
.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}
.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}
.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}
.text-opacity-25 {
  --bs-text-opacity: 0.25;
}
.text-opacity-50 {
  --bs-text-opacity: 0.5;
}
.text-opacity-75 {
  --bs-text-opacity: 0.75;
}
.text-opacity-100 {
  --bs-text-opacity: 1;
}
.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}
.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}
.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}
.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}
.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}
.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}
.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}
.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}
.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}
.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}
.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}
.bg-opacity-100 {
  --bs-bg-opacity: 1;
}
.bg-gradient {
  background-image: var(--bs-gradient) !important;
}
.user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
      -ms-user-select: all !important;
          user-select: all !important;
}
.user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important;
}
.user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important;
}
.pe-none {
  pointer-events: none !important;
}
.pe-auto {
  pointer-events: auto !important;
}
.rounded {
  border-radius: 0.25rem !important;
}
.rounded-0 {
  border-radius: 0 !important;
}
.rounded-1 {
  border-radius: 0.2rem !important;
}
.rounded-2 {
  border-radius: 0.25rem !important;
}
.rounded-3 {
  border-radius: 0.3rem !important;
}
.rounded-circle {
  border-radius: 50% !important;
}
.rounded-pill {
  border-radius: 50rem !important;
}
.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}
.rounded-end {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}
.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}
.rounded-start {
  border-bottom-left-radius: 0.25rem !important;
  border-top-left-radius: 0.25rem !important;
}
.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}
/*
アニメーションkeyframes

_animation.scss

定義mixin：<br>
@mixin fadeIn<br>
@mixin fadeOut<br>

<br>
定義CSS：<br>
@keyframes fadeIn<br>
@keyframes fadeOut<br>
.bg-load-overlay
*/
@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.bg-load-overlay {
  background: rgba(255, 255, 255, 0.4);
  box-sizing: border-box;
  position: fixed;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: space-around;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2147483647;
  opacity: 1;
}
/*
波紋アニメーション

丸ボタンに一重波紋の輪を発生させるアニメーションです。お気に入り登録時のボタンアニメーションとして使用しています（EC-PACK7・リーデル）
*/
@keyframes animeHamon {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.7);
    opacity: 0;
  }
}
/*
ブリンクアニメーション

背景色が変化するアニメーションです。
「選択してください」を促すアナウンス用です（リーデル）
*/
@keyframes animeHelpBlink {
  0% {
    background-color: #fff;
    color: #f26161;
  }
  100% {
    background-color: #f26161;
    color: #fff;
  }
}
/*
ボタン

_btn.scss
*/
/*
ボタンひな形

* @mixin _btn($color, $background, $border)
*/
/*
インラインボタン

* @mixin btn-default
* @mixin btn-action
* @mixin btn-cancel
* @mixin btn-primary
*/
/*
ブロックボタン

* @mixin blockBtn-default
* @mixin blockBtn-action
* @mixin blockBtn-cancel
* @mixin blockBtn-primary
*/
/*
User select

ボタンひな形（@mixin _btn()）から使用されてるmixinで、テキストを選択不可にしている様子。
ほかからの使用は無い様子。

* @mixin user-select
*/
/*
リンクボタン

使用箇所は無い様子

* @mixin linkBtn
*/
/*
Clearfix

_clearfix.scss
*/
/*
フォーム

_form.scss
*/
/*
プレースホルダー

* @mixin placeholder
*/
/*
フォームリセット

* @mixin forms-reset
*/
/*
@mixin forms-reset {
  input[type="search"] {
    //@include box-sizing(border-box);
  }

  // Position radios and checkboxes better
  input[type="radio"],
  input[type="checkbox"] {
    margin: 4px 0 0;
    margin-top: 1px \9; // IE8-9
    line-height: normal;
  }

  input[type="file"] {
    display: block;
  }

  // Make range inputs behave like textual form controls
  input[type="range"] {
    display: block;
    width: 100%;
  }

  // Make multiple select elements height not fixed
  select[multiple],
  select[size] {
    height: auto;
  }

  // Focus for file, radio, and checkbox
  input[type="file"]:focus,
  input[type="radio"]:focus,
  input[type="checkbox"]:focus {
    @include tab-focus;
  }
}
*/
/*
フォームコントールひな形

* @mixin _form-control
*/
/*
メディア

_media.scss
*/
/*
メディアクエリ

* @mixin media_desktop

EC-CUBE4標準ではモバイルファースト（スマートフォン）でスタイリングしたのち適宜、デスクトップ用にメディアクエリで上書きする形でスタイリングしている様子ですが、
当テンプレートではタブレットも加えた3デバイスのスタイリングしています。

スタイリングの仕方はケースバイケースで、上書きや汚染が起きないようメディアクエリの内容を範囲を大きくとってがっつり分離してスタイリングする場合や、
一度、デスクトップ用（あるいはスマートフォン用）のスタイリングを施してから、適宜上書き用のメディアクエリを書く場合もあります。

メディアクエリに関しては、後からの変更・修正の際に「ごちゃごちゃしてどこをいじればいいのか判りづらい」コードにならないよう気を付けたいと思っています。
ですので上書きの多用は避けたいとしております、が、上書きスタイリングのほうがコードがすっきりするならそのようにします。ケースバイケースです。

* スマホ：320px～767px
* タブレット：768px～1279px
* PC：1280px以上

※デバイスごとのブレイクポイントは_variables.scssにて変数で設定。
*/
/*
コンテナ

コンテナブロックのmax-width、左右余白などブロックスタイルの共通定義。
各セクションの左右余白の統一感はコンテナによってもたらされます。

※ブラウザのフル幅で背景を敷いたデザインも可能とするため、`.ec-layoutRole__contents`側のmax-widthを解除し、こちらの「コンテナ」でmax-widthを定義。
コンテナを適用するセクションでmax-widthを変更したい場合は、そのコンテナで随時上書きします。

※コンテナの左右余白については、コンテナを「box-sizing:content-box;」としておいてから、希望のままの値でmax-widthを指定し、デバイスごとの左右余白を定義。

EC-CUBE4ではマイページ用に調整されたコンテナがありましたが、当テンプレートではマイページも汎用コンテナでスタイリングしています。

* @mixin container
*/
/*
コンテナの上下マージン

サイト内各コンテナの余白に統一感を持たせるために用意したmixinで、単純に上下余白を定義した内容となります。
コンテナのデザインレイアウトによっては上書き調整される事を想定しています。
*/
/*
コンテナの上下マージンをpaddingで実装する場合

コンテナが背景色を持っている場合はこちらを使用します。
*/
/*
コンテナの上下マージン（タイト）

上記コンテナマージンはデザイン的に余白が大き目に取られるセクション間で使用される場面を想定していますが（デスクトップ時）、
もう少し狭めの余白を設ける小ブロックもありますのでここで定義しておきます。
*/
/*
コンテナの上下マージン（thin）

ブラウザ枠の左右に設けた余白と同じサイズの上下余白を指定するのが「containerMarginTight」ですが、
それよりも上下余白を少し狭めにしたい場合の余白@mixinになります。
小さいパーツ等の上下余白は適当な余白で「1rem～1.5rem」のようにすることが多いですが、
パーツによっては厳格に余白の統一性、またメンテナンス性の維持が必要かと思い用意しました。
すべての小パーツではないですが、順次、こちらを利用して整理することを勧めます。
*/
/*
ECCUBE 固有のスタイルユーティリティ

_projects.scss

* @mixin borderTop
* @mixin borderBottom
* @mixin reset_link

borderTop, borderBottomは、サイト内で一貫したborder線を敷くために使います。
一応、引数で色も指定できますが、一貫とは別種のborderなら直接borderプロパティでスタイリングしたほうがいいとは思います。

reset_linkは、.ec-link（リンクテキストの表現）をリセットさせる目的のmixinでしょうか。当テンプレートではその場その場で、
同等のスタイリングをしていますので、結果このmixinは使用していません。
*/
/* 以下はEC-CUBE4.2.0標準に記述されているコードですが、当テンプレートでは「_form.scss」に準備したものがあるのでこちらは使用しません。
@mixin form-control-focus($color: $input-border-focus) {
  $color-rgba: rgba(red($color), green($color), blue($color), .6);
  &:focus {
    border-color: $color;
    outline: 0;
    @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px $color-rgba);
  }
}
*/
/* 以下はEC-CUBE4.2.0標準に記述されているコードですが、当テンプレートでは当「_project.scss」に準備したものがあるのでこちらは使用しません。
@mixin tab-focus() {
  // WebKit-specific. Other browsers will keep their default outline style.
  // (Initially tried to also force default via `outline: initial`,
  // but that seems to erroneously remove the outline in Firefox altogether.)
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
*/
/* 以下はEC-CUBE4.2.0標準に記述されているコードですが、当テンプレートでは使用していません。
@mixin opacity($opacity) {
  $opacity-ie: ($opacity * 100);  // IE8 filter
  filter: alpha(opacity=$opacity-ie);
  opacity: $opacity;
}
*/
/*
追加mixin

当テンプレート用にmixinを追加しています。
*/
/*
offGridを無効にするmixin

テンプレート上、レイアウト的に幅狭め（offGird）を無効にしたい場合に適用

※offGrid自体の機能は崩さずそのまま残しておきたいので、部分的に挙動を無効化するmixinを用意。
※offGrid自体の挙動は変更していないが、タブレット時の挙動は別途追加している。
↓
結果的にoffGridの挙動を変更する形にした
*/
/*
画像マウスオーバー

マウスオーバーで画像を拡大・明度上げします。
mixinはa要素に適用してください。
*/
/*
画像マウスオーバー（カラーオーバーレイ）

マウスオーバーで画像にカラーフィルターをオーバーレイします。
mixinはa要素に適用してください。

* $color: フィルターの色
*/
/*
横並びメニューのボタンに短い区切り線を入れる

マイページのメニュー部分に使用しています。

* $length: ボーダー長さ（%のみ）
* $color: ボーダー色
*/
/*
商品一覧等の陳列レイアウト

商品一覧やお気に入り一覧など子アイテム（商品）を陳列レイアウト（縦横に並べる）スタイリングを施します。
横に配置する数、アイテム間の余白を引数で指定できます。

商品詳細の画像ビジュアルナビでも使用しています。

* $amount: 横に配置する数
* $gutter_W: アイテム間の左右余白
* $gutter_h: アイテム間の上下余白
*/
/*
閉じる・削除ボタン

ヘッダーのカート状況のカート削除ボタン、マイぺージお気に入り削除ボタンなど、画像の上に被さるタイプの丸型の削除系ボタンです。

* $size ボタン自体のサイズを指定
*/
/* EC4系スタイル
@mixin closeBtnCircle($size: 30px) {
  //border: solid 1px #c00;// チェック確認用

  &:after {
    font-family: "jeiafont";
    content: "\e918";

    display: block;
    width: $size;
    height: $size;
    line-height: $size;
    font-size: $size * 0.7;// 指定サイズに対してアイコンフォントサイズの割合

    text-align: center;
    border-radius: 50%;
    background-color: #fff;
    color: #333;
    border: solid 1px #aaa;
    box-sizing: border-box;
    cursor: pointer;

    transform: translate3d(0,0,0);
    transition: .2s;
  }

  &:hover:after {
    text-decoration: none;
    //transform: rotate(-180deg);
    transform: translate3d(0,1px,0);
    box-shadow: inset 0 2px 2px hsla(0, 0%, 0%, 0.3);
  }

  &:hover {
    text-decoration: none;
  }
}
*/
/*
閉じるボタン

* $size    ボタン自体のサイズを指定
* $color   アイコン文字色
* $bgColor ボタン背景色
*/
/*
テキストhoverで下線が伸びるエフェクト

* $color: 下線の色
*/
/*
ユーザビリティ タブフォーカス

タブフォーカスのデザインをスタイリングします。
*/
/*
ブラウザハック IE11
*/
/*
商品アイテム マウスオーバーアクション

商品名称や価格表示を包含する商品情報要素を最初に非表示にしておき、商品画像にマウスオーバーしたときに商品情報をオーバーレイ表示させるスタイリングです。

商品一覧ページで使用している商品アイテム「.ec-productItemRole」（_13.2.shelf.scss）を上書きスタイリングとなりますので、
商品一覧と同じ商品アイテム「.ec-productItemRole」の中でのみ動作します。
デスクトップ時のみ適用されるようにメディアクエリの中で「.ec-productItemRole」要素に対してこのmixinを適用してください。
*/
/*
折り畳み非表示
*/
/*
@mixin チェックボックスに下背景を敷く

「.ec-checkbox」によってアイコンフォントを使用してチェックボックスを生成していますが（_3.2.inputMisc.scss）、
未チェック状態のアイコンフォントは背景のない枠線のみのフォントなので背景が透ける形になります。
ほとんどは問題ありませんがデザイン的に背景に白地を敷きたい場面があります。その場合はこの@mixinを「label」要素に対して指定してください。

* $size:   アイコンフォントは「:before」で生成されますがそのアイコンフォトのサイズと同じ値を指定（実際には2px小さくしてスタイリングします）
* $bg:     下に敷く背景色
* $radius: 角丸の大きさ
*/
/*
ベース
*/
body {
  background: transparent;
  background-color: var(--clrBodyBg, #fff);
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--clrDefault, #000);
}
html, body {
  overscroll-behavior-y: none;
}
a,
a:not([href]):not([class]) {
  color: var(--clrLinkText, #0066C0);
  text-decoration: none;
  transform: 0.3s;
  cursor: pointer;
}
a:hover,
a:not([href]):not([class]):hover {
  text-decoration: none;
  color: inherit;
}
a:focus,
a:not([href]):not([class]):focus {
  text-decoration: none;
  color: inherit;
}
a[href^="tel:"] {
  color: inherit;
}
pre {
  /*
  background-color: transparent;
  border: none;
  padding: 16px 0;
  */
}
p {
  margin-bottom: 1em;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: var(--clrDefaultDark, #000);
  line-height: 1.2;
  font-weight: 500;
}
.mini {
  font-size: 0.866em;
}
img {
  width: 100%;
  height: auto;
}
label {
  margin: 0;
  font-weight: normal;
}
ul, ol, dl, dd, dt {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
/*
表組み（シンプル）

table要素、dl要素による表組レイアウト

商品詳細ページのフリーエリアや利用ガイド等の記事の中で差し込まれてくるシンプルな表組みについて基本スタイリングします。

特商や会員登録フォームといったコンテンツの表組みレイアウトは、_1.3.list.scssにて定義しています。
*/
/*
.table_basic 
*/
table.table_basic {
  width: 100%;
  table-layout: fixed;
  font-size: inherit;
  margin: 2rem 0;
}
table.table_basic tr {
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
table.table_basic tr:first-of-type {
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
table.table_basic tr:nth-child(odd) {
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
table.table_basic th {
  padding: 0.75em;
  width: 12em;
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal;
}
table.table_basic td {
  padding: 0.75em;
  width: auto;
  vertical-align: top;
}
table.table_basic thead tr {
  background-color: transparent !important;
  border-top: none !important;
}
table.table_basic thead tr th, table.table_basic thead tr td {
  font-size: 0.933rem;
  font-weight: 500;
}
table.table_basic thead tr th:before, table.table_basic thead tr td:before {
  content: "〇";
}
/* .caption */
.caption {
  margin: 0;
  padding: 0.5em 0;
  font-size: 0.933rem;
  color: var(--clrDefaultThin, #676464);
}
/*
dl要素をtable風に
*/
.dl_table {
  width: 100%;
  font-size: inherit;
  margin: 2rem 0;
}
.caption + .dl_table {
  margin-top: 0;
}
.dl_table > dl {
  display: flex;
  margin: 0;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
.dl_table > dl:nth-child(odd) {
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.dl_table > dl:first-child {
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
.dl_table > dl.head {
  background-color: transparent;
  border-top: none;
}
.dl_table > dl.head > dt, .dl_table > dl.head > dd {
  font-size: 0.933rem;
}
.dl_table > dl.head > dt:before, .dl_table > dl.head > dd:before {
  content: "〇";
}
.dl_table > dl > dt {
  margin: 0;
  padding: 0.75em;
  min-width: 14em;
  color: var(--clrDefaultThin, #676464);
  font-weight: 500;
}
.dl_table > dl > dd {
  margin: 0;
  padding: 0.75em;
  color: var(--clrDefaultThin, #676464);
  font-weight: normal;
}
/*
dl要素レスポンシブ（タブレット・デスクトップ時はtable風で、スマホ時はdtとddを改行して表示）
*/
/*
dl要素レスポンシブ亜種：特商の表記

「.dl_table.rwd」の亜種となります。むやみに亜種の乱用は避けたい所ですがデザイン絵柄が違う部分はやむなしです。
デザイン絵柄をコーディング仕様に合わせてもらうか、コーディング亜種で実装するを良しとするかは将来に検討ください。
*/
.dl_table.type_order [class^=ec-list] > dd {
  line-height: 1.25;
}
/*
dl要素レスポンシブ亜種：お届けについて

「.dl_table.rwd」の亜種となります。むやみに亜種の乱用は避けたい所ですがデザイン絵柄が違う部分はやむなしです。
デザイン絵柄をコーディング仕様に合わせてもらうか、コーディング亜種で実装するを良しとするかは将来に検討ください。

「.dl_table」はdtとddの2つ要素を想定してスタイリングしていますが、こちらは3要素となっています。
リーデル向けにスタイリングしたものになります。スマホ時とタブレット以上でかなり違うデザインとなっています。
*/
/*
ページスクロールでブロック要素をふわりと表示（共通エフェクト）

ページスクロールしてブロック領域が表示領域に入ったら、ふわりと表示させるためのエフェクトclassが付与されます（jeia_function.js）
準備としてHTML側にて、エフェクト出現をかけたいブロック要素にclass「.appearEffect」を記述しておきます。
エフェクトのスタイリングは基本、共通エフェクトとなりますが、個別のスタイリングにしたい場合はclass「.appearEffectCustom」で指定しておきます。
表示領域に入ったときに、共通エフェクトなら「.is-appear」を、個別スタイリングの場合は「.is-appearCustom」が付与されます。
ここでは共通エフェクトをスタイリングしています。（個別エフェクトはその適用要素のscssにてスタイリングを行います。）
*/
.appearEffect {
  transform: translate3d(0, 75px, 0);
  opacity: 0;
  transition: 1s;
}
.appearEffect.is-appear {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
/*
ページスクロールで商品画像をエフェクト効果しながら表示

ページスクロールして商品画像等のアイテムが表示領域に入ったら、エフェクト効果しながら表示させるためのエフェクトclassが付与されます（jeia_function.js）
準備としてHTML側にて、エフェクト出現をかけたい要素（class「.image」や「.pic」など）にclass「.appearItem」を記述しておきます。
表示領域に入ったときに、エフェクトclass「.is-appear」が付与されます。

事前にスクリプトにより対象画像（img要素）に対して「.appearItemImage」要素で包括されるようにしています。
この包括要素に対してanimationがスタイリングされます。
包括要素を入れずにimg要素に対して直接アニメーションさせてしまうと、表示完了後にhoverアクション（transformを使った拡大表示等）が効かない事があります。
表示完了後に.appearItemを外したり、アニメーションを破棄すれば解決しますが、iOSでは解決しきらない事があったので包括要素を付ける仕様としました。

エフェクト効果のスタイリングは以下のようにパーツに分けてそれぞれにアニメーションさせています。

* パーツA：対象画像本体
* パーツB：グレーのマスク要素
* パーツC：点滅するロゴ

*/
.appearItem {
  position: relative;
  overflow: hidden;
  visibility: hidden;
  /* パーツA: 対象画像本体 */
  /* パーツB: マスク */
  /* パーツC: ロゴ */
  /* アクティブ化表示状態 */
}
.appearItem .appearItemImage {
  transform: translate3d(0, -100%, 0);
}
.appearItem:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #eee;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: translate3d(0, -100%, 0);
}
.appearItem:after {
  content: "";
  display: block;
  background: url(../img/common/sitelogo.png) no-repeat center center;
  background-size: contain;
  width: 50%;
  height: 50%;
  position: absolute;
  top: 25%;
  left: 25%;
  z-index: 2;
}
.appearItem.is-appear {
  visibility: visible;
  /* パーツA: 商品画像本体 */
  /* パーツB: マスク */
  /* パーツC: ロゴ */
}
.appearItem.is-appear .appearItemImage {
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
  animation-delay: 0.3s;
  /*長くとると動きが増える*/
  animation-name: appearAnimation_a;
}
@keyframes appearAnimation_a {
  0% {
    transform: translate3d(0, -100%, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.appearItem.is-appear:before {
  visibility: hidden;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
  animation-name: appearAnimation_b;
}
@keyframes appearAnimation_b {
  /* [0%] IN→ [30%] Stay [70%] OUT→ [100%] */
  0% {
    visibility: visible;
    transform: translate3d(0, -100%, 0);
  }
  30% {
    transform: translate3d(0, 0, 0);
  }
  70% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(0, 100%, 0);
  }
}
.appearItem.is-appear:after {
  visibility: hidden;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-name: appearAnimation_c;
}
@keyframes appearAnimation_c {
  0% {
    opacity: 0;
    visibility: visible;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
  80% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/*
動画埋め込みコンテナ
*/
/*
.ec-movie {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;

  iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
*/
.ec-movie iframe {
  aspect-ratio: 1920/1080;
  width: 100%;
  height: auto;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
/*
【開発】デバッグ・テスト用
*/
.ec-debugRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
メモ書き
*/
.memo {
  /*
  display: none;
  */
  max-width: 1280px;
  margin: 0px auto;
  border: solid 1px #d00;
  padding: 0.5em;
  font-size: 13px;
  box-sizing: border-box;
  position: relative;
  opacity: 0.7;
}
.memo:before {
  content: "MEMO";
  display: block;
  background-color: #d00;
  color: #fff;
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1;
  position: absolute;
  bottom: 100%;
  left: -1px;
}
/*
デバッグ表示
*/
.debug {
  /*
  display: none;
  */
  max-width: 1280px;
  margin: 20px auto;
  border: solid 1px #2190ff;
  padding: 0.5em;
  font-size: 13px;
  box-sizing: border-box;
  position: relative;
  opacity: 0.7;
}
.debug:before {
  content: "DEBUG";
  display: block;
  background-color: #2190ff;
  color: #fff;
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1;
  position: absolute;
  bottom: 100%;
  left: -1px;
}
/*
フォントファミリー
*/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
button, input, select, textarea {
  font-family: "Noto Sans JP", sans-serif;
}
/*
記事スタイル

ブログ記事（トピックス）等において「記事」としての基本スタイリングをまとめます。
WYSIWYG使用といったユーザ投稿記事に対して、一定のスタイリングを提供する目的です。
各タイトルh要素、段落p要素、リストul,ol要素、引用blockquote要素等、最低限のHTML構造だけで記事としてまとまるスタイリングになります。

実際のブログ記事（トピックス）等のWYSIWYGテンプレート用スタイリングはこの「記事スタイル」を基準にしてスタイリングを重ねていく形になります。
ブログ記事（トピックス）のスタイリングは「_23.3.blog.scss」にて行います。
*/
.ec-article h2, .ec-article .h2, .ec-article h3, .ec-article .h3, .ec-article h4, .ec-article .h4, .ec-article h5, .ec-article .h5, .ec-article h6, .ec-article .h6 {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 1rem;
}
.ec-article h2, .ec-article .h2 {
  font-size: min(1.666rem, 5.3vw);
  margin-top: 1.5em;
}
.ec-article h3, .ec-article .h3 {
  font-size: min(1.466rem, 5.1vw);
  margin-top: 1.5em;
}
.ec-article h4, .ec-article .h4, .ec-article h5, .ec-article .h5, .ec-article h6, .ec-article .h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.16rem, 4vw);
  margin-top: 1em;
}
.ec-article p {
  font-size: 1rem;
  line-height: 1.7;
  margin: 1rem 0;
  text-align: justify;
}
.ec-article ul {
  font-size: 1rem;
  list-style-type: disc;
  margin: 1.5rem 0;
  padding-left: 2rem;
}
.ec-article ul li {
  padding-left: 0.25em;
  margin: 0.5em 0;
}
.ec-article ol {
  font-size: 1rem;
  list-style-type: decimal;
  margin: 1.5rem 0;
  padding-left: 2rem;
}
.ec-article ol li {
  padding-left: 0.5em;
  margin: 0.5em 0;
}
.ec-article img {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
}
.ec-article .ec-list, .ec-article .ec-list-paren,
.ec-article .ec-list-rice,
.ec-article .ec-list-disc,
.ec-article .ec-list-decimal,
.ec-article .ec-list-icon {
  margin: 1.5rem 0;
}
.ec-article .ec-kakomi, .ec-article .ec-stickout, .ec-article .ec-amikake {
  margin: 1.5rem 0;
  border: solid 1px #C8C8C8;
  padding: 1.5em;
}
.ec-article .ec-kakomi > *:first-child, .ec-article .ec-stickout > *:first-child, .ec-article .ec-amikake > *:first-child {
  margin-top: 0;
}
.ec-article .ec-kakomi > *:last-child, .ec-article .ec-stickout > *:last-child, .ec-article .ec-amikake > *:last-child {
  margin-bottom: 0;
}
.ec-article .ec-amikake {
  border: none;
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.ec-article .ec-stickout {
  border: none;
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.ec-article blockquote {
  font-size: 1rem;
  border-left: solid 5px #eee;
  padding: 0 2rem;
  margin: 1.5rem 0;
}
.ec-article hr {
  margin: 2rem 0;
  border: 0;
  height: 0;
  background: none;
  opacity: 1;
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-article [class^=ec-blockDetailBtn] {
  margin-top: 1.5rem;
  background-color: #fff;
}
/*
見出し

ページ内で見出しとして機能する要素のスタイル群です。
*/
/*
商品詳細ページ見出し（未使用）

EC-CUBE4では商品詳細ページのみ見出しに使用されているスタイルですが、当テンプレートでは使用していません。
*/
.ec-headingTitle {
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: normal;
  color: #525263;
}
/*
ページヘッダ（h1見出し）

各種ページで用いられるページヘッダのデザインです。

EC-CUBE4のHTML構成でページヘッダ見出しは「コンテナ」の中に含まれており、コンテナには左右余白が定義されています。<br>
当テンプレートではh1見出しには背景色を敷いたデザインですが、スマホ・タブレット時ではブラウザ幅フルにフィットさせたいので、
これをネガティブマージンを用いて左右余白を相殺することでスタイリングしています。

もし背景色を敷かないデザインに変更するのであればネガティブマージンによる余白相殺と余白の再定義は不要です。

h1要素に下マージンを持たせて、h1タイトル部とページコンテンツ本体との余白としています。

h1要素にclass名は不要です。「新着情報詳細ページ」のようにh1要素は避けたいが同じスタイルの見出しを付けたい場合は「div.ec-pageHeader__title」としてください。
h1要素、div要素のどちらの場合でもその中にspan要素を設けてタイトルテキストを入れてください。span要素はデザインによっては必要になることがあるためです。
*/
.ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
  background-color: var(--clrPageHeaderBg, transparent);
  color: var(--clrPageHeaderText, #000);
  text-align: center;
  font-weight: 500;
}
/*
サブ見出し

EC4系では未使用の様子ですが、EC-PACK7ではマイページのサブ見出しで使用しています。
*/
.ec-heading {
  font-size: 1.2rem;
  font-weight: 400;
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
/*
サブ見出し(太字)

文字主体のページで用いられるサブ見出しの太字のスタイルです。

EC-CUBE4では「プライバシーポリシー」の太字見出しで使用されているスタイルですが、当テンプレートでは規約条文用のコンポーネントを用意しましたので、
結果、使用箇所なしとなります。
*/
.ec-heading-bold {
  font-weight: 1.1rem;
  font-weight: 500;
  margin-bottom: 1em;
}
/*
背景付き見出し

h2の見出し要素を装飾するスタイリングです。<br>
h3以降の使用箇所はありません。使う場面があればh3以降も追加スタイリングしてください。
*/
.ec-rectHeading {
  margin: 0;
  margin-bottom: 1rem;
}
.ec-rectHeading h2, .ec-rectHeading .h2 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: normal;
  background-color: var(--clrRectHeadingBg, #f3f1eb);
  color: var(--clrRectHeadingText, #222);
  padding: 0.75em 0.75em;
}
/*
メッセージ見出し

ユーザが行った操作に対する、完了報告やエラー表示のページで使用される見出しのスタイルです。

EC-PACK7では、h1タイトルの下に位置するテキストで多用しています。
*/
.ec-reportHeading {
  background-color: transparent;
  font-size: 1.066rem;
  line-height: 1.625;
  text-align: center;
}
.ec-reportHeading h2, .ec-reportHeading .h2 {
  margin: 0;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
  text-align: inherit;
}
/*
セクション見出し

トップページで使用されているセクションの見出しのスタイルです。
EC4系では「_12.4.heading.scss」に記述されていますが、EC-PACK7ではこちらに移動させました。
*/
.ec-secHeading {
  text-align: center;
  line-height: 1.2;
  margin-top: 0 !important;
}
.ec-secHeading h2, .ec-secHeading .h2 {
  margin: 0;
}
.ec-secHeading .ec-secHeading__en {
  font-family: "Noto Serif JP", serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: #BCA46B;
  margin: 0 0 0.5em;
}
.ec-secHeading .ec-secHeading__ja {
  font-size: 1.133rem;
  font-weight: 700;
}
/*
クーポン発行
*/
.ec-issueCoupon {
  margin: 1em 0;
}
.ec-issueCoupon .coupon_head {
  font-size: 1.066rem;
  line-height: 1.625;
  text-align: center;
}
.ec-issueCoupon .coupon_body {
  background-color: var(--clrBodyToneBg, #F3F3F3);
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 4px;
  text-align: center;
  margin: 1rem 0;
  padding: 1rem;
}
.ec-issueCoupon .coupon_body .code {
  font-size: 2rem;
  font-weight: 700;
}
.ec-issueCoupon .coupon_body .comment {
  font-size: 0.933rem;
  margin-top: 0.5em;
}
/*
文字装飾

文字装飾をするためのスタイル群です。
*/
/*
テキストリンク

テキストリンクのスタイルです。

※ログインページ（Mypage,Shopping）では上書き調整しておりますのでこちらのスタイリングは反映されない形です。
*/
.ec-link {
  text-decoration: none;
  cursor: pointer;
}
.ec-link:hover {
  text-decoration: none;
}
/*
テキスト（太字）

テキストを太くするためのスタイルです。
*/
.ec-font-bold {
  font-weight: 500;
}
/*
テキスト（グレー）（未使用）

テキストをグレーにするためのスタイルです。
*/
.ec-color-grey {
  color: gray;
}
/*
テキスト（赤）

テキストを赤にするためのスタイルです。
*/
.ec-color-red {
  color: #e2251f;
}
.ec-color-accent {
  color: #e2251f;
  font-weight: 700;
}
.ec-font-attention {
  color: #e2251f;
}
/*
フォントサイズ（未使用）

フォントサイズを指定するためのスタイルです。
EC-CUBE4ではカートブロックで使用しているようですが、当テンプレートでは未使用です。
*/
/*
.ec-font-size-1 {
  font-size: 12px;
}

.ec-font-size-2 {
  font-size: 14px;
}

.ec-font-size-3 {
  font-size: 16px;
}

.ec-font-size-4 {
  font-size: 20px;
}

.ec-font-size-5 {
  font-size: 32px;
}

.ec-font-size-6 {
  font-size: 40px;
}
*/
/*
テキスト水平位置

テキストをセンタリングするためのスタイルです。
*/
.ec-text-ac {
  text-align: center;
}
/*
価格テキスト

価格表示を構成するスタイリングです。
構成としては、「通常価格」「販売価格」のラベルテキスト、価格部分、「税込」のテキスト、になります。
ここでは各テキスト部位をインラインで配置するスタイリングに留めています。
各テキスト部位ごとのフォントサイズ調整は、「_13.2.shelf.scss」「_14.1.product.scss」側にてスタイリングします。
「販売価格」と「通常価格」で価格部分のフォントサイズは変化をつけたいが、ラベルと税込みテキストは合わせておきたい等の要望はあるかと思い、
そのようにしたほうが調整がしやすいと判断しました。
*/
.ec-price {
  line-height: 1;
  /* 「通常価格」「販売価格」のラベルテキスト */
  /* 価格本体 */
  /* 「税込」のテキスト */
}
.ec-price .ec-price__label {
  display: inline-block;
  vertical-align: baseline;
  margin-right: 0.5em;
}
.ec-price .ec-price__price {
  display: inline-block;
  vertical-align: baseline;
}
.ec-price .ec-price__tax {
  display: inline-block;
  vertical-align: baseline;
}
/*
テキストの位置

テキストや、入れ子にしたインライン要素を「左揃え」「中央揃え」「右揃え」に設定することができます。
*/
.text-left {
  text-align: left !important;
}
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
/*
メッセージテキスト

ユーザが行った操作に対する、完了報告やエラー表示のページで使用されるテキストのスタイルです。
*/
.ec-reportDescription {
  font-size: 1.066rem;
  line-height: 1.5;
  max-width: 40em;
  margin: 1rem auto;
  text-align: left;
}
/*
テキスト下部のスペース

テキストの下に余白を追加することができます。
*/
.ec-para-normal {
  margin-bottom: 1em;
}
/*
箇条書きスタイル

利用ガイド等で使用する箇条書きスタイルです。各リストマークのパターンを用意しています。
箇条書きスタイルはdl要素に対して適用してください。

HTML側の「.ec-list」要素に「style="--listmark:'★'"」のように追加することで独自の文字を指定できるようにしています。
*/
/* 箇条書き：ベーシック */
.ec-list, .ec-list-icon, .ec-list-paren, .ec-list-decimal, .ec-list-disc, .ec-list-rice {
  margin: 1em 0;
}
.ec-list > dt, .ec-list-icon > dt, .ec-list-paren > dt, .ec-list-decimal > dt, .ec-list-disc > dt, .ec-list-rice > dt {
  font-weight: 700;
}
.ec-list > dd, .ec-list-icon > dd, .ec-list-paren > dd, .ec-list-decimal > dd, .ec-list-disc > dd, .ec-list-rice > dd {
  line-height: 1.8;
  position: relative;
  padding-left: 1.3em;
  /* マークとテキストの間隔調整 */
  margin-top: 0.5em;
  /*
  .ec-list {
    margin: 0;

    > dd {
      margin-top: .5em;
    }
  }
  */
}
.ec-list > dd:before, .ec-list-icon > dd:before, .ec-list-paren > dd:before, .ec-list-decimal > dd:before, .ec-list-disc > dd:before, .ec-list-rice > dd:before {
  content: var(--listmark, "・");
  position: absolute;
  top: 0;
  left: 0;
}
.ec-list > dd > .pic, .ec-list-icon > dd > .pic, .ec-list-paren > dd > .pic, .ec-list-decimal > dd > .pic, .ec-list-disc > dd > .pic, .ec-list-rice > dd > .pic {
  margin-left: -1.3em;
}
.ec-list.mini, .mini.ec-list-icon, .mini.ec-list-paren, .mini.ec-list-decimal, .mini.ec-list-disc, .mini.ec-list-rice {
  font-size: 0.86em;
}
.ec-list.mini > dd, .mini.ec-list-icon > dd, .mini.ec-list-paren > dd, .mini.ec-list-decimal > dd, .mini.ec-list-disc > dd, .mini.ec-list-rice > dd {
  margin-top: 0.5em;
}
/*
:root {
  --mark-text: "￥";
}
[data-foo] {
  //--mark-text: attr(data-foo);
  //--mark-text: "#";
  --color: attr(data-foo color);
  &:after {
    content: "TEST";
    color: var(--color);
  }


    dd:before {
      //content: var(--mark-text);
      content: "Q";
      color: var(--color);
    }
}
*/
/* 箇条書き：「※」スタイル */
.ec-list-rice > dd:before {
  content: "※";
}
/* 箇条書き：「〇」スタイル */
.ec-list-disc > dd:before {
  content: "〇";
  color: var(--clrDefaultThin, #676464);
}
/* 箇条書き：連番スタイル */
.ec-list-decimal > dd {
  counter-increment: note;
}
.ec-list-decimal > dd:before {
  content: counter(note) ".";
}
/* 箇条書き：連番カッコ付スタイル */
.ec-list-paren > dd {
  counter-increment: note;
}
.ec-list-paren > dd:before {
  content: "(" counter(note) ")";
}
/* 箇条書き：アイコンスタイル */
.ec-list-icon > dd:before {
  font-family: "jeiafont";
  content: "\e91a";
  color: #aaa;
}
/*
リスト

シンプルなリストを構成するためのスタイル群です。
*/
/*
水平定義リスト

シンプルな定義リストのスタイルを定義します。

dl要素を用いてコーディングします。
*/
.ec-definitions, .ec-definitions--soft {
  margin: 0.5em 0;
  display: block;
}
.ec-definitions dt, .ec-definitions--soft dt, .ec-definitions dd, .ec-definitions--soft dd {
  display: inline-block;
  margin: 0;
}
.ec-definitions dt, .ec-definitions--soft dt {
  font-weight: 500;
  min-width: 8em;
  margin-right: 1em;
}
.ec-definitions--soft dt {
  font-weight: normal;
}
/*
定義リスト

線が添えられた定義リストのスタイルを定義します。（dlリスト）

フォーム入力ページや、「当サイトについて」「特商表記」など、タイトルと本文のあるコンテンツのスタイル。

メモ：
dtの中では「.ec-label」とセットで使われるのが常のようですが、これはフォームページの名残ともとれますが（違うかもしれませんが）、
「.ec-label」という名前上、フォーム周りのタイトルという先入観が拭えませんのでいささか気になりますが、当定義リストのdt要素が、
あくまでレイアウト役割のみという要素で割り切るなら、見た目のスタイルを当てている「.ec-label」は汎用的ならラベル要素とも取れます。
（ただ、_3.3.form.scssの中で定義されているのでやはり本来はフォームラベルの目的でコーディングされたような気がします）

EC-PACK用にスタイルを追加、調整（「>」を追加 ←EC4系テンプレートには入れていないがEC-PACK7では必要となるのかも？）
*/
.ec-borderedDefs > dl {
  width: 100%;
  margin: 0;
}
.ec-borderedDefs > dl > dt {
  font-weight: 700;
  display: block;
}
.ec-borderedDefs > dl > dd {
  display: block;
  padding: 1rem 0;
}
.ec-borderedDefs > dl > dd:nth-of-type(n+2) {
  margin-top: -1.3rem;
}
.ec-borderedDefs > dl:nth-of-type(n+2) {
  margin-bottom: 0 !important;
}
.ec-borderedDefs > dl.withBorder {
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
  margin-top: 1rem;
  padding-top: 2rem;
}
.ec-borderedDefs p {
  font-size: 0.933rem;
}
.ec-borderedDefs .caution_grey {
  color: gray;
  font-size: 0.8rem;
}
.ec-borderedDefs .subComment {
  margin: 0 0 1rem;
  font-size: 0.8em;
  line-height: 1.5;
}
.ec-borderedDefs.horizon > dl {
  grid-column: span 2;
  margin: 0 !important;
  padding: 1rem 0;
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-borderedDefs.horizon > dl > dd:nth-of-type(n+2):before {
  content: "（";
}
.ec-borderedDefs.horizon > dl > dd:nth-of-type(n+2):after {
  content: "）";
}
/*
ボーダーリスト

線が添えられたリストを表示します。

使用場面はショッピングページのカート商品内容部分で、その中身は商品画像と商品詳細の「.ec-imageGrid」（_5.2.layout.scss）が入ります。

「.ec-borderedLis」も「.ec-imageGrid」もそのパターンでしか使われていない様子なので、
まとめて一つのコンポーネントにしても良いかとも思いますが、今のところはそのままにします。

それともう一点、
「.ec-imageGrid」の使用場面は先のショッピングページの商品内容と、マイページ注文履歴詳細の商品内容とになりますが、
ショッピングページではこれをリスト化（ul li要素）して括っているのが「.ec-borderedList」であるのに対して、
注文履歴詳細のほうではそのリストが含まれておりません。

どちらもさらにその外側で「.ec-orderDelivery__item」で括っているのですが、さらに、
ショッピングページ側では、「.ec-orderDelivery__item」は1つのみでその中にリストのul要素があり、商品ごとにli要素で
括っているのに対して、注文履歴詳細はリストが無く、商品ごとに「.ec-orderDelivery__item」で括っているという違いがあります。

意味合い的にもスタイリングにしても同一なものなので統一してもらいたい所ですが、今のところはCSSで統一させるに留めます。

まず、「.ec-orderDelivery__item」には何もスタイリングしなようにしておき、注文履歴詳細ページのみに働くように
「.ec-orderDelivery__item」に「.ec-borderedList」と同じ形のスタイリングを施しています。

〇ショッピングページ側
構成（※スタイルガイドページでは崩れますのでscssファイルでご覧ください）
.ec-orderDelivery__item
  > ul.ec-borderedList
    > li > .ec-imageGrid
    > li > .ec-imageGrid
    > li > .ec-imageGrid


〇注文履歴詳細ページ側
構成（※スタイルガイドページでは崩れますのでscssファイルでご覧ください）
.ec-orderDelivery__item > .ec-imageGrid
.ec-orderDelivery__item > .ec-imageGrid
.ec-orderDelivery__item > .ec-imageGrid
*/
.ec-borderedList {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-borderedList li {
  padding: 10px 0;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
/*
注文履歴詳細用
本来は_15.2.order.scssにてスタイリングすべきですが（※これも厳密にいえばショッピングとマイページコンテンツとで分けておくべきかとも思いますが）、
上記のメモ書きの理由により、混雑しないようにこちらで「.ec-borderedList」と合わせてスタイリングします。
*/
/*
body#page_mypage_history {
  .ec-orderDelivery__item {
    padding: 10px 0;
    @include borderTop;
    @include borderBottom;

    & + .ec-orderDelivery__item {
      border-top: none;
    }
  }
}
*/
/*
ボタン生成

mixinを利用して各パターンのボタンを生成します。
*/
/*
EC-PACK7
基本のブロックボタン生成に、EC-PACK7スタイルを追加適用するための@mixinになります。
*/
/*
通常ボタン（インラインボタン）

インラインの要素としてボタンを定義出来ます。
*/
.ec-inlineBtn {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnDefaultText, #fff);
  background-color: var(--clrBtnDefaultBg, #242930);
  border-color: var(--clrBtnDefaultBg, #444);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  font-size: 0.9rem;
}
.ec-inlineBtn:focus, .ec-inlineBtn.focus {
  color: var(--clrBtnDefaultText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-inlineBtn:hover {
  text-decoration: none;
  color: var(--clrBtnDefaultText, #fff);
  filter: brightness(1.1);
}
.ec-inlineBtn.disabled, .ec-inlineBtn[disabled], fieldset[disabled] .ec-inlineBtn {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-inlineBtn.disabled:hover, .ec-inlineBtn.disabled:focus, .ec-inlineBtn.disabled.focus, .ec-inlineBtn[disabled]:hover, .ec-inlineBtn[disabled]:focus, .ec-inlineBtn[disabled].focus, fieldset[disabled] .ec-inlineBtn:hover, fieldset[disabled] .ec-inlineBtn:focus, fieldset[disabled] .ec-inlineBtn.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-inlineBtn .badge {
  color: var(--clrBtnDefaultBg, #242930);
  background-color: var(--clrBtnDefaultText, #fff);
}
.ec-inlineBtn--primary {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: #fff;
  background-color: #5CB1B1;
  border-color: #5CB1B1;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}
.ec-inlineBtn--primary:focus, .ec-inlineBtn--primary.focus {
  color: #fff;
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-inlineBtn--primary:hover {
  text-decoration: none;
  color: #fff;
  filter: brightness(1.1);
}
.ec-inlineBtn--primary.disabled, .ec-inlineBtn--primary[disabled], fieldset[disabled] .ec-inlineBtn--primary {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-inlineBtn--primary.disabled:hover, .ec-inlineBtn--primary.disabled:focus, .ec-inlineBtn--primary.disabled.focus, .ec-inlineBtn--primary[disabled]:hover, .ec-inlineBtn--primary[disabled]:focus, .ec-inlineBtn--primary[disabled].focus, fieldset[disabled] .ec-inlineBtn--primary:hover, fieldset[disabled] .ec-inlineBtn--primary:focus, fieldset[disabled] .ec-inlineBtn--primary.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-inlineBtn--primary .badge {
  color: #5CB1B1;
  background-color: #fff;
}
.ec-inlineBtn--action {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}
.ec-inlineBtn--action:focus, .ec-inlineBtn--action.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-inlineBtn--action:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-inlineBtn--action.disabled, .ec-inlineBtn--action[disabled], fieldset[disabled] .ec-inlineBtn--action {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-inlineBtn--action.disabled:hover, .ec-inlineBtn--action.disabled:focus, .ec-inlineBtn--action.disabled.focus, .ec-inlineBtn--action[disabled]:hover, .ec-inlineBtn--action[disabled]:focus, .ec-inlineBtn--action[disabled].focus, fieldset[disabled] .ec-inlineBtn--action:hover, fieldset[disabled] .ec-inlineBtn--action:focus, fieldset[disabled] .ec-inlineBtn--action.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-inlineBtn--action .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-inlineBtn--action:hover {
  filter: brightness(1.1);
}
.ec-inlineBtn--cancel {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: #040404;
  background-color: #fff;
  border-color: #9A9A9A;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
}
.ec-inlineBtn--cancel:focus, .ec-inlineBtn--cancel.focus {
  color: #040404;
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-inlineBtn--cancel:hover {
  text-decoration: none;
  color: #040404;
  filter: brightness(1.1);
}
.ec-inlineBtn--cancel.disabled, .ec-inlineBtn--cancel[disabled], fieldset[disabled] .ec-inlineBtn--cancel {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-inlineBtn--cancel.disabled:hover, .ec-inlineBtn--cancel.disabled:focus, .ec-inlineBtn--cancel.disabled.focus, .ec-inlineBtn--cancel[disabled]:hover, .ec-inlineBtn--cancel[disabled]:focus, .ec-inlineBtn--cancel[disabled].focus, fieldset[disabled] .ec-inlineBtn--cancel:hover, fieldset[disabled] .ec-inlineBtn--cancel:focus, fieldset[disabled] .ec-inlineBtn--cancel.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-inlineBtn--cancel .badge {
  color: #fff;
  background-color: #040404;
}
.ec-inlineBtn--cancel:hover {
  filter: brightness(0.9);
}
/*
ブロックボタン（全幅）

ボタンサイズは em で指定するため、テキストサイズの変更でボタンサイズを変更できます。
*/
.ec-blockBtn {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnDefaultText, #fff);
  background-color: var(--clrBtnDefaultBg, #242930);
  border-color: var(--clrBtnDefaultBg, #444);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn:focus, .ec-blockBtn.focus {
  color: var(--clrBtnDefaultText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn:hover {
  text-decoration: none;
  color: var(--clrBtnDefaultText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn.disabled, .ec-blockBtn[disabled], fieldset[disabled] .ec-blockBtn {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn.disabled:hover, .ec-blockBtn.disabled:focus, .ec-blockBtn.disabled.focus, .ec-blockBtn[disabled]:hover, .ec-blockBtn[disabled]:focus, .ec-blockBtn[disabled].focus, fieldset[disabled] .ec-blockBtn:hover, fieldset[disabled] .ec-blockBtn:focus, fieldset[disabled] .ec-blockBtn.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn .badge {
  color: var(--clrBtnDefaultBg, #242930);
  background-color: var(--clrBtnDefaultText, #fff);
}
.ec-blockBtn--primary {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: #fff;
  background-color: #5CB1B1;
  border-color: #5CB1B1;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
}
.ec-blockBtn--primary:focus, .ec-blockBtn--primary.focus {
  color: #fff;
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--primary:hover {
  text-decoration: none;
  color: #fff;
  filter: brightness(1.1);
}
.ec-blockBtn--primary.disabled, .ec-blockBtn--primary[disabled], fieldset[disabled] .ec-blockBtn--primary {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--primary.disabled:hover, .ec-blockBtn--primary.disabled:focus, .ec-blockBtn--primary.disabled.focus, .ec-blockBtn--primary[disabled]:hover, .ec-blockBtn--primary[disabled]:focus, .ec-blockBtn--primary[disabled].focus, fieldset[disabled] .ec-blockBtn--primary:hover, fieldset[disabled] .ec-blockBtn--primary:focus, fieldset[disabled] .ec-blockBtn--primary.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--primary .badge {
  color: #5CB1B1;
  background-color: #fff;
}
.ec-blockBtn--action {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
}
.ec-blockBtn--action:focus, .ec-blockBtn--action.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--action:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn--action.disabled, .ec-blockBtn--action[disabled], fieldset[disabled] .ec-blockBtn--action {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--action.disabled:hover, .ec-blockBtn--action.disabled:focus, .ec-blockBtn--action.disabled.focus, .ec-blockBtn--action[disabled]:hover, .ec-blockBtn--action[disabled]:focus, .ec-blockBtn--action[disabled].focus, fieldset[disabled] .ec-blockBtn--action:hover, fieldset[disabled] .ec-blockBtn--action:focus, fieldset[disabled] .ec-blockBtn--action.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--action .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-blockBtn--action:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--cancel {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: #040404;
  background-color: #fff;
  border-color: #9A9A9A;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  position: relative;
}
.ec-blockBtn--cancel:focus, .ec-blockBtn--cancel.focus {
  color: #040404;
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--cancel:hover {
  text-decoration: none;
  color: #040404;
  filter: brightness(1.1);
}
.ec-blockBtn--cancel.disabled, .ec-blockBtn--cancel[disabled], fieldset[disabled] .ec-blockBtn--cancel {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--cancel.disabled:hover, .ec-blockBtn--cancel.disabled:focus, .ec-blockBtn--cancel.disabled.focus, .ec-blockBtn--cancel[disabled]:hover, .ec-blockBtn--cancel[disabled]:focus, .ec-blockBtn--cancel[disabled].focus, fieldset[disabled] .ec-blockBtn--cancel:hover, fieldset[disabled] .ec-blockBtn--cancel:focus, fieldset[disabled] .ec-blockBtn--cancel.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--cancel .badge {
  color: #fff;
  background-color: #040404;
}
.ec-blockBtn--cancel:before {
  font-family: "ecpfont";
  content: "\e91f";
  color: #919191;
  font-size: 1.25em;
  position: absolute;
  top: 0;
  left: 1.5em;
  transition: 0.3s;
}
.ec-blockBtn--cancel:hover {
  filter: brightness(0.9);
}
.ec-blockBtn--home {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: #040404;
  background-color: #fff;
  border-color: #9A9A9A;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  position: relative;
}
.ec-blockBtn--home:focus, .ec-blockBtn--home.focus {
  color: #040404;
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--home:hover {
  text-decoration: none;
  color: #040404;
  filter: brightness(1.1);
}
.ec-blockBtn--home.disabled, .ec-blockBtn--home[disabled], fieldset[disabled] .ec-blockBtn--home {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--home.disabled:hover, .ec-blockBtn--home.disabled:focus, .ec-blockBtn--home.disabled.focus, .ec-blockBtn--home[disabled]:hover, .ec-blockBtn--home[disabled]:focus, .ec-blockBtn--home[disabled].focus, fieldset[disabled] .ec-blockBtn--home:hover, fieldset[disabled] .ec-blockBtn--home:focus, fieldset[disabled] .ec-blockBtn--home.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--home .badge {
  color: #fff;
  background-color: #040404;
}
.ec-blockBtn--home:before {
  font-family: "ecpfont";
  content: "\e91f";
  color: #919191;
  font-size: 1.25em;
  position: absolute;
  top: 0;
  left: 1.5em;
  transition: 0.3s;
}
.ec-blockBtn--home:hover {
  filter: brightness(0.9);
}
.ec-blockBtn--home:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
  filter: none;
}
.ec-blockBtn--home:hover:before {
  color: inherit;
}
.ec-blockBtn--login {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  background-color: transparent;
  border-color: #B90A0F;
  color: #B90A0F;
  font-size: 1.066rem;
  position: relative;
}
.ec-blockBtn--login:focus, .ec-blockBtn--login.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--login:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn--login.disabled, .ec-blockBtn--login[disabled], fieldset[disabled] .ec-blockBtn--login {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--login.disabled:hover, .ec-blockBtn--login.disabled:focus, .ec-blockBtn--login.disabled.focus, .ec-blockBtn--login[disabled]:hover, .ec-blockBtn--login[disabled]:focus, .ec-blockBtn--login[disabled].focus, fieldset[disabled] .ec-blockBtn--login:hover, fieldset[disabled] .ec-blockBtn--login:focus, fieldset[disabled] .ec-blockBtn--login.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--login .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-blockBtn--login:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--login i.ecpfont {
  font-size: 1.8em;
  position: absolute;
  line-height: inherit;
  top: 0;
  left: 0.75em;
}
.ec-blockBtn--login:hover {
  background-color: #B90A0F;
  color: #fff;
  filter: none;
}
.ec-blockBtn--entry {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  background-color: #B90A0F;
  border-color: #B90A0F;
  color: #fff;
  font-size: 1.066rem;
  position: relative;
}
.ec-blockBtn--entry:focus, .ec-blockBtn--entry.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--entry:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn--entry.disabled, .ec-blockBtn--entry[disabled], fieldset[disabled] .ec-blockBtn--entry {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--entry.disabled:hover, .ec-blockBtn--entry.disabled:focus, .ec-blockBtn--entry.disabled.focus, .ec-blockBtn--entry[disabled]:hover, .ec-blockBtn--entry[disabled]:focus, .ec-blockBtn--entry[disabled].focus, fieldset[disabled] .ec-blockBtn--entry:hover, fieldset[disabled] .ec-blockBtn--entry:focus, fieldset[disabled] .ec-blockBtn--entry.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--entry .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-blockBtn--entry:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--entry i.ecpfont {
  font-size: 1.8em;
  position: absolute;
  line-height: inherit;
  top: 0;
  left: 1em;
}
.ec-blockBtn--guest {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  background-color: #343030;
  border-color: #343030;
  font-size: 1.066rem;
  height: 57px;
  line-height: 57px;
}
.ec-blockBtn--guest:focus, .ec-blockBtn--guest.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--guest:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn--guest.disabled, .ec-blockBtn--guest[disabled], fieldset[disabled] .ec-blockBtn--guest {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--guest.disabled:hover, .ec-blockBtn--guest.disabled:focus, .ec-blockBtn--guest.disabled.focus, .ec-blockBtn--guest[disabled]:hover, .ec-blockBtn--guest[disabled]:focus, .ec-blockBtn--guest[disabled].focus, fieldset[disabled] .ec-blockBtn--guest:hover, fieldset[disabled] .ec-blockBtn--guest:focus, fieldset[disabled] .ec-blockBtn--guest.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--guest .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-blockBtn--guest:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--guest:hover {
  background-color: #000;
  filter: none;
}
.ec-blockBtn--refusal {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.ec-blockBtn--refusal:focus, .ec-blockBtn--refusal.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--refusal:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn--refusal.disabled, .ec-blockBtn--refusal[disabled], fieldset[disabled] .ec-blockBtn--refusal {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--refusal.disabled:hover, .ec-blockBtn--refusal.disabled:focus, .ec-blockBtn--refusal.disabled.focus, .ec-blockBtn--refusal[disabled]:hover, .ec-blockBtn--refusal[disabled]:focus, .ec-blockBtn--refusal[disabled].focus, fieldset[disabled] .ec-blockBtn--refusal:hover, fieldset[disabled] .ec-blockBtn--refusal:focus, fieldset[disabled] .ec-blockBtn--refusal.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--refusal .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-blockBtn--refusal:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--refusal:hover {
  filter: none;
  background-color: #333;
  border-color: #333;
}
.ec-blockBtn--refusal_do {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: var(--clrBtnActionText, #fff);
  background-color: var(--clrBtnActionBg, #B90A0F);
  border-color: var(--clrBtnActionBg, #B90A0F);
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  display: block;
  width: 100%;
  height: 62px;
  line-height: 62px;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 62px;
  font-weight: 700;
  background-color: #fff;
  border-color: #000;
  color: #000;
}
.ec-blockBtn--refusal_do:focus, .ec-blockBtn--refusal_do.focus {
  color: var(--clrBtnActionText, #fff);
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-blockBtn--refusal_do:hover {
  text-decoration: none;
  color: var(--clrBtnActionText, #fff);
  filter: brightness(1.1);
}
.ec-blockBtn--refusal_do.disabled, .ec-blockBtn--refusal_do[disabled], fieldset[disabled] .ec-blockBtn--refusal_do {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-blockBtn--refusal_do.disabled:hover, .ec-blockBtn--refusal_do.disabled:focus, .ec-blockBtn--refusal_do.disabled.focus, .ec-blockBtn--refusal_do[disabled]:hover, .ec-blockBtn--refusal_do[disabled]:focus, .ec-blockBtn--refusal_do[disabled].focus, fieldset[disabled] .ec-blockBtn--refusal_do:hover, fieldset[disabled] .ec-blockBtn--refusal_do:focus, fieldset[disabled] .ec-blockBtn--refusal_do.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-blockBtn--refusal_do .badge {
  color: var(--clrBtnActionBg, #B90A0F);
  background-color: var(--clrBtnActionText, #fff);
}
.ec-blockBtn--refusal_do:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--refusal_do:hover {
  filter: none;
  background-color: #B90A0F;
  border-color: #B90A0F;
}
/*
カートインボタン

ボタンテキストの直前にアイコンが付くデザインです。
数量ボタンと横並びになるレイアウトを前提にしています。
*/
.ec-blockBtn--cartin {
  border: none;
  outline: none;
  padding: 0;
  display: grid;
  grid-template-columns: auto auto;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3rem;
  border-radius: 2em;
  background-color: var(--clrBtnCartinBg, #EA000E);
  color: var(--clrBtnCartinText, #fff);
  font-size: 0.866rem;
  font-weight: 700;
  transition: 0.3s;
}
.ec-blockBtn--cartin:before {
  font-family: "ecpfont";
  content: "\e901";
  font-size: 1.5em;
  font-weight: 500;
}
.ec-blockBtn--cartin:hover {
  filter: brightness(1.1);
}
.ec-blockBtn--cartin[disabled] {
  background-color: var(--clrBtnDisabledBg, #999);
  color: #fff;
  pointer-events: none;
}
/*
お気に入りボタン

お気に入りボタンのサイズは商品詳細ページの「カートイン枠（横一列）」に合わせて、$cartinRow-sizeで生成しています。

※EC-PACK7では使用していません（リーデルデザイン）
*/
.ec-blockBtn--favorite {
  display: block;
}
.ec-blockBtn--favorite i {
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  text-align: center;
  border-radius: 50%;
  background-color: #666;
  color: var(--clrBtnFavoriteText, #fff);
  transition: 0.2s;
  position: relative;
  /* ポップアップ */
}
.ec-blockBtn--favorite i:before {
  font-size: 1.5rem;
  line-height: 3.3rem;
}
.ec-blockBtn--favorite i span {
  position: absolute;
  bottom: calc(100% + 12px);
  left: calc(50% - 18px);
  display: block;
  padding: 0.75em 1em;
  background-color: #333;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  border-radius: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 10px, 0);
  transition: 0.2s;
}
.ec-blockBtn--favorite i span:after {
  content: "";
  width: 0;
  height: 0;
  border: solid 8px transparent;
  border-top-color: #333;
  position: absolute;
  top: 100%;
  left: 10px;
}
.ec-blockBtn--favorite i:hover {
  background-color: var(--clrBtnFavoriteBg, #f55);
}
.ec-blockBtn--favorite i:hover span {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.ec-blockBtn--favorite.added i {
  background-color: var(--clrBtnFavoriteBg, #f55);
}
/*
ユーティリティボタン

EC-PACK7：
商品詳細ページにて「お気に入り」「お問い合わせ」ボタンで使用しています。
お気に入りボタン登録・解除（Ajax処理）のスタイリングについては「_14.1.product.scss」にて
*/
.ec-utilBtn {
  display: flex;
  align-items: center;
  font-size: 1rem;
  color: inherit;
}
.ec-utilBtn > i {
  display: block;
  width: 2.2em;
  height: 2.2em;
  line-height: 2.2em !important;
  text-align: center;
  border-radius: 50%;
  background-color: transparent;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  color: #707070;
  transition: 0.3s;
}
.ec-utilBtn span {
  font-size: inherit;
  margin-left: 0.75em;
}
.ec-utilBtn:hover {
  color: inherit;
}
.ec-utilBtn:hover > i {
  background-color: var(--clrBorderColor, #D4D4D4);
}
/*
編集ボタン
※通常ボタン（インラインボタン）と同じ構造になります。その上で編集ボタンのスタイリングを加味しています。

EC-PACK7では普遍的な編集ボタンをスタイリングしておき、追加スタイリングで「編集」「削除」ボタンを作成しています。
*/
.ec-editBtn {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 0.6em 1em;
  font-size: 1.066rem;
  line-height: 1;
  border-radius: 0px;
  font-weight: normal;
  text-decoration: none;
  transition: 0.3s;
  color: #000;
  background-color: #fff;
  border-color: #ccc;
  /*
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: darken($background, 10%);
        border-color: darken($border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: $color;
      background-color: darken($background, 17%);
          border-color: darken($border, 25%);
    }
  }
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    background-image: none;
  }
  */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*
  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      @include tab-focus;
    }
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }
  */
  font-size: 0.933rem;
  padding: 0.75em 1.5em;
  background-color: #E2E2E2;
  border: none;
  border-radius: 2em;
}
.ec-editBtn:focus, .ec-editBtn.focus {
  color: #000;
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-editBtn:hover {
  text-decoration: none;
  color: #000;
  filter: brightness(1.1);
}
.ec-editBtn.disabled, .ec-editBtn[disabled], fieldset[disabled] .ec-editBtn {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
  cursor: not-allowed;
}
.ec-editBtn.disabled:hover, .ec-editBtn.disabled:focus, .ec-editBtn.disabled.focus, .ec-editBtn[disabled]:hover, .ec-editBtn[disabled]:focus, .ec-editBtn[disabled].focus, fieldset[disabled] .ec-editBtn:hover, fieldset[disabled] .ec-editBtn:focus, fieldset[disabled] .ec-editBtn.focus {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
.ec-editBtn .badge {
  color: #fff;
  background-color: #000;
}
.ec-editBtn:hover {
  filter: none;
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.ec-editBtn.edit, .ec-editBtn.delete {
  font-size: 0.8rem;
  padding: 0.75em 1em;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  background-color: transparent;
}
.ec-editBtn.edit:hover, .ec-editBtn.delete:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.ec-editBtn.edit:before, .ec-editBtn.delete:before {
  font-family: "ecpfont";
  font-size: 1.2em;
  margin-right: 0.35em;
}
.ec-editBtn.edit:before {
  content: "\e90e";
}
.ec-editBtn.delete:before {
  content: "\e921";
}
/*
詳細はこちらボタン
*/
.ec-blockDetailBtn, .ec-blockDetailBtn--right, .ec-blockDetailBtn--center, .ec-blockDetailBtn--thin {
  display: block;
  font-size: 0.933rem;
  width: 12.5em;
  height: 3em;
  line-height: 2.8em;
  border-radius: 3em;
  text-align: center;
  border: solid 1px #BCA46B;
  color: #BCA46B;
  padding: 0 1em 0 1.5em;
  transition: 0.3s;
}
.ec-blockDetailBtn span, .ec-blockDetailBtn--right span, .ec-blockDetailBtn--center span, .ec-blockDetailBtn--thin span {
  vertical-align: middle;
}
.ec-blockDetailBtn:after, .ec-blockDetailBtn--right:after, .ec-blockDetailBtn--center:after, .ec-blockDetailBtn--thin:after {
  font-family: "ecpfont";
  content: "\e91a";
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.25em;
  font-size: 1.4em;
}
.ec-blockDetailBtn:focus, .ec-blockDetailBtn--right:focus, .ec-blockDetailBtn--center:focus, .ec-blockDetailBtn--thin:focus {
  color: #BCA46B;
}
.ec-blockDetailBtn:hover, .ec-blockDetailBtn--right:hover, .ec-blockDetailBtn--center:hover, .ec-blockDetailBtn--thin:hover {
  text-decoration: none;
  background-color: #BCA46B;
  color: #fff;
}
.ec-blockDetailBtn--thin {
  min-width: 10.5em;
  height: 2em;
  line-height: 1.8em;
}
.ec-blockDetailBtn.under:after, .under.ec-blockDetailBtn--right:after, .under.ec-blockDetailBtn--center:after, .under.ec-blockDetailBtn--thin:after {
  transform: rotate(90deg);
}
.ec-blockDetailBtn.up:after, .up.ec-blockDetailBtn--right:after, .up.ec-blockDetailBtn--center:after, .up.ec-blockDetailBtn--thin:after {
  transform: rotate(-90deg);
}
/*
// スケルトン型（透過ボタン）
.ec-blockDetailBtn--skelton-blk {
  @extend .ec-blockDetailBtn;
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;

  &:hover {
    background-color: $siteThemeColor;
    color: #000;
  }
}
*/
/*
*/
.ec-blockDetailBtn--center {
  margin-left: auto;
  margin-right: auto;
}
.ec-blockDetailBtn--right {
  margin-left: auto;
  margin-right: 0;
}
/*
READ MOREボタン
*/
.ec-blockReadMoreBtn, .ec-blockReadMoreBtn--center {
  display: block;
  max-width: 150px;
  padding: 0.5em 0;
  margin: 1em 0;
  font-size: 15px;
  color: #000;
  line-height: 1;
  text-align: left;
  transition: 0.5s;
  position: relative;
}
.ec-blockReadMoreBtn:before, .ec-blockReadMoreBtn--center:before, .ec-blockReadMoreBtn:after, .ec-blockReadMoreBtn--center:after {
  content: "";
  display: block;
  background-color: #000;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: 0.3s;
}
.ec-blockReadMoreBtn:before, .ec-blockReadMoreBtn--center:before {
  width: 100%;
  height: 1px;
}
.ec-blockReadMoreBtn:after, .ec-blockReadMoreBtn--center:after {
  width: 12px;
  height: 1px;
  transform-origin: right bottom;
  transform: rotate(40deg);
}
.ec-blockReadMoreBtn:hover, .ec-blockReadMoreBtn--center:hover {
  text-decoration: none;
  padding-left: 0.5em;
  color: inherit;
}
.ec-blockReadMoreBtn:hover:after, .ec-blockReadMoreBtn--center:hover:after {
  transform: rotate(25deg);
  width: 15px;
}
/*
READ MOREボタン 中央配置
*/
.ec-blockReadMoreBtn--center {
  max-width: 180px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
/* ボタン小 */
.btn-mini {
  font-size: 0.733rem;
  padding: 0.6em;
  min-width: auto;
}
/*
ページングボタン（ページGoBack）

新着情報やよくある質問ページ等にある、「一覧に戻る」等のボタン群のスタイリングになります。
ページャーとは別になります。ページャー（「1 2 3 Next」のようなスタイル）は「_7.2.search.scss」でスタイリングされています。
*/
.ec-pageGoBack {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
}
.ec-pageGoBack li {
  margin: 0 10px;
}
.ec-pageGoBack li a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 40px;
  font-size: 1rem;
  background-color: #00758a;
  color: #fff;
  transition: 0.3s;
}
.ec-pageGoBack li a:hover {
  text-decoration: none;
  background-color: #008ba4;
}
.ec-pageGoBack li a.primary {
  background-color: #B20000;
}
/*
アイコンボタン
*/
/*
閉じるボタン
*/
.ec-closeBtn--circle {
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  border-radius: 50%;
  background-color: #E6E6E6;
  color: #131313;
  cursor: pointer;
  transition: 0.3s;
  position: absolute;
}
.ec-closeBtn--circle:before {
  font-family: "ecpfont";
  content: "\e916";
  font-size: 11.25px;
  line-height: inherit;
}
.ec-closeBtn--circle:hover {
  background-color: #cdcdcd;
}
.ec-closeBtn--circle .ec-icon {
  display: none;
}
/*
その他のボタン

通常のボタンや、アイコンボタン以外のボタンを定義します。
*/
/*
ページトップボタン

ページトップボタンのスタイリングです。
*/
.ec-blockTopBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-size: 22px;
  width: 2.182em;
  height: 2.182em;
  color: #999;
  border: solid 3px #999;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  /* ボタン表示 */
}
body.scrolled .ec-blockTopBtn {
  visibility: visible;
  opacity: 1;
}
.ec-blockTopBtn i {
  transform: translate3d(0, 1px, 0);
  transition: 0.5s;
}
.ec-blockTopBtn:hover {
  filter: brightness(1.2);
}
.ec-blockTopBtn:hover i {
  transform: translate3d(0, -1px, 0);
}
/*
フォーム部品（入力要素）

テキストや数値の入力項目に関するフォーム要素の基本整形をスタイリングします。
*/
/*
テキスト入力フォーム
*/
.ec-input, .ec-telInput, .ec-zipInput, .ec-numberInput, .ec-halfInput {
  /* EC4系のみ
  // エラー状態
  &.error {
    //input, textarea {
    input:not(:focus), textarea:not(:focus) {
      border-color: $input-error-border;
      background-color: $input-error-bg;  
    }
  }
  */
}
.ec-input input, .ec-telInput input, .ec-zipInput input, .ec-numberInput input, .ec-halfInput input {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.75em 0.75em;
  font-size: 16px;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid var(--clrInputBorder, #ccc);
  border-radius: 4px;
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.ec-input input:focus, .ec-telInput input:focus, .ec-zipInput input:focus, .ec-numberInput input:focus, .ec-halfInput input:focus {
  /*
  outline: none;//0;
  border-color: $input-border-focus;
  box-shadow: 0 0 0 $focusShadowsize $clrInputFocusShadow;
  */
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-input input::-moz-placeholder, .ec-telInput input::-moz-placeholder, .ec-zipInput input::-moz-placeholder, .ec-numberInput input::-moz-placeholder, .ec-halfInput input::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}
.ec-input input:-ms-input-placeholder, .ec-telInput input:-ms-input-placeholder, .ec-zipInput input:-ms-input-placeholder, .ec-numberInput input:-ms-input-placeholder, .ec-halfInput input:-ms-input-placeholder {
  color: #bbb;
}
.ec-input input::-webkit-input-placeholder, .ec-telInput input::-webkit-input-placeholder, .ec-zipInput input::-webkit-input-placeholder, .ec-numberInput input::-webkit-input-placeholder, .ec-halfInput input::-webkit-input-placeholder {
  color: #bbb;
}
.ec-input input::-ms-expand, .ec-telInput input::-ms-expand, .ec-zipInput input::-ms-expand, .ec-numberInput input::-ms-expand, .ec-halfInput input::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-input input[disabled], .ec-telInput input[disabled], .ec-zipInput input[disabled], .ec-numberInput input[disabled], .ec-halfInput input[disabled], .ec-input input[readonly], .ec-telInput input[readonly], .ec-zipInput input[readonly], .ec-numberInput input[readonly], .ec-halfInput input[readonly], fieldset[disabled] .ec-input input, fieldset[disabled] .ec-telInput input, fieldset[disabled] .ec-zipInput input, fieldset[disabled] .ec-numberInput input, fieldset[disabled] .ec-halfInput input {
  background-color: #f4f4f4;
  opacity: 1;
}
.ec-input input[disabled], .ec-telInput input[disabled], .ec-zipInput input[disabled], .ec-numberInput input[disabled], .ec-halfInput input[disabled], fieldset[disabled] .ec-input input, fieldset[disabled] .ec-telInput input, fieldset[disabled] .ec-zipInput input, fieldset[disabled] .ec-numberInput input, fieldset[disabled] .ec-halfInput input {
  cursor: not-allowed;
}
.ec-input textarea, .ec-telInput textarea, .ec-zipInput textarea, .ec-numberInput textarea, .ec-halfInput textarea {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.75em 0.75em;
  font-size: 16px;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid var(--clrInputBorder, #ccc);
  border-radius: 4px;
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  height: auto;
  min-height: 8em;
}
.ec-input textarea:focus, .ec-telInput textarea:focus, .ec-zipInput textarea:focus, .ec-numberInput textarea:focus, .ec-halfInput textarea:focus {
  /*
  outline: none;//0;
  border-color: $input-border-focus;
  box-shadow: 0 0 0 $focusShadowsize $clrInputFocusShadow;
  */
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-input textarea::-moz-placeholder, .ec-telInput textarea::-moz-placeholder, .ec-zipInput textarea::-moz-placeholder, .ec-numberInput textarea::-moz-placeholder, .ec-halfInput textarea::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}
.ec-input textarea:-ms-input-placeholder, .ec-telInput textarea:-ms-input-placeholder, .ec-zipInput textarea:-ms-input-placeholder, .ec-numberInput textarea:-ms-input-placeholder, .ec-halfInput textarea:-ms-input-placeholder {
  color: #bbb;
}
.ec-input textarea::-webkit-input-placeholder, .ec-telInput textarea::-webkit-input-placeholder, .ec-zipInput textarea::-webkit-input-placeholder, .ec-numberInput textarea::-webkit-input-placeholder, .ec-halfInput textarea::-webkit-input-placeholder {
  color: #bbb;
}
.ec-input textarea::-ms-expand, .ec-telInput textarea::-ms-expand, .ec-zipInput textarea::-ms-expand, .ec-numberInput textarea::-ms-expand, .ec-halfInput textarea::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-input textarea[disabled], .ec-telInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-halfInput textarea[disabled], .ec-input textarea[readonly], .ec-telInput textarea[readonly], .ec-zipInput textarea[readonly], .ec-numberInput textarea[readonly], .ec-halfInput textarea[readonly], fieldset[disabled] .ec-input textarea, fieldset[disabled] .ec-telInput textarea, fieldset[disabled] .ec-zipInput textarea, fieldset[disabled] .ec-numberInput textarea, fieldset[disabled] .ec-halfInput textarea {
  background-color: #f4f4f4;
  opacity: 1;
}
.ec-input textarea[disabled], .ec-telInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-halfInput textarea[disabled], fieldset[disabled] .ec-input textarea, fieldset[disabled] .ec-telInput textarea, fieldset[disabled] .ec-zipInput textarea, fieldset[disabled] .ec-numberInput textarea, fieldset[disabled] .ec-halfInput textarea {
  cursor: not-allowed;
}
.ec-input + .ec-input, .ec-telInput + .ec-input, .ec-input + .ec-telInput, .ec-telInput + .ec-telInput, .ec-zipInput + .ec-input, .ec-zipInput + .ec-telInput, .ec-input + .ec-zipInput, .ec-telInput + .ec-zipInput, .ec-zipInput + .ec-zipInput, .ec-numberInput + .ec-input, .ec-numberInput + .ec-telInput, .ec-numberInput + .ec-zipInput, .ec-input + .ec-numberInput, .ec-telInput + .ec-numberInput, .ec-zipInput + .ec-numberInput, .ec-numberInput + .ec-numberInput, .ec-halfInput + .ec-input, .ec-halfInput + .ec-telInput, .ec-halfInput + .ec-zipInput, .ec-halfInput + .ec-numberInput, .ec-input + .ec-halfInput, .ec-telInput + .ec-halfInput, .ec-zipInput + .ec-halfInput, .ec-numberInput + .ec-halfInput, .ec-halfInput + .ec-halfInput {
  margin-top: 1.2rem;
}
.ec-select + .ec-input, .ec-birth + .ec-input, .ec-select + .ec-telInput, .ec-birth + .ec-telInput, .ec-select + .ec-zipInput, .ec-birth + .ec-zipInput, .ec-select + .ec-numberInput, .ec-birth + .ec-numberInput, .ec-select + .ec-halfInput, .ec-birth + .ec-halfInput {
  margin-top: 1.2rem;
}
/*
注釈テキスト段落
dd要素枠内の最下部に配置される注釈テキストのスタイリングになります。
※EC4系テンプレートでは上記の「.ec-input」内に「& + p」の形で記述していましたが、EC-PACK7ではデザイン上の融通を利かせる意味で外に出しています。
*/
.ec-input + p, .ec-telInput + p, .ec-zipInput + p, .ec-numberInput + p, .ec-halfInput + p,
.ec-birth + p,
.ec-radio + p,
.ec-blockRadio + p {
  margin: 1rem 0 0;
  font-size: 0.8em;
  line-height: 1.5;
}
/*
テキスト入力フォーム（左右2分割）

姓名など入力フォームが分割されている項目で使用します。

EC-PACK7：
あくまで姓名のテキスト入力フォームが2つある、こちらを左右2分割するための「.ec-halfInput」になります。
構造的にこれを限定とします。「パスワードを忘れた時のヒント」の質問（select要素）＆回答（input要素）の左右2分割と併用は困難と判断しました。
*/
.ec-halfInput {
  display: flex;
  justify-content: flex-start;
}
.ec-halfInput > .input_item {
  flex: 0 0 auto;
  width: calc(( 100% - 1em ) / 2);
  margin-left: 1em;
}
.ec-halfInput > .input_item:first-of-type {
  margin-left: 0;
}
.ec-halfInput .ec-errorMessage {
  flex-basis: 100%;
}
/*
数量ボタン
*/
.ec-numberInput input[type=number] {
  width: auto;
  max-width: 5em;
  text-align: center;
}
/*
数量ボタン（増減ボタンセット）

カートインボタンと横並びになるレイアウトを前提にしています。
*/
.ec-quantityRole {
  border-radius: 2em;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(3, 3rem);
  gap: 0;
  height: 3rem;
}
.ec-quantityRole .ec-quantityRole__btn {
  display: grid;
  justify-content: center;
  align-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.7rem;
  opacity: 0.5;
  transition: 0.3s;
}
.ec-quantityRole .ec-quantityRole__btn:hover {
  background-color: rgba(0, 0, 0, 0.1);
  opacity: 1;
}
.ec-quantityRole .ec-quantityRole__btn i {
  font-size: inherit;
}
.ec-quantityRole .ec-numberInput input {
  font-size: 1.333rem;
  text-align: center;
  width: 100%;
  max-width: 100%;
  height: 100%;
  border: none;
  border-radius: 0;
  padding: 0;
  background-color: transparent;
}
/*
郵便番号フォーム
*/
.ec-zipInput {
  /*
  input {
    display: inline-block;
    width: auto;
    max-width: 9em;
    margin-left: .5em;

    @include media_sphone {
      max-width: 8em;// iPhone SEだと「郵便番号検索」が改行されてしまうので以前の8emに
    }
  }

  > span {
    display: inline-block;
  }
  */
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.ec-zipInput .input_item {
  display: flex;
  align-items: center;
}
.ec-zipInput .input_item:before {
  content: "-";
  margin: 0 0.5em;
}
.ec-zipInput .input_item:first-of-type:before {
  content: "〒";
  margin-left: 0;
}
.ec-zipInput input[name$=zip01] {
  width: 4em;
}
.ec-zipInput input[name$=zip02] {
  width: 5em;
}
.ec-zipInputHelp {
  margin-left: 1rem;
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
  display: none;
}
.ec-zipInputHelp a {
  /*
  font-size: 0.8em;//12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  height: 2em;
  border-radius: 3px;
  background-color: #16457e;
  color: #fff;
  padding-left: .5em;
  padding-right: .5em;
  transition: .3s;

  &:before {
    font-family: "jeiafont";
    content: "\e901";
    margin-right: .5em;
    padding-right: .5em;
    border-right: solid 1px hsla(0,0%,100%,0.3);
  }

  &:hover {
    text-decoration: none;
    filter: brightness(1.2);
  }
  */
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  text-decoration: underline;
  transition: 0.3s;
}
.ec-zipInputHelp a:before {
  font-family: "ecpfont";
  content: "\e90a";
  margin-right: 0.5em;
  display: inline-block;
  vertical-align: middle;
}
.ec-zipInputHelp a:hover {
  text-decoration: none;
}
.ec-zipInput + .ec-select, .ec-zipInput + .ec-birth {
  margin-top: 1rem;
}
/*
電話番号ボタン
*/
.ec-telInput {
  display: flex;
  align-items: center;
  /*
  > span {
    margin: 0 .5em;
  }
  */
}
.ec-telInput .input_item {
  display: flex;
  align-items: center;
}
.ec-telInput .input_item:before {
  content: "-";
  margin: 0 0.5em;
}
.ec-telInput .input_item:first-of-type:before {
  display: none;
}
.ec-telInput input {
  width: 5em;
}
/*
エラーメッセージ

エラー項目にポップアップ形式で表示するタイプにしたいが、.ec-harfInputの場合に2つ目のエラーも左に出てしまう。これを制御するにはTwig側に手をいれないといけないので断念。
普通にエラー項目の下にテキスト表示するに留めます。
*/
.ec-errorMessage {
  font-size: 0.9rem;
  margin: 0.5em 0 0;
  color: var(--clrError, #ca0000);
}
.ec-errorMessage:before {
  font-family: "jeiafont";
  font-weight: normal;
  content: "\e915";
  font-size: 20px;
  display: inline-block;
  vertical-align: -4px;
  margin-right: 3px;
}
/* その他 */
/*
input[type="number"]のスピンボタンを非表示

使用箇所：
利用ポイント、商品数量入力
*/
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}
/*
フォーム部品(ラジオ、チェックボックス、セレクト)

ラジオ、チェックボックス、セレクト要素の基本整形をスタイリングします。
*/
/*
ラジオボタン（横配置）

各要素をlabelでくくって、コーディングします。←マチガイ（ver4.0.2では、input + label の構造になっている様子（全部がそうかは未確認））<br>
input要素をlabelでくくってしまうと独自UIは表示されないので注意

ラジオボタンの独自UIはアイコンフォントを使っています。
*/
/*
.ec-radio {
  margin-top: -0.5em;

  input[type="radio"] {
    //display: none;// ユーザビリティでtab focusに対応するため別の方法で
    opacity: 0;
    appearance: none;
  }

  input[type="radio"] + label {
    display: inline-block;
    margin: 0;
    font-size: 1.05rem;
    font-weight: normal;
    line-height: 1;
    // 選択項目が複数で改行される前提での余白（親要素ではネガティブマージン調整）
    margin-right: 1em;
    margin-top: 0.5em;

    &:before {
      font-family: "jeiafont";
      content: "\e90c";
      font-size: 22px;
      display: inline-block;
      vertical-align: -3px;// 位置微調整
      margin-right: 0;
      color: #999;
      transition: .3s;
    }

    span {
      display: inline-block;
    }
  }

  input[type="radio"]:checked + label {
    &:before {
      font-family: "jeiafont";
      content: "\e90d";
      color: $radio-checked-color;
    }
  }

  input[type="radio"]:focus + label {
      @include tab-focus;
  }

  // エラー状態
  &.error {
    //border: solid 1px $input-error-border;
    background-color: $input-error-bg;  
  }
}
*/
.ec-radio, .ec-blockRadio {
  margin-top: -0.5em;
}
.ec-radio input[type=radio], .ec-blockRadio input[type=radio] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.ec-radio input[type=radio] + label, .ec-blockRadio input[type=radio] + label {
  display: inline-block;
  margin: 0;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 1;
  min-width: 12em;
  margin-right: 1em;
  margin-top: 0.5em;
  background-color: transparent;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 2em;
  padding: 0.7em 0.8em;
  cursor: pointer;
  transition: 0.3s;
}
.ec-radio input[type=radio] + label:before, .ec-blockRadio input[type=radio] + label:before {
  /*
  font-family: "jeiafont";
  content: "\e90c";
  font-size: 22px;
  display: inline-block;
  vertical-align: -3px;// 位置微調整
  margin-right: 0;
  color: #999;
  */
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1.25em;
  height: 1.25em;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 50%;
  margin-right: 0.5em;
}
.ec-radio input[type=radio] + label span, .ec-blockRadio input[type=radio] + label span {
  display: inline-block;
  vertical-align: middle;
}
.ec-radio input[type=radio]:checked + label, .ec-blockRadio input[type=radio]:checked + label {
  background-color: var(--clrRadioChecked, #0066C0);
  border-color: var(--clrRadioChecked, #0066C0);
  color: #fff;
}
.ec-radio input[type=radio]:checked + label:before, .ec-blockRadio input[type=radio]:checked + label:before {
  /*
  font-family: "jeiafont";
  content: "\e90d";
  color: $radio-checked-color;
  */
  border-width: 3px;
  border-color: #fff;
}
.ec-radio.error, .error.ec-blockRadio {
  background-color: #fff9f8;
}
/*
ラジオボタン(縦配置)

垂直に並ぶラジオボタンフィールドです。

※ショッピングページ「shopping/index.twig」においてはinputとlabelごとをdiv要素（ブロック要素）でくくる形でコーディングされているためCSSスタイリングせずとも縦配置になる。
一応、このブロック要素がない場合でも縦配置になるスタイリングは準備しておく。

EC-CUBE4標準において`.ec-blockRadio`が使われている箇所はshopping/confirm.twigだけの様子だが（お支払いとポイント）、確認画面ページなので表示要素は1点のみであるし、
またラジオボタンですらないので、厳密にいえばここで`.ec-blockRadio`を使うのはミスではないかと思われる。

EC-PACK7向けに調整
*/
.ec-blockRadio {
  /* EC-PACK7新デザイン向けにスタイリングし直し
  @extend .ec-radio;
  margin-right: 0;
  //margin-top: -1em;

  input[type="radio"] + label {
    display: block;
    margin-right: 0;
    margin-top: 0;//1em;

    // 上下に区切り線
    padding: .75em 0;
    border-bottom: dotted 1px $clrBorderColor;
  }
  */
}
.ec-blockRadio input[type=radio] + label {
  display: block;
  margin-right: 0;
}
/*
チェックボックス （横配置）

各要素をlabelでくくって、コーディングします。←マチガイ<br>
input要素をlabelでくくってしまうと独自UIは表示されないので注意
*/
.ec-checkbox, .ec-blockCheckbox {
  margin-top: -0.5em;
}
.ec-checkbox input[type=checkbox], .ec-blockCheckbox input[type=checkbox] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.ec-checkbox input[type=checkbox] + label, .ec-blockCheckbox input[type=checkbox] + label {
  display: inline-flex;
  margin: 0;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 1;
  margin-right: 1em;
  margin-top: 0.5em;
  cursor: pointer;
}
.ec-checkbox input[type=checkbox] + label:before, .ec-blockCheckbox input[type=checkbox] + label:before {
  font-family: "ecpfont";
  content: "\e911";
  font-size: 1.33rem;
  margin-right: 0.3em;
  margin-top: -1px;
  color: #999;
  transition: 0.3s;
}
.ec-checkbox input[type=checkbox]:checked + label:before, .ec-blockCheckbox input[type=checkbox]:checked + label:before {
  /*
  font-family: "jeiafont";
  content: "\e90f";
  */
  font-family: "ecpfont";
  content: "\e912";
  color: var(--clrRadioChecked, #0066C0);
}
.ec-checkbox input[type=checkbox]:focus + label, .ec-blockCheckbox input[type=checkbox]:focus + label {
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-checkbox.error, .error.ec-blockCheckbox {
  background-color: #fff9f8;
}
/* 会員登録の利用規約チェックだけlabelがつけ方が通常のコーディングルールと違うのでCSS側で吸収 */
.ec-registerRole__actions .ec-checkbox input + label, .ec-registerRole__actions .ec-blockCheckbox input + label {
  margin-right: 0;
}
/*
チェックボックス (縦配置)

垂直に並ぶチェックボックス フィールドです。
*/
.ec-blockCheckbox {
  margin-right: 0;
}
.ec-blockCheckbox input[type=checkbox] + label {
  display: flex;
  margin-right: 0;
  margin-top: 0.5em;
}
/*
セレクトボックス

独自UIを施しています。
*/
.ec-select, .ec-birth {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  /*
  独自UIを形成するために、EC4系テンプレートでは「Form/form_div_layout.twig」を定義してselect要素を「label.select_ui」要素で囲む形にしましたが、
  EC-PACK7では不要なlabel要素は減らそうと思います（HTML構造がややこしくなるのを少しでも防ぎたい）。
  ですので、select要素の親要素となっている「.input_item」に並列して「.select_ui」を記述する形で実装してみています。
  */
}
.ec-select .select_ui, .ec-birth .select_ui {
  font-weight: normal;
  margin: 0;
  position: relative;
}
.ec-select .select_ui:after, .ec-birth .select_ui:after {
  font-family: "ecpfont";
  content: "\e91e";
  font-size: 14px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 100%;
  background: transparent;
  color: inherit;
  position: absolute;
  top: 0;
  right: 0;
  padding-top: 0.3em;
  pointer-events: none;
}
.ec-select select, .ec-birth select {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.75em 0.75em;
  font-size: 16px;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid var(--clrInputBorder, #ccc);
  border-radius: 4px;
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  width: 100%;
  max-width: 100%;
  cursor: pointer;
  padding-right: 30px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.ec-select select:focus, .ec-birth select:focus {
  /*
  outline: none;//0;
  border-color: $input-border-focus;
  box-shadow: 0 0 0 $focusShadowsize $clrInputFocusShadow;
  */
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-select select::-moz-placeholder, .ec-birth select::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}
.ec-select select:-ms-input-placeholder, .ec-birth select:-ms-input-placeholder {
  color: #bbb;
}
.ec-select select::-webkit-input-placeholder, .ec-birth select::-webkit-input-placeholder {
  color: #bbb;
}
.ec-select select::-ms-expand, .ec-birth select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-select select[disabled], .ec-birth select[disabled], .ec-select select[readonly], .ec-birth select[readonly], fieldset[disabled] .ec-select select, fieldset[disabled] .ec-birth select {
  background-color: #f4f4f4;
  opacity: 1;
}
.ec-select select[disabled], .ec-birth select[disabled], fieldset[disabled] .ec-select select, fieldset[disabled] .ec-birth select {
  cursor: not-allowed;
}
.ec-select select::-ms-expand, .ec-birth select::-ms-expand {
  display: none;
}
.ec-select + .ec-select, .ec-birth + .ec-select, .ec-select + .ec-birth, .ec-birth + .ec-birth {
  margin-top: 1rem;
}
.ec-select label, .ec-birth label {
  margin: 0;
}
.ec-select label + .select_ui, .ec-birth label + .select_ui {
  margin-left: 0.5em;
}
/*
パスワードを忘れた時のヒント

EC-PACK7デザインでは左右2分割レイアウト（デスクトップ時）となっています。これは「姓名」などの「.ec-halfInput」と同じレイアウトですが、
ここでは「.ec-halfInput」は使いません。「.ec-halfInput」はあくまでテキスト入力要素の左右2分割に限定したスタイリングで、こちらはHTML構造上は別物です。
どちらでも使える汎用スタイリングができれば良いのですが、EC4系テンプレートのスタイリングをできる範囲では共通化しておきたいのもあり、別物として用意します。
スタイリング自体は「.ec-halfInput」と似た形にしておく必要がありますが、スマホ時では左右2分割にはせず上下配置とします。

また、質問・回答の項目ごとに項目名labelが付いた形になります。このlabel付のスタイリングも汎用的スタイリングは用意せず、この中だけで完結させています。
※必要となれば汎用スタイリングを作っておきたいですが、今のところは既存の形を破壊するのは時間的に怖いのでこれで。
*/
.ec-reminderInput > .ec-select, .ec-reminderInput > .ec-birth,
.ec-reminderInput > .ec-input,
.ec-reminderInput > .ec-halfInput,
.ec-reminderInput > .ec-numberInput,
.ec-reminderInput > .ec-zipInput,
.ec-reminderInput > .ec-telInput {
  display: flex;
  align-items: center;
}
.ec-reminderInput > .ec-select > label, .ec-reminderInput > .ec-birth > label,
.ec-reminderInput > .ec-input > label,
.ec-reminderInput > .ec-halfInput > label,
.ec-reminderInput > .ec-numberInput > label,
.ec-reminderInput > .ec-zipInput > label,
.ec-reminderInput > .ec-telInput > label {
  flex: 0 0 auto;
  margin-right: 1em;
  font-size: 1em;
  font-weight: 500;
}
.ec-reminderInput > .ec-select > label + .input_item, .ec-reminderInput > .ec-birth > label + .input_item,
.ec-reminderInput > .ec-input > label + .input_item,
.ec-reminderInput > .ec-halfInput > label + .input_item,
.ec-reminderInput > .ec-numberInput > label + .input_item,
.ec-reminderInput > .ec-zipInput > label + .input_item,
.ec-reminderInput > .ec-telInput > label + .input_item {
  flex: 1 1 auto;
}
/*
フォーム部品（ラベル、他）

フォームのラベルに関する要素を定義します。
*/
/*
タイトルラベル

EC4系：
リストレイアウトでのタイトル部分など、会員登録ページでいえば「お名前」の部分のスタイリングになります。
フォーム周りのタイトルラベルという位置づけの印象が強いですが、EC-CUBE4では「当サイトについて」や「特商」のページでも使われており、
どちらかというと汎用的なタイトルラベルという使い方なのかもしれません。

EC-PACK7
使っている所はありません。
*/
.ec-label {
  display: inline-block;
  vertical-align: middle;
  font-weight: normal;
  margin: 0;
  color: var(--clrDefaultDark, #000);
  letter-spacing: 0.05em;
}
/*
必須ラベル

上記のタイトルラベルに付随する「必須」項目を示す部位になります。
*/
.ec-required {
  display: inline-block;
  vertical-align: middle;
  font-size: 10px;
  font-weight: normal;
  line-height: 1;
  padding: 0.4em 0.4em;
  background-color: #e2251f;
  color: #fff;
  margin-left: 1em;
}
/*
その他の調整

コーディングルールに則っていない（？）部位の調整。<br>
ミスなのか意図的なのかは不明ですがこれまでのフォーム構成（ルール）とは逸れている箇所があり、ミスであるならば本来はTwigを修正すべきですが、
テンプレート的にはTwigの編集は必要以外は極力しないでおきたいですので（バージョンアップの事も考慮しつつ）CSS側で吸収を試みます。

* なるべくピンポイントに働くように、他の部位に影響・汚染の無いよう心掛ける。
* もしバージョンアップでTwigの修正が施された際に悪影響のないようにしておきたい。
*/
/*
ショッピングページ「お客様情報」の変更フォーム

「都道府県」入力欄がここではテキスト入力だが、これを括る要素が.ec-selectとなっておりCSSルールから外れてしまっているので補正
*/
.ec-select .customer-address_pref input, .ec-birth .customer-address_pref input {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.75em 0.75em;
  font-size: 16px;
  line-height: 1.3;
  color: #333;
  background-color: #fff;
  background-image: none;
  border: 1px solid var(--clrInputBorder, #ccc);
  border-radius: 4px;
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.ec-select .customer-address_pref input:focus, .ec-birth .customer-address_pref input:focus {
  /*
  outline: none;//0;
  border-color: $input-border-focus;
  box-shadow: 0 0 0 $focusShadowsize $clrInputFocusShadow;
  */
  outline: none;
  border-color: var(--clrInputFocusBorder, #0066C0);
  box-shadow: 0 0 0 var(--focusShadowsize, 0px) var(--clrInputFocusShadow, #cceeff);
}
.ec-select .customer-address_pref input::-moz-placeholder, .ec-birth .customer-address_pref input::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}
.ec-select .customer-address_pref input:-ms-input-placeholder, .ec-birth .customer-address_pref input:-ms-input-placeholder {
  color: #bbb;
}
.ec-select .customer-address_pref input::-webkit-input-placeholder, .ec-birth .customer-address_pref input::-webkit-input-placeholder {
  color: #bbb;
}
.ec-select .customer-address_pref input::-ms-expand, .ec-birth .customer-address_pref input::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-select .customer-address_pref input[disabled], .ec-birth .customer-address_pref input[disabled], .ec-select .customer-address_pref input[readonly], .ec-birth .customer-address_pref input[readonly], fieldset[disabled] .ec-select .customer-address_pref input, fieldset[disabled] .ec-birth .customer-address_pref input {
  background-color: #f4f4f4;
  opacity: 1;
}
.ec-select .customer-address_pref input[disabled], .ec-birth .customer-address_pref input[disabled], fieldset[disabled] .ec-select .customer-address_pref input, fieldset[disabled] .ec-birth .customer-address_pref input {
  cursor: not-allowed;
}
/*
問い合わせフォーム

問い合わせフォームで、.ec-zipInputHelpが、.ec-zipInputの中ではなく外に出てしまっている
↓
※4.2.0でHTML構造が修正されたのでこのCSS調整は不要ですのでコメントアウト（削除可能）しています。
*/
/*
#page_contact {

  .ec-zipInput {
    display: inline-block;
  }

  // .ec-zipInputに続く都道府県selectと住所Input間のマージン調整
  .ec-zipInputHelp {

    & + .ec-select {
      margin-top: 1em;
      margin-bottom: 1em;
    }
  }
}
*/
/*
問い合わせ追加フォーム（リーデル）
*/
.ec-contactRole input[name=order_id] {
  width: 20em;
}
.ec-contactRole input[name=product_height] {
  width: 20em;
}
/*
入力フォームの後ろに単位を表記

HTML側において「.input_item」要素に「data-unit="mm"」のように単位を記述
*/
.input_item[data-unit] {
  display: flex;
  align-items: center;
}
.input_item[data-unit]:after {
  content: attr(data-unit);
  margin-left: 0.5em;
}
/*
フォームバリディエーション
.ecp_form_valid

フォームバリディエーション「ecp_form_valid.js」用のスタイリングになります。
jsによってform要素にclass「.ecp_form_valid」が付与されて各スタイリングが適用されます。
必須ラベル（「必須」マーク）もjsが挿入しますので、jsを適用している場合は「.ec-required」（EC4系標準 _3.3.form.scss）を記述する必要はありません。
その他、入力ガイド、入力エラーのバルン表示のスタイリングを施しています。

会員登録や問い合わせといったフォームの枠は、EC2系ではtable要素で組まれていましたが、EC4系の流儀に沿ってdiv要素「.ec-borderedDefs」を用いて、
各行はdl要素で構成されているものとします。js側も「td,th」でコード記述している箇所は「dl,dt」で書き直しています。
*/
.ecp_form_valid dt .status, .ecp_form_valid th .status {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.733rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 5px;
  overflow: hidden;
  width: 3.1em;
  height: 1.85em;
  margin-left: 1em;
  margin-top: -0.25em;
}
.ecp_form_valid dt .status .inner, .ecp_form_valid th .status .inner {
  width: 100%;
  height: 100%;
  transition: 0.3s;
  opacity: 1;
}
.ecp_form_valid dt .status .inner span, .ecp_form_valid th .status .inner span {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.ecp_form_valid dt .status .inner span:nth-child(1), .ecp_form_valid th .status .inner span:nth-child(1) {
  background-color: #EB5435;
}
.ecp_form_valid dt .status .inner span:nth-child(2), .ecp_form_valid th .status .inner span:nth-child(2) {
  background-color: #42bf00;
}
.ecp_form_valid dt.complete_field .status .inner, .ecp_form_valid th.complete_field .status .inner {
  transform: translateY(-100%);
}
.ecp_form_valid .input_item {
  position: relative;
}
.ecp_form_valid .effect_error {
  border: solid 1px #d00;
  box-shadow: 0 0 3px #f00;
}
.ecp_form_valid .bln {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 2em;
  font-size: 14px;
  line-height: 1.2;
  /*white-space: nowrap;*/
  vertical-align: middle;
  padding: 0.3em 1em;
  box-sizing: border-box;
  padding-right: 0.5em;
  border-radius: 1em;
  background-color: #666;
  color: #fff;
  filter: drop-shadow(3px 5px 3px rgba(0, 0, 0, 0.2));
  pointer-events: none;
  position: absolute;
  bottom: 100%;
  left: 0;
  transform: translateY(5px);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 9;
  /* iOS Safariでたまにバルンがつぶれてしまう現象あり→効果無しだった
  -webkit-backface-visibility: hidden;
  */
}
.ecp_form_valid .bln:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 1em;
  display: block;
  width: 0;
  height: 0;
  border-top: solid 5px #666;
  border-left: solid 5px transparent;
  border-right: solid 5px transparent;
  border-bottom: solid 5px transparent;
}
.ecp_form_valid .bln:after {
  font-family: "jeiafont";
  content: "\e918";
  color: #fff;
  margin-left: 5px;
  opacity: 0;
  transition: 0.3s;
}
.ecp_form_valid .bln.is-active {
  opacity: 0.85;
  visibility: visible;
  transform: translateY(-6px);
  pointer-events: auto;
  cursor: pointer;
}
.ecp_form_valid .bln.is-active:hover:after {
  opacity: 1;
}
.ecp_form_valid .bln:hover {
  opacity: 1;
}
.ecp_form_valid .bln.bln_guide {
  background-color: #235282;
}
.ecp_form_valid .bln.bln_guide:before {
  border-top-color: #235282;
}
.ecp_form_valid .bln.bln_error {
  background-color: #d00;
}
.ecp_form_valid .bln.bln_error:before {
  border-top-color: #d00;
}
.bln {
  display: none;
}
/*


/* スペーサー*---/
.ecp_form_valid .input_item.spacer:before {
  content: "";
  display: inline-block;
  margin-left: 5px;

}

/* 支払い方法等やむなくtableの外に組まなければならない場合のほか、textareaを幅100%にしたい場合などblock化*---/
.ecp_form_valid .input_item.block {
  display: block;
  width: 100%;
}

/* .ecp_form_group > label ※スタンダードテキスト入力等々 *---/
.ecp_form_valid .ecp_form_group:not(.horizontal) {
}
.ecp_form_valid .ecp_form_group:not(.horizontal) > label {
  /*
  * labelごとに幅MACで縦並べさせたいのでblockとするのがベストだと思うが入力フォームの右側に余白があったとして、そこをクリックしてもlabelなのでフォーカスが入ってしまう。
  * それでもいいのかもしれないが少し奇妙にも思えるので、力技だがpointer-eventsをオフしておき（中の要素でautoに戻す）対処してみた。
  * またblockにすることでtextareaを幅100%にすることも可能となるので、これでいきたい。
  *---/
  display: block;
  pointer-events: none;
}
.ecp_form_valid .ecp_form_group:not(.horizontal) > label > * {
  pointer-events: auto;
}
.ecp_form_valid .ecp_form_group:not(.horizontal) > label + label {
  margin-top: 10px;
}
.ecp_form_valid .ecp_form_group.horizontal > label {
  display: inline-block;
}
.ecp_form_valid .ecp_form_group.horizontal > label + label {
  margin-left: 10px;
}

/* .ecp_form_group > .input_item > label ※ラジオボタン、チェックボックス *---/
.ecp_form_valid .ecp_form_group:not(.horizontal) > .input_item > label {
  display: block;
  margin-left: 0;
}
.ecp_form_valid .ecp_form_group.horizontal > .input_item > label {
  display: inline-block;
}
.ecp_form_valid .ecp_form_group.horizontal > .input_item > label + label {
  margin-left: 1em;
}

/* labelの前後にフォームをつなぐ記号・文字を括ったspanとの余白 *---/
.ecp_form_valid .ecp_form_group label + span {
  margin-left: 5px;
}
.ecp_form_valid .ecp_form_group span + label {
  margin-left: 5px;
}

/* 固定レイアウト： 入力要素2分割（ハーフ） horizontal.half *---/
.ecp_form_valid .ecp_form_group.horizontal.half {
  max-width: 700px;/*フル幅MAXを指定*---/
  display: flex;
  justify-content: space-between;
}
.ecp_form_valid .ecp_form_group.horizontal.half > label {
  flex: 1 1 auto;
  width: calc((100% - 15px) / 2);
}
.ecp_form_valid .ecp_form_group.horizontal.half > label .input_item {
  display: block;
}
.ecp_form_valid .ecp_form_group.horizontal.half > label .input_item input {
  width: 100%;
}

/* 固定レイアウト： 入力要素フル幅 label.full *---/
.ecp_form_valid .ecp_form_group label.full {
  max-width: 700px;/*フル幅MAXを指定*---/
}
.ecp_form_valid .ecp_form_group label.full .input_item {
  display: block;
}
.ecp_form_valid .ecp_form_group label.full .input_item input,
.ecp_form_valid .ecp_form_group label.full .input_item textarea {
  width: 100%;
}


*/
/* inputs *---/
.ecp_form_valid .input_item input,
.ecp_form_valid .input_item select,
.ecp_form_valid .input_item textarea {
}

/* デバッグ中の目印 
.ecp_form_valid .input_item.is-finished {
  box-shadow: 0 0 3px #0f0;
}
.ecp_form_valid .input_item.is-unfinished {
  box-shadow: 0 0 3px #f00;
}
*/
/* 入力情報表示窓 */
#valid_infoarea {
  position: fixed;
  right: 2vw;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-flow: column;
  width: 90px;
  height: 90px;
  box-sizing: border-box;
  border-radius: 50%;
  background-color: #f8f8f8;
  border: solid 2px #d00;
  font-size: 0.866rem;
  overflow: hidden;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  z-index: 999;
}
#valid_infoarea .info_head {
  flex: 0 0 50%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #d00;
  color: #fff;
}
#valid_infoarea .info_body {
  flex: 0 0 50%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#valid_infoarea .remain {
  display: block;
  margin-top: -0.5em;
}
#valid_infoarea .remain .cnt {
  font-size: 1.5em;
}
#valid_infoarea.is-enabled {
  opacity: 1;
  visibility: visible;
}
#valid_infoarea.is-complete {
  border-color: #369b00;
}
#valid_infoarea.is-complete .info_head {
  background-color: #369b00;
}
#valid_infoarea.is-complete .info_body {
  background-color: #42bf00;
  color: #fff;
}
#valid_infoarea.is-complete .remain {
  font-size: 1.3em;
}
/* iPhoneSEサイズだとカナ入力が改行されてしまうので微調整 
@media ( max-width: 375px ) {
  input[name^="kana"] {
    width: 100px;
  }
}
*/
/*
折りたたみフォーム
*/
.ec-variableForm {
  margin-bottom: 0 !important;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1rem;
}
.ec-variableForm label {
  font-size: 500;
  position: relative;
}
.ec-variableForm label:before {
  z-index: 1;
}
.ec-variableForm label:after {
  content: "";
  display: block;
  width: calc(1.33rem - 2px);
  height: calc(1.33rem - 2px);
  position: absolute;
  top: 1px;
  left: 1px;
  background-color: #fff;
  border-radius: 4px;
  z-index: 0;
}
.ec-variableForm .comment {
  margin: 1em 0 0;
}
/*
画像ファイルアップロード
*/
.ec-fileInput {
  /*
  display: flex;
  align-items: center;
  */
}
.ec-fileInput .file_upload_result.text {
  background-color: #eee;
  padding: 0.75em;
}
.ec-fileInput .file_upload_result .image {
  max-width: 200px;
}
.ec-fileInput .ec-fileInput__result {
  /*
  padding: 1rem 0;

  // アップロード済み
  .result_uploaded {
    width: 50px;
    height: 50px;

    img {
      width: 100%;
      height: auto;
    }
  }

  // 未アップロード
  .result_not_uploaded {
    background-color: #999;
    color: #fff;
    font-size: 13px;
    padding: .75em;
    line-height: 1;
  }

  // アップロード済み画像は表示せずテキストのみを表示する場合
  .result_uploaded_text {
    @extend .result_not_uploaded;
    background-color: rgb(0, 173, 0);
  }
  */
}
.ec-fileInput .ec-fileInput__actions {
  display: flex;
  align-items: center;
  margin-top: 1rem;
}
.ec-fileInput .ec-fileInput__actions input[type=file] {
  display: none;
}
.ec-fileInput .ec-fileInput__actions input[type=file] + label {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 2.86em;
  height: 2.86em;
  background-color: #DFDFDF;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 2em;
  padding: 0 1.5em;
  cursor: pointer;
}
.ec-fileInput .ec-fileInput__actions .ec-inlineBtn {
  /*
  border-radius: 5px;
  font-size: 13px;
  */
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 1.05rem;
  font-weight: normal;
  line-height: 2.86em;
  height: 2.86em;
  background-color: #DFDFDF;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 2em;
  padding: 0 1.5em;
  cursor: pointer;
  margin-left: 10px;
}
.ec-fileInput .ec-fileInput__actions .ec-inlineBtn:hover {
  filter: brightness(1.05);
}
.ec-fileInput .ec-fileInput__actions .ec-inlineBtn.action_select {
  background-color: var(--clrRadioChecked, #0066C0);
  border-color: var(--clrRadioChecked, #0066C0);
}
.ec-fileInput .ec-fileInput__actions .ec-inlineBtn.action_upload {
  background-color: var(--clrRadioChecked, #0066C0);
  border-color: var(--clrRadioChecked, #0066C0);
  color: #fff;
}
.ec-fileInput .ec-fileInput__actions .ec-inlineBtn.action_upload.hidden {
  display: none;
}
.ec-fileInput .ec-fileInput__actions .ec-inlineBtn.action_delete {
  /*
  background-color: #999;
  border-color: #999;
  */
  background-color: #222;
  border-color: #222;
  color: #fff;
}
.ec-fileInput + p {
  margin-top: 1em;
}
/*
身分証明書アップロード（複数アップロード）
*/
.upload_item {
  margin-top: 1em;
  padding-top: 1em;
  border-top: solid 1px #ddd;
}
.upload_item:nth-child(1) {
  border: none;
  margin-top: 0;
  padding-top: 0;
}
/*
アイコン・WEBフォント

EC-CUBE4ではアイコンに[Font Awesome 5](https://fontawesome.com/) を使用しています。<br>
Font Awesome 5 で利用可能なフォント群については、 Font Awesome 5 公式サイト をご確認ください。

当テンプレートではそのほか、独自のWEBフォントと[Google Material Design](https://material.io/" target="_blank">Material Design)を使用しています。
*/
/*
SVGアイコン

デフォルトテンプレートのアイコンは`.ec-icon`>`img`タグで使用することができます
*/
.ec-icon img {
  max-width: 80px;
  max-height: 80px;
}
/*
JEIA WEBフォント

当テンプレート用に独自のWEBフォントを使用しています。

WEBフォントの読み込みは「site_frame.tpl」の中で行っています。

当テンプレートのWEBフォントには[Apache 2.0ライセンス](http://www.apache.org/licenses/LICENSE-2.0)の
[Google Material Design](https://material.io/" target="_blank">Material Design)のアイコンと、
[FontAwesome](https://fontawesome.com/ target="_blank")のアイコンを含めています。

[アイコンリスト](/html/template/dtJEIA4004/assets/icon/jeiafont/demo.html)
*/
i.jeiafont {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jeiafont";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: middle;
}
/* アイコン回転 */
i.rotate-90 {
  transform-origin: center center;
  transform: rotate(90deg);
}
/* 以下アイコン追加があれば適宜追加 */
.jeia-cart:before {
  content: "\e900";
}
.jeia-search:before {
  content: "\e901";
}
.jeia-arrow:before {
  content: "\e902";
}
.jeia-heart:before {
  content: "\e903";
}
.jeia-heart_fill:before {
  content: "\e904";
}
.jeia-user:before {
  content: "\e905";
}
.jeia-user_fill:before {
  content: "\e906";
}
.jeia-lock:before {
  content: "\e907";
}
.jeia-lock_fill:before {
  content: "\e908";
}
.jeia-cross:before {
  content: "\e909";
}
.jeia-menu:before {
  content: "\e90a";
}
.jeia-more:before {
  content: "\e90b";
}
.jeia-radio:before {
  content: "\e90c";
}
.jeia-radio_checked:before {
  content: "\e90d";
}
.jeia-checkbox:before {
  content: "\e90e";
}
.jeia-checkbox_checked:before {
  content: "\e90f";
}
.jeia-call:before {
  content: "\e910";
}
.jeia-mail:before {
  content: "\e911";
}
.jeia-place:before {
  content: "\e912";
}
.jeia-more_angle:before {
  content: "\e913";
}
.jeia-warning:before {
  content: "\e914";
}
.jeia-error:before {
  content: "\e915";
}
.jeia-add:before {
  content: "\e916";
}
.jeia-remove:before {
  content: "\e917";
}
.jeia-clear:before {
  content: "\e918";
}
.jeia-star:before {
  content: "\e919";
}
.jeia-caret:before {
  content: "\e91a";
}
.jeia-arrow-left:before {
  content: "\e91b";
}
.jeia-arrow_b1:before {
  content: "\e91c";
}
.jeia-arrow_b2:before {
  content: "\e91d";
}
.jeia-truck:before {
  content: "\e91e";
}
.jeia-coins:before {
  content: "\e91f";
}
.jeia-creditcard:before {
  content: "\e920";
}
.jeia-twitter:before {
  content: "\e921";
}
.jeia-facebook:before {
  content: "\e922";
}
.jeia-googleplus:before {
  content: "\e923";
}
.jeia-instagram:before {
  content: "\e924";
}
.jeia-volume-mute:before {
  content: "\e925";
}
.jeia-volume-up:before {
  content: "\e926";
}
.jeia-angleup:before {
  content: "\e927";
}
.jeia-info:before {
  content: "\e928";
}
.jeia-crown:before {
  content: "\e929";
}
.jeia-eye:before {
  content: "\e92a";
}
.jeia-btn:before {
  content: "\e92b";
}
.jeia-fax:before {
  content: "\e92c";
}
.jeia-grid:before {
  content: "\e92d";
}
.jeia-cart2:before {
  content: "\e92e";
}
.jeia-cart3:before {
  content: "\e92f";
}
.jeia-amazon:before {
  content: "\e930";
}
.jeia-pinterest:before {
  content: "\e931";
}
.jeia-get-pocket:before {
  content: "\e932";
}
.jeia-line:before {
  content: "\e933";
}
.jeia-external-link:before {
  content: "\e934";
}
.jeia-printer:before {
  content: "\e935";
}
.jeia-facebook2:before {
  content: "\e936";
}
.jeia-line2:before {
  content: "\e937";
}
.jeia-hatenabookmark:before {
  content: "\e938";
}
.jeia-play-circle:before {
  content: "\e939";
}
/*
ECPACK WEBフォント

当テンプレート用に独自のWEBフォントを使用しています。
WEBフォントの読み込みは「site_frame.tpl」の中で行っています。
*/
i.ecpfont {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "ecpfont" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  vertical-align: middle;
}
/* 以下アイコン追加があれば適宜追加 */
.icon-home:before {
  content: "\e900";
}
.icon-cart:before {
  content: "\e901";
}
.icon-user:before {
  content: "\e902";
}
.icon-user-fill:before {
  content: "\e903";
}
.icon-user-thin:before {
  content: "\e904";
}
.icon-mail:before {
  content: "\e905";
}
.icon-phone:before {
  content: "\e906";
}
.icon-login:before {
  content: "\e907";
}
.icon-logout:before {
  content: "\e908";
}
.icon-loupe:before {
  content: "\e909";
}
.icon-loupe2:before {
  content: "\e90a";
}
.icon-enlarge:before {
  content: "\e90b";
}
.icon-heart:before {
  content: "\e90c";
}
.icon-heart-fill:before {
  content: "\e90d";
}
.icon-pencil:before {
  content: "\e90e";
}
.icon-circle:before {
  content: "\e90f";
}
.icon-circle-checked:before {
  content: "\e910";
}
.icon-checkbox:before {
  content: "\e911";
}
.icon-checkbox-checked:before {
  content: "\e912";
}
.icon-checked:before {
  content: "\e913";
}
.icon-plus:before {
  content: "\e914";
}
.icon-minus:before {
  content: "\e915";
}
.icon-cross:before {
  content: "\e916";
}
.icon-arrow-left:before {
  content: "\e917";
}
.icon-arrow-right:before {
  content: "\e918";
}
.icon-arrow2-left:before {
  content: "\e919";
}
.icon-arrow2-right:before {
  content: "\e91a";
}
.icon-arrow3-left:before {
  content: "\e91b";
}
.icon-arrow3-up:before {
  content: "\e91c";
}
.icon-arrow3-right:before {
  content: "\e91d";
}
.icon-arrow3-down:before {
  content: "\e91e";
}
.icon-undo:before {
  content: "\e91f";
}
.icon-external:before {
  content: "\e920";
}
.icon-bin:before {
  content: "\e921";
}
.icon-mypage-delivery:before {
  content: "\e922";
}
.icon-mypage-favorite:before {
  content: "\e923";
}
.icon-mypage-member:before {
  content: "\e924";
}
.icon-mypage-history:before {
  content: "\e925";
}
.icon-mypage-withdraw:before {
  content: "\e926";
}
.icon-mypage-letter:before {
  content: "\e927";
}
.icon-twitter:before {
  content: "\e928";
}
.icon-facebook:before {
  content: "\e929";
}
.icon-youtube:before {
  content: "\e92a";
}
.icon-instagram:before {
  content: "\e92b";
}
.icon-pinterest:before {
  content: "\e92c";
}
.icon-menu:before {
  content: "\e92d";
}
.icon-setting:before {
  content: "\e92e";
}
.icon-setting2:before {
  content: "\e92f";
}
.icon-info:before {
  content: "\e930";
}
.icon-gift:before {
  content: "\e931";
}
.icon-movie:before {
  content: "\e932";
}
.icon-share:before {
  content: "\e933";
}
.icon-share2:before {
  content: "\e934";
}
/*
グリッド

画面を12分割し、グリッドレイアウトに対応するためのスタイルです。
*/
/*
2分割グリッド

画面２分割のグリッドです。
Bootstrap の col-sm-6 相当のグリッドを提供します。
*/
.ec-grid2 {
  display: block;
  margin: 0;
}
.ec-grid2 .ec-grid2__cell {
  min-height: 1px;
}
.ec-grid2 .ec-grid2__cell2 {
  min-height: 1px;
}
/*
3分割グリッド

画面３分割のグリッドです。
*/
.ec-grid3 {
  display: block;
  margin: 0;
}
.ec-grid3 .ec-grid3__cell {
  min-height: 1px;
}
.ec-grid3 .ec-grid3__cell2 {
  min-height: 1px;
}
.ec-grid3 .ec-grid3__cell3 {
  min-height: 1px;
}
/*
4分割グリッド

画面４分割のグリッドです。
*/
.ec-grid4 {
  display: block;
  margin: 0;
}
.ec-grid4 .ec-grid4__cell {
  min-height: 1px;
}
/*
6分割グリッド

2つにまとめた cell2 や 3つをまとめた cell3 タグも使用可能です。
*/
.ec-grid6 {
  display: block;
  margin: 0;
}
.ec-grid6 .ec-grid6__cell {
  min-height: 1px;
}
.ec-grid6 .ec-grid6__cell2 {
  min-height: 1px;
}
.ec-grid6 .ec-grid6__cell3 {
  min-height: 1px;
}
/*
中央寄せグリッド 10/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の10グリッドです<br>

※当テンプレートでは、この.ec-off1Gridのスタイリングはオフにしております。
EC-CUBE標準で備わっている機能は殺したくない所ですが、この.ec-off1Gridはデザイン的に外しておきたく、本来であればTwig側で調整すべきですが、
テンプレート的にTwigの編集は必要以外、極力しない方向でいきたいと考えております。
*/
/*
中央寄せグリッド 8/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の8グリッドです
*/
.ec-off2Grid {
  display: block;
  margin: 0;
}
.ec-off2Grid .ec-off2Grid__cell {
  margin: 0;
}
/*
中央寄せグリッド 6/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の6グリッドです
*/
.ec-off3Grid {
  display: block;
  margin: 0;
}
.ec-off3Grid .ec-off3Grid__cell {
  margin: 0;
}
/*
中央寄せグリッド 4/12

左右にマージンを持つ、中央寄せグリッドを提供します。12分の4グリッドです
*/
.ec-off4Grid {
  display: block;
  margin: 0;
}
.ec-off4Grid .ec-off4Grid__cell {
  margin: 0;
}
.ec-off4Grid .ec-off4Grid__cell > [class^=ec-blockBtn] {
  margin-left: auto;
  margin-right: auto;
}
/*
グリッドオプション

グリッドのセルに対して「左寄せ」「中央寄せ」「右寄せ」のオプションを付与することができます。
*/
/*
グリッドセルの左寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。
*/
.ec-grid--left {
  justify-content: flex-start;
}
/*
グリッドセルの右寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。
*/
.ec-grid--right {
  justify-content: flex-end;
}
/*
グリッドセルの中央寄せ

.ec-gridに.ec-grid--centerを付与すると内包してるセルを中央寄せにすることができます。（※デフォルトで中央寄せなので不要かと思われる）
*/
.ec-grid--center {
  justify-content: center;
}
/*
グリッドのタブレット時の挙動を追加

offGridを使う場面とは、メインコンテンツ幅に対して少し幅の狭いブロックでレイアウトデザインを組みたい場面と言えると思います。
（EC-CUBE標準ではメインコンテンツ自体を少し幅を狭めるorr1Gridも多用されておりますが…）
offGridはデスクトップ向けのスタイリングですのでタブレットでは適用されずフル幅になってしまいます。
ここではタブレット時もoffGridのスタイリングが加味されるよう調整しています。
*/
/*
レイアウト

様々なレイアウトを変更する為のスタイル群です。
*/
/*
画像レイアウト

画像とテキストを水平に並べるレイアウトです。
*/
.ec-imageGrid {
  display: flex;
  width: 100%;
}
.ec-imageGrid .ec-imageGrid__img {
  flex: 0 0 auto;
  width: 22vw;
  max-width: 120px;
}
.ec-imageGrid .ec-imageGrid__img img {
  width: 100%;
}
.ec-imageGrid .ec-imageGrid__content {
  flex: 1 1 auto;
  padding-left: 1em;
}
.ec-imageGrid .ec-imageGrid__content p {
  font-size: 0.9em;
  margin: 0;
}
.ec-imageGrid .ec-imageGrid__content p:first-child {
  font-weight: 700;
}
.ec-imageGrid .ec-imageGrid__content p span {
  display: inline-block;
  margin-left: 1em;
}
/*
ログイン

マイページログインとショッピングログインとがありますが、EC-PACK7ではそれぞれに違うデザインとなっています。
*/
/*
マイページログイン

アイコン付きログインボタン、アイコン付き会員登録ボタンは「_2.1.button.scss」でスタイリングしています。
*/
.ec-loginRole .ec-loginRole__guest {
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
  margin-top: 2rem;
  padding-top: 2rem;
}
.ec-loginRole h3, .ec-loginRole .h3 {
  font-size: 0.966rem;
  margin-bottom: 1em;
}
.ec-loginRole h3 i, .ec-loginRole .h3 i {
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  text-align: center;
  margin-right: 0.5em;
  font-size: 1.25em;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  color: inherit;
  border-radius: 50%;
}
.ec-loginRole .ec-loginRole__input > dl > dt {
  font-size: 0.966rem;
  font-weight: 700;
  margin-bottom: 1em;
}
.ec-loginRole .ec-loginRole__input > dl:nth-child(n+2) {
  margin-top: 1rem;
}
.ec-loginRole .ec-loginRole__input .ec-checkbox, .ec-loginRole .ec-loginRole__input .ec-blockCheckbox {
  margin-top: 1rem;
}
.ec-loginRole .ec-loginRole__input .ec-checkbox label, .ec-loginRole .ec-loginRole__input .ec-blockCheckbox label {
  font-size: 0.966rem;
  margin: 0;
}
.ec-loginRole .ec-list-rice {
  font-size: 0.8rem;
}
.ec-loginRole .ec-blockBtn--login,
.ec-loginRole .ec-blockBtn--entry,
.ec-loginRole .ec-blockBtn--guest {
  margin: 2rem auto 0;
}
/*
ショッピングログイン

ゲスト購入ボタン（新規会員登録＆ゲスト購入）は「_2.1.button.scss」でスタイリングしています。
*/
.ec-shoppingLoginRole {
  max-width: 1180px;
  margin: 0 auto;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__login {
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__login > .inner {
  max-width: 510px;
  margin: 0 auto;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__input > dl > dt {
  font-size: 0.966rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__input > dl:nth-of-type(n+2) {
  margin-top: 1rem;
}
.ec-shoppingLoginRole .caution {
  text-align: center;
  margin: 1rem 0;
  font-size: 0.966rem;
}
.ec-shoppingLoginRole .ec-blockBtn--action {
  margin: 1rem auto;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__guest:before {
  content: "OR";
  display: block;
  text-align: center;
  color: #9C9C9C;
  font-size: 1.066rem;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner h3, .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .h3 {
  font-size: 1.33rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner h3 + p, .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .h3 + p {
  font-size: 0.866rem;
  line-height: 1.38;
  text-align: center;
  margin: 1rem 0;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .image {
  text-align: center;
  margin-bottom: 1rem;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .image img {
  width: 100%;
  max-width: 325px;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner h3, .ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner .h3 {
  font-size: 1.33rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner h3 + p, .ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner .h3 + p {
  font-size: 0.866rem;
  line-height: 1.38;
  text-align: center;
  margin: 1rem 0;
}
.ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner .action > * {
  margin: 0 auto;
}
/*
商品掲載アイテムバナー？（使用箇所なし）

トップページに商品掲載するスタイルガイド群です。
*/
/*
検索・一覧表示

検索欄や、一覧表示に使用するスタイル群です。
*/
/*
ページャ

ページャは商品一覧ページ、マイページ注文履歴、お気に入りページで使用されています。
*/
.ec-pager {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.ec-pager .ec-pager__item {
  margin: 3px;
}
.ec-pager .ec-pager__item a {
  display: block;
  min-width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  padding: 0 0.75em;
  background-color: var(--clrNoactive, #DBDBDB);
  color: #fff;
  transition: 0.2s;
}
.ec-pager .ec-pager__item a:hover {
  text-decoration: none;
  background-color: #000;
}
.ec-pager .ec-pager__item.is-active a {
  background-color: var(--clrActive, #5F5F5F);
  pointer-events: none;
}
.ec-pager .ec-pager__item.item--prev a {
  padding-left: 0.3em;
}
.ec-pager .ec-pager__item.item--prev a:before {
  font-family: "jeiafont";
  content: "\e91b";
  margin-right: 0.2em;
}
.ec-pager .ec-pager__item.item--next a {
  padding-right: 0.3em;
}
.ec-pager .ec-pager__item.item--next a:after {
  font-family: "jeiafont";
  content: "\e902";
  margin-left: 0.2em;
}
/*
カート

ショッピングカートに関するスタイルです。
*/
/*
プログレス表示

購入完了までの手順や、現在の進捗状況をプログレス表示します。
↓
EC-PACK7では「_10.1.progress.scss」にて修正、まとめ直しました。
*/
/*
.ec-progress {
  list-style: none;
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 0 auto;
  padding: 0;

  @include media_sphone {
    // スマホ時少しだけ左右領域を拡張してゆとりを
    width: calc(100% + 20px);
    transform: translateX(-10px);
  }

  @include media_tablet {
    // バランス的にmax-widthを調整
    max-width: 62.5vw;
  }

  @include media_desktop {
    max-width: 600px;
  }

  & &__item {
    font-family: $ff-en;
    font-size: 1.3rem;// 横線がずれないようここでfont-sizeを指定
    @include media_sphone {
      font-size: 1.2rem;
    }

    display:table-cell;
    text-align: center;
    position: relative;
    z-index: 10;

    // 横線
    &:after {
      content: "";
      display: block;
      width: 100%;
      height: 2px;
      background-color: $clrBorderColor;

      position: absolute;
      top: 1em;// __numberの大きさが2emなので
      left: 50%;
      transform: translate(0,-50%);
      z-index: -1;
    }

    &:last-child:after {
      display: none;
    }
  }

  // 丸数字
  & &__number{
    background-color: $noactive-color;
    color: #fff;

    display: inline-block;
    line-height: 2em;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    text-align: center;
    margin-bottom: 0.25em;
  }

  // ラベルテキスト
  & &__label {
    font-family: $ff-default;
    font-size: 0.8rem;
    @include media_sphone {
      font-size: 0.7rem;
    }

    padding: 0;
    line-height: 1.2;
    white-space: nowrap;// 改行されないように（崩れるようなら再調整）
  }

  // 現在の進捗段階（厳密にはcompleteではないが）
  .is-complete {
    .ec-progress__number {
      background-color: $active-color;
    }

    .ec-progress__label {
      color: $active-color;
    }
  }
}
*/
/*
「カートナビゲーション」は、_11.2.header.scssへ移動
*/
/*
総計

会計時の合計金額、総計を表示します。
*/
.ec-totalBox {
  color: var(--clrCartTotalBoxText, #444);
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 5px;
  padding: 1rem;
  /* 各項目 */
  /* 合計額 */
  /* 合計額：価格 */
  /* 合計額：「税込み」ラベル */
  /* お支払い合計 */
  /* 税率表示 */
  /* ポイント利用 */
  /* ボタンエリア */
}
.ec-totalBox h3, .ec-totalBox .h3 {
  font-size: 1.33rem;
  font-weight: 500;
  margin: 0;
}
.ec-totalBox .ec-totalBox__spec {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  padding: 0.5em 0.25em;
  margin: 1em 0;
  line-height: 1;
}
.ec-totalBox .ec-totalBox__spec dt {
  font-weight: normal;
  margin: 0;
}
.ec-totalBox .ec-totalBox__spec dt .ec-font-bold {
  font-weight: normal;
}
.ec-totalBox .ec-totalBox__spec dd {
  text-align: right;
  margin: 0;
}
.ec-totalBox .ec-totalBox__spec:first-child {
  margin-top: 0;
}
.ec-totalBox .ec-totalBox__total {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  padding: 0.5em 0.25em;
  line-height: 1;
  font-weight: 500;
  margin: 1em 0;
}
.ec-totalBox .ec-totalBox__price {
  flex: 1 1 auto;
  font-size: 1.6rem;
  color: var(--clrDefaultDark, #000);
  text-align: right;
  margin-bottom: -3px;
}
.ec-totalBox .ec-totalBox__taxLabel {
  margin-left: 5px;
  font-size: 0.85rem;
  font-weight: normal;
}
.ec-totalBox .ec-totalBox__paymentTotal {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  padding: 0.5em 0.25em;
  line-height: 1;
  font-weight: 500;
  margin: 1em 0 1.5em;
}
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
  color: #e2251f;
}
.ec-totalBox .ec-totalBox__taxRate {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.5em;
  font-size: 0.85rem;
}
.ec-totalBox .ec-totalBox__taxRate dt {
  font-weight: normal;
}
.ec-totalBox .ec-totalBox__taxRate dd {
  margin-left: 1em;
}
.ec-totalBox .ec-totalBox__btn {
  margin-top: 2em;
}
.ec-totalBox .ec-totalBox__btn > *:last-child {
  margin-bottom: 0;
}
.ec-totalBox.guide {
  margin-top: 1rem;
  font-size: 1.066rem;
  font-weight: 500;
}
.ec-totalBox.guide .item {
  margin-top: 1rem;
}
.ec-totalBox.guide p {
  margin: 0;
}
.ec-totalBox.guide p:nth-child(n+2) {
  margin-top: 1rem;
}
/*
Amazon Pay
*/
/*
AmazonPayログイン枠
*/
.ec-amazonpayLogin {
  /*
  ショッピングフローログイン画面でのAmazonPayログインボタン枠
  */
  /*
  ショッピングフローの「お支払方法」でAmazonPayを選択した場合のログインボタン枠（サイト会員ログイン・非ログイン時共通）
  */
}
body.LC_Page_Checkout_Member .ec-amazonpayLogin, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin {
  background-color: #eee;
  margin-top: -1rem;
}
body.LC_Page_Checkout_Member .ec-amazonpayLogin h3, body.LC_Page_Checkout_Member .ec-amazonpayLogin .h3, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin h3, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin .h3 {
  font-size: 1.33rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0;
}
body.LC_Page_Checkout_Member .ec-amazonpayLogin h3 + p, body.LC_Page_Checkout_Member .ec-amazonpayLogin .h3 + p, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin h3 + p, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin .h3 + p {
  font-size: 0.866rem;
  line-height: 1.38;
  text-align: center;
  margin: 1rem 0;
}
body.LC_Page_Checkout_Member .ec-amazonpayLogin .action > *, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin .action > * {
  margin: 0 auto;
  max-width: 100%;
}
/*
AmazonPay 情報確認ボックス

AmazonPayのショッピングフローは、基本の顧客情報・お届け先はAmazonが所有している部分は確認ボックス扱いとして、そこに加えて編集ボタン、編集フォームが加わる構造になると思います。
こちらは確認ボックスのスタイリングですが、通常のショッピングフロー確認ボックスに準拠させたスタイリングですが、別物としてスタイリングします。
*/
.ec-amazonpayConfirmBox {
  font-size: 0.933rem;
  line-height: 1.66;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1rem;
  border-radius: 4px;
  margin: 1rem 0;
}
.ec-amazonpayConfirmBox h2, .ec-amazonpayConfirmBox .h2 {
  font-size: 1em;
  font-weight: 700;
  margin: 0;
  margin-bottom: 1em;
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm dl {
  font-weight: 400;
  margin: 0;
  display: flex;
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm dl:nth-child(n+2) {
  margin-top: 0.25em;
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm dl dt {
  font-weight: inherit;
  min-width: 10em;
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm dl dt:after {
  content: "：";
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm dl dt + dd {
  margin-left: 1em;
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm .ec-inlineBtn {
  background-color: transparent;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  color: var(--clrDefault, #000);
  border-radius: 2em;
  padding: 1em 1.5em;
  margin-top: 1rem;
}
.ec-amazonpayConfirmBox .ec-amazonpayConfirm .ec-inlineBtn:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.ec-amazonpayConfirmBox .ec-borderedDefs {
  margin-top: 1rem;
}
/*
お知らせ（未使用）

新着情報やバナーなどの掲載項目を紹介していきます。
*/
/*
バナー
*/
/*
クッキー同意バナー
*/
.ec-cookieConsentRole {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #b0d7d8;
  color: inherit;
  font-size: 1rem;
  z-index: 9999;
  padding: 1rem 0;
  display: none;
  /*
  .cc-hide {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
  }

  @keyframes hide {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      visibility: hidden;
    }
  }
  */
}
.ec-cookieConsentRole.is-show {
  display: block;
}
.ec-cookieConsentRole .ec-cookieConsentRole__inner {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ec-cookieConsentRole .text a {
  color: var(--clrLinkText, #0066C0);
}
.ec-cookieConsentRole .btnBox {
  margin-left: 1.5rem;
}
.ec-cookieConsentRole .btnBox .btnAgree {
  background-color: #037f81;
  border-color: #037f81;
  color: #fff;
}
.ec-cookieConsentRole .btnClose {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1.1rem;
  padding: 0.5em;
  cursor: pointer;
}
/*
マイページ【EC-PACK7】
*/
/*
マイページ構造
*/
.ec-mypageRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-mypageRole.single {
  display: block;
  max-width: 960px;
}
.ec-logoutBtn {
  display: inline-block;
  font-size: 0.857rem;
  font-weight: 500;
  height: 3em;
  line-height: 3em;
  border-radius: 3em;
  background-color: #EFEFEF;
  color: inherit;
  padding: 0 1em;
  transition: 0.3s;
}
.ec-logoutBtn i {
  font-size: 1.6em;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
}
.ec-logoutBtn:hover {
  background-color: #000;
  color: #fff;
}
/*
パーツ：ページヘッダ・リポートメッセージ
*/
.ec-mypageRole .ec-mypageReport {
  font-size: 0.966rem;
  line-height: 1.57;
  text-align: center;
}
.ec-mypageRole .ec-mypageReport p {
  margin: 0;
}
.ec-mypageRole .ec-mypageReport .mp_welcome {
  font-size: 1.133rem;
  font-weight: 700;
}
.ec-mypageRole .ec-mypageReport .mp_point .point {
  color: #e2251f;
}
.ec-mypageRole .ec-mypageReport .mp_logout {
  display: none;
}
/*
パーツ：マイページナビ

左に配置されるナビ部のスタイリングになります。
*/
.ec-mypageNavRole {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 5px;
  padding: 40px 18px 20px;
}
.ec-mypageNavRole .ec-mypageNavHead {
  text-align: center;
}
.ec-mypageNavRole .ec-mypageNavHead p {
  margin: 0;
}
.ec-mypageNavRole .ec-mypageNavHead .mp_welcome {
  font-size: 0.8rem;
}
.ec-mypageNavRole .ec-mypageNavHead .mp_welcome .user_name {
  font-size: 1.2rem;
  font-weight: 500;
}
.ec-mypageNavRole .ec-mypageNavHead .mp_point .point {
  color: #e2251f;
}
.ec-mypageNavRole .ec-mypageNavHead .mp_logout {
  margin: 20px 0;
}
.ec-mypageNavRole .ec-mypageNav {
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
  margin-top: 30px;
  padding-top: 1rem;
}
.ec-mypageNavRole .ec-mypageNav ul {
  list-style-type: none;
}
.ec-mypageNavRole .ec-mypageNav ul li {
  margin-top: 1px;
}
.ec-mypageNavRole .ec-mypageNav ul li a {
  display: block;
  font-size: 0.933rem;
  color: inherit;
  padding: 0.9em 1rem;
  padding-left: 3em;
  position: relative;
  transition: 0.3s;
}
.ec-mypageNavRole .ec-mypageNav ul li a i {
  font-size: 1.6em;
  color: #7A7A7A;
  position: absolute;
  top: calc(50% - 0.5em);
  left: 0.25em;
}
.ec-mypageNavRole .ec-mypageNav ul li a:after {
  font-family: "ecpfont";
  font-size: 0.9em;
  color: #7A7A7A;
  content: "\e91d";
  display: block;
  position: absolute;
  top: calc(50% - 0.6em);
  right: 0.25em;
}
.ec-mypageNavRole .ec-mypageNav ul li a:hover {
  background-color: var(--clrHelpNavHover, #eee);
}
.ec-mypageNavRole .ec-mypageNav ul li.active a {
  background-color: var(--clrHelpNavHover, #eee);
}
/*
マイページユーティリティ（ページバックボタン）
*/
.ec-mypageUtilRole {
  display: none;
}
.ec-mypageRole.index .ec-mypageUtilRole {
  display: none;
}
.ec-mypageUtilRole .pageBack {
  font-size: 1.143rem;
  color: var(--clrLinkText, #0066C0);
  line-height: 1;
  position: absolute;
  top: 0;
  right: -0.5em;
}
.ec-mypageUtilRole .pageBack i {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.2em;
  line-height: inherit;
  margin-right: 0.25em;
  margin-top: -0.1em;
}
/*
パーツ：モバイル用メニュー開閉ボタン ※EC-PACK7では破棄
*/
/*
.mp_menuBtn {
  position: relative;

  @include media_desktop {
    display: none;
  }

  a {
    display: block;
    //font-size: 1rem;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;

    $size: 40px;
    width:       $size;
    height:      $size;
    line-height: $size;
    border-radius: 50%;
    text-align: center;

    background-color: #000;
    color: #fff;

    i {
      line-height: inherit;
      font-size: 1.6rem;
    }

    // 退会完了ページではアカウントが削除されてログアウトされている状態ですので、マイページメニューボタンは表示させません
    @at-root body.LC_Page_Mypage_RefusalComplete & {
      display: none;
    }
  }
}
*/
/*
マイページ：インデックス

インデックスページのメニューボタンが並ぶ部位のスタイリングです。
*/
.ec-mypageIndexRole nav {
  max-width: 900px;
  margin: 0 auto;
}
.ec-mypageIndexRole ul {
  list-style-type: none;
}
.ec-mypageIndexRole ul li a {
  display: flex;
  align-items: center;
  color: inherit;
  padding: 1rem 0;
  transition: 0.3s;
}
.ec-mypageIndexRole ul li a .icon {
  margin-right: 13px;
}
.ec-mypageIndexRole ul li a .icon i {
  display: block;
  font-size: 30px;
  width: 1.9em;
  height: 1.9em;
  line-height: 1.9em;
  text-align: center;
  background-color: #F5F5F5;
  border-radius: 50%;
  transition: 0.3s;
}
.ec-mypageIndexRole ul li a .body h3, .ec-mypageIndexRole ul li a .body .h3 {
  font-size: 18px;
  font-weight: 500;
  margin: 0;
  margin-bottom: 0.4em;
}
.ec-mypageIndexRole ul li a .body .description {
  font-size: 0.8rem;
}
.ec-mypageIndexRole ul li a:hover {
  background-color: var(--clrHelpNavHover, #eee);
}
.ec-mypageIndexRole ul li a:hover .icon i {
  background-color: #fff;
}
/*
マイページ：購入履歴一覧

→ _16.1.history.scss
*/
/*
マイページ：購入履歴詳細

→ _16.2.historyDetail.scss
*/
/*
マイページ：お気に入り一覧
*/
.ec-favoriteRole ul.itemList {
  list-style-type: none;
}
.ec-favoriteRole ul.itemList li.item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 13px;
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-favoriteRole ul.itemList li.item:last-of-type {
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-favoriteRole ul.itemList li.item .fav_image {
  flex: 0 0 auto;
  width: 90px;
}
.ec-favoriteRole ul.itemList li.item .fav_name {
  flex: 1 1 auto;
  font-size: 1.066rem;
  padding: 0 1em;
}
.ec-favoriteRole ul.itemList li.item .fav_name a {
  color: inherit;
}
.ec-favoriteRole ul.itemList li.item .fav_price {
  flex: 1 1 auto;
  font-size: 1rem;
  white-space: nowrap;
  text-align: right;
}
.ec-favoriteRole ul.itemList li.item .fav_price .price {
  font-size: 1.33rem;
}
.ec-favoriteRole ul.itemList li.item .edit {
  flex: 0 0 auto;
  width: 8em;
  text-align: right;
}
/*
会員情報変更
*/
/*
お届け先変更

→ 「.ec-addressList」は「_17.1.address.scss」にて定義していますが、マイページ用とショッピングフロー用でデザインを共有するか、分離するかによって整理の具合は変わります。
今のところは、マイページ用の「.ec-addressList」を定義している状態です。デザインが確定して、分離するのならスタイリングをこちらに移動させていいと思います。
*/
/*
マイページ：退会手続き

→ _20.1.withdraw.scss
*/
/*
マイページ：ニュースレター
*/
.ec-newsletterRole .content1 {
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
}
.ec-newsletterRole .content2 {
  margin-top: 2rem;
}
.ec-newsletterRole .content2 .ec-input, .ec-newsletterRole .content2 .ec-halfInput, .ec-newsletterRole .content2 .ec-numberInput, .ec-newsletterRole .content2 .ec-zipInput, .ec-newsletterRole .content2 .ec-telInput {
  position: relative;
  font-size: 1.25rem;
}
.ec-newsletterRole .content2 .ec-input input, .ec-newsletterRole .content2 .ec-halfInput input, .ec-newsletterRole .content2 .ec-numberInput input, .ec-newsletterRole .content2 .ec-zipInput input, .ec-newsletterRole .content2 .ec-telInput input {
  font-size: inherit;
  color: inherit;
  padding-right: 3em;
}
.ec-newsletterRole .content2 .ec-input [type=submit], .ec-newsletterRole .content2 .ec-halfInput [type=submit], .ec-newsletterRole .content2 .ec-numberInput [type=submit], .ec-newsletterRole .content2 .ec-zipInput [type=submit], .ec-newsletterRole .content2 .ec-telInput [type=submit] {
  border: none;
  background: none;
  position: absolute;
  top: 50%;
  right: 0.25em;
  transform: translateY(-40%);
  font-size: 1.5em;
  opacity: 0.5;
  transition: 0.3s;
}
.ec-newsletterRole .content2 .ec-input [type=submit]:hover, .ec-newsletterRole .content2 .ec-halfInput [type=submit]:hover, .ec-newsletterRole .content2 .ec-numberInput [type=submit]:hover, .ec-newsletterRole .content2 .ec-zipInput [type=submit]:hover, .ec-newsletterRole .content2 .ec-telInput [type=submit]:hover {
  opacity: 1;
}
/*
プログレスボタン・表示（手続き進行）

会員登録やショッピングフローなどの一連の手続きボタン（「戻る」「進む」ボタン等）エリアのコンポーネントと、
その進行状況をページ上部に表示する手続きフローのコンポーネントのスタイリングです。
*/
/*
プログレスフロー（手続き進行状況表示）

EC4系のカートページでは上部に進行状況を示す「.ec-progress」がありますが、EC-PACK7では「.ec-progressFlow」と改めています。
EC4系では「_7.3.cart.scss」に記述されておりますが、EC-PACK7ではこちらにまとめる形にしました。

プログレスフローは、シンプルな「〇-〇-〇」のタイプ「.ec-progressFlow」と、円内に画像を入れるタイプ「.ec-progressFlowPicture」を用意します。
それぞれにスタイリングをしますが、スマホ時はどちらも同じ表示にしたいので、まずスマホ用のスタイリングをmixinにしておき、あとからインクルードします。

.ec-progress自体に上下マージンを持たせる事にしました。
各種ページではコンテナの中で「& &__progress」要素の中に、当.ec-progressコンポーネントを置かれる構造ですが、
各種ページは、会員登録やカート、ショッピングフローと、それぞれコンテナclassが別物ですので、各種ページにおいてある程度、
余白を統一させておきたいと思いこのようにしております。
*/
/*
mixin： プログレスフロー（スマホ用共通スタイル mixin）
「.ec-progressFlow」「.ec-progressFlowPicture」それぞれからインクルードさせます。
*/
/*
プログレスフロー表示 「〇-〇-〇」タイプ

JEIA4004タイプ（※リーデルでは別デザインなのでこちらはコメントアウト）
*/
/*
.ec-progressFlow {

  // レスポンシブの変化が大きいのでデバイスごとにスタイリングをします。

  // スマホ時
  @include media_sphone {
    // スマホ用スタイリングをインクルード
    @include progressFlow_sphone;
  }

  // タブレット・デスクトップ時
  @media ( min-width: $tablet ) {
    margin: $padding-desktop auto;// 各種ページでの上下余白具合を統一させたいので当.ec-progressFlowに余白を設定しています。
    padding: 0;
    list-style: none;

    display: table;
    table-layout: fixed;
    width: 100%;
    max-width: 600px;

    & &__item {
      font-family: "Poppins";
      font-size: 1.3rem;// 横線がずれないようここでfont-sizeを指定

      display:table-cell;
      text-align: center;
      position: relative;
      z-index: 10;

      // 横線
      &:after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background-color: #ddd;

        position: absolute;
        top: 1em;// 「& &__number」の大きさが2emなので
        left: 50%;
        transform: translate(0,-50%);
        z-index: -1;
      }

      &:last-child:after {
        display: none;
      }
    }

    // 丸数字
    & &__number{
      background-color: $noactive-color;
      color: #fff;

      display: inline-block;
      line-height: 2em;
      width: 2em;
      height: 2em;
      border-radius: 50%;
      text-align: center;
      margin-bottom: 0.25em;
    }

    // ラベルテキスト
    & &__label {
      font-family: $ff-default;
      font-size: 0.8rem;

      padding: 0;
      line-height: 1.2;
      white-space: nowrap;// 改行されないように（崩れるようなら再調整）
    }

    // 進捗カレント表示
    & &__item.is-current {

      .ec-progressFlow__number {
        background-color: $active-color;
      }

      .ec-progressFlow__label {
        color: $active-color;
      }
    }
  }
}
*/
/*
プログレスフロー表示 「〇-〇-〇」赤丸タイプ リーデル
*/
.ec-progressFlow {
  margin-left: auto;
  margin-right: auto;
  display: table;
  table-layout: fixed;
  width: 100%;
  max-width: 500px;
}
.ec-progressFlow .ec-progressFlow__item {
  display: table-cell;
  text-align: center;
  position: relative;
  z-index: 10;
}
.ec-progressFlow .ec-progressFlow__item:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #ddd;
  position: absolute;
  top: calc(34px / 2);
  left: 50%;
  z-index: -1;
}
.ec-progressFlow .ec-progressFlow__item:last-child:after {
  display: none;
}
.ec-progressFlow .ec-progressFlow__number {
  display: inline-block;
  width: 34px;
  height: 34px;
  background-color: #fff;
  border-radius: 50%;
  border: solid 1px #ddd;
  text-indent: -9999px;
}
.ec-progressFlow .ec-progressFlow__label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.966rem;
  color: #777;
  padding: 0.5em 0;
  line-height: 1.2;
  white-space: nowrap;
}
.ec-progressFlow .ec-progressFlow__item.is-current .ec-progressFlow__number {
  border-color: #5B5B5B;
  position: relative;
}
.ec-progressFlow .ec-progressFlow__item.is-current .ec-progressFlow__number:after {
  content: "";
  display: block;
  width: 54%;
  height: 54%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #B90A0F;
}
.ec-progressFlow .ec-progressFlow__item.is-current .ec-progressFlow__label {
  color: #000;
}
/*
プログレスフロー表示 円内に画像を入れるタイプ
*/
/*
プログレスボタン（手続きボタン）

EC4系では会員登録や問い合わせ等の「進む」「戻る」系のボタン群を「.ec-registerRole__actions」でスタイリングしている様子ですが、
「register=登録」なので言葉の意味では問い合わせでは少々意味合いが反れる感があります。またTwig側のHTML構造に一貫性が欠ける部分もあったりします。
そもそも「.ec-registerRole」自体は「新規会員登録」ページのメイン外枠要素だったりしますので、できれば名称なりHTML構造は整理したい所です。

EC-PACKでは、手続きが進行していく意味をなす「progress」を名称に用います。
EC4系のカートページでは上部に進行状況を示す「.ec-progress」がありますので、これとは区別する意味で、「.ec-progressAction」としました。
また、この進行の具合を示す表示部分はEC-PACKでは「.ec-progressFlow」とします。
*/
.ec-progressAction .ec-progressAction__message {
  font-size: 0.933rem;
  text-align: center;
}
.ec-progressAction .ecp_form_group .ec-checkbox, .ec-progressAction .ecp_form_group .ec-blockCheckbox {
  margin: 0;
  text-align: center;
}
.ec-progressAction .ecp_form_group .ec-checkbox .input_item, .ec-progressAction .ecp_form_group .ec-blockCheckbox .input_item {
  display: inline-block;
}
.ec-progressAction .ec-progressAction__actions {
  margin-bottom: 0 !important;
  display: flex;
  justify-content: center;
}
.ec-progressAction .ec-progressAction__actions .ec-blockBtn--action.is-disabled {
  background-color: var(--clrBtnDisabledBg, #999);
  border-color: var(--clrBtnDisabledBg, #999);
}
/*
ドロップセレクト

商品一覧の「並び替え」、商品詳細のオプション選択等の、選択項目が画面下からドロップメニューで出てくるドロップダウンのスタイリングです。
*/
.ec-dropSelect.is-active {
  touch-action: none;
}
.ec-dropSelect.is-active .ec-dropSelect__body {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.ec-dropSelect.is-active .ec-dropSelect__bg {
  visibility: visible;
  opacity: 0.5;
}
.ec-dropSelect .ec-dropSelect__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  z-index: 990;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
}
.ec-dropSelect .ec-dropSelect__body {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 50vh;
  background-color: #fff;
  border-radius: 14px 14px 0 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  z-index: 991;
  visibility: hidden;
  transform: translate3d(0, 100%, 0);
  transition: 0.3s;
}
.ec-dropSelect .ec-dropSelect__title {
  font-size: 1.286rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2em;
}
.ec-dropSelect .ec-dropSelect__select {
  max-width: 600px;
  margin: 1rem auto;
  font-size: 1.072rem;
  max-height: 70vh;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.ec-dropSelect .closeBtn {
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  border-radius: 50%;
  background-color: #E6E6E6;
  color: #131313;
  cursor: pointer;
  transition: 0.3s;
  position: absolute;
}
.ec-dropSelect .closeBtn:before {
  font-family: "ecpfont";
  content: "\e916";
  font-size: 11.25px;
  line-height: inherit;
}
.ec-dropSelect .closeBtn:hover {
  background-color: #cdcdcd;
}
/*
レイアウトフレーム

当テンプレートは1カラムデザインとなっています。ここでは2～3カラムレイアウト定義は省いて1カラムデザインのみスタイリングしています。
*/
.ec-layoutRole {
  width: 100%;
  transition: transform 0.3s;
  background: transparent;
  min-height: 100vh;
  display: flex;
  flex-flow: column;
}
.ec-layoutRole .ec-layoutRole__contentTop {
  padding: 0;
}
.ec-layoutRole .ec-layoutRole__contents {
  width: 100%;
}
.ec-layoutRole .ec-layoutRole__main {
  width: 100%;
}
body.LC_Page_Index .ec-layoutRole .ec-layoutRole__contentBottom {
  padding-top: 0;
}
.ec-layoutRole .ec-layoutRole__footer {
  margin-top: auto;
  margin-bottom: 0;
}
/*
2カラムレイアウト

2カラムレイアウト時は「.ec-layoutRole__contents」に「col_2」classを付します（site_main.tpl）

※箔一スタイルではトップページと商品一覧ページに適用
*/
/*
汎用コンテナ

汎用的なコンテナブロックです。

mixin「コンテナ」を@includeしています。
mixin「コンテナ」は、コンテナ自体のmax-width、左右余白などブロックスタイルの共通スタイリングを施しています。
各セクションの左右余白の統一感はコンテナによってもたらされます。

背景色をブラウザ幅フルに敷く場合は「max-width:100%;」上書きしておいて、コンテナの中にinner的要素を設けてそちらで改めてmax-widthを指定します。
*/
.ec-role {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
その他コンテナ

その都度、セクションごとに「@include container;」してコンテナ化させています。
*/
/*
ヘッダー
*/
/*
ヘッダーフレーム構造
*/
.ec-layoutRole__header {
  /*
  ※デスクトップ用
  4.1.1以前ではヘッダー高さの指定はヘッダー枠「.ec-headerRole」に対して指定していましたが、こちらレイアウトフレーム枠の「.ec-layoutRole__header」にも同じく高さを入れておきます。
  ヘッダー枠にもそれを格納するレイアウトフレーム枠にも両方、高さを指定する形になります。
  その理由とは、スクロール判定でヘッダー高さが縮む挙動を入れておりますが（デスクトップ時）、ヘッダーの固定は昔はfixedで実装してたのをこれをstickyに切り替えた事で、
  ヘッダーが縮むとそれに伴い、ページ全体の高さも変化するためにスクロール量自体が変わり、結果、ヘッダー縮みの挙動がぺこぺこしてしまう事があります（Chromeで顕著に出現）。
  その対策として、ヘッダー枠「.ec-headerRole」は縮むがその格納レイアウトフレーム枠「.ec-layoutRole__header」は縮まず高さを維持する事からページ全体高さに影響しないようにします。
  この対策に伴い、ヘッダーの背景色はこちらの格納レイアウトフレーム枠にではなくヘッダー枠「.ec--headerRole」側で定義させる必要があります。（※背景色定義は末尾の「ヘッダー挙動」にて）

  ※これによりヘッダーレイアウトフレーム枠にはヘッダー以外を入れてはいけない事になります。「ヘッダーインフォメーション」はjsでレイアウトフレームの外に出す事にしました（他ToDoあり）。
  */
}
/* .ec-headerRole フレーム構造 */
.ec-headerRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  background-color: #BCA46B;
  position: relative;
}
/*
ヘッダーナビ（メガメニュー型）

サブメニュー方式（EC4系テンプレート）ではポップアップ型でナビボタンの下からメニューが出るデザインでしたが、こちらは、
メガメニュー型なので各ナビボタンは高さ100%としています。それに伴いあちらこちらスタイリングを改めています。
*/
.ec-headerNav {
  height: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: var(--clrHeaderText, #fff);
}
.ec-headerNav .ec-globalnav {
  display: flex;
  flex-flow: row nowrap;
  height: 100%;
}
.ec-headerNav .ec-globalnav .nav_item {
  height: 100%;
  transition: 0.3s;
}
.ec-headerNav .ec-globalnav .nav_item:hover {
  background-color: #D2A946;
}
.ec-headerNav .ec-globalnav .nav_item > a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1.5em;
  color: inherit;
}
.ec-headerNav .ec-globalnav .nav_item.has-child > a span:after {
  font-family: "ecpfont";
  content: "\e91e";
  font-size: 0.8em;
  font-weight: 700;
  margin-left: 0.5em;
}
.ec-headerNav .ec-globalnav .nav_item.has-child .ec-megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
}
.ec-headerNav .ec-globalnav .nav_item.has-child:hover .ec-megamenu {
  visibility: visible;
  opacity: 1;
}
/*
ヘッダータイトル
*/
.ec-headerTitle {
  display: block;
  /*
   * デスクトップ時はページスクロールされるとヘッダー高さを縮小させますので、縮小に伴い、
   * ヘッダーロゴ画像が連動して縮小されるように高さに合わせて幅が変動するように準備します。（※ヘッダー縮小の挙動スタイリングは当scssの最後の方で記述しています）
   * ロゴ画像自体の高さ（Sass変数）をmax-heightに設定しておき、ロゴ画像がそれ以上大きくならないようにしています。
   *
   * ロゴ画像のデザインにもよりますが、モバイル時のロゴの収まりも優先して画像生成して、デスクトップ時はそれに合わせて調整（上下中央配置）できた方がいいと思います。
   */
}
.ec-headerTitle a {
  transition: 0.3s;
}
.ec-headerTitle a:hover {
  opacity: 0.8;
}
/*
ヘッダーメニュー

ヘッダーメニューは、会員登録、ログインや、商品検索、カートといったユーザメニューで構成されています。
またマウスオーバーでボタンガイド的なポップアップが表示されるようにしています。
*/
.ec-headerMenu {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: var(--clrHeaderText, #fff);
}
.ec-headerMenu .ec-headerMenu__item {
  padding: 0;
  /* スマホ時に非表示とするボタン */
  /* 最後のitemは右余白を除去 */
}
.ec-headerMenu .ec-headerMenu__item > a {
  display: block;
  color: inherit;
  line-height: 1;
  padding: 7px 7px;
  border-radius: 50%;
  border: solid 1px transparent;
  transition: 0.2s;
}
.ec-headerMenu .ec-headerMenu__item > a:hover {
  text-decoration: none;
  background-color: #D2A946;
}
.ec-headerMenu .ec-headerMenu__item:last-child {
  padding-right: 0;
}
.ec-headerMenu .ec-headerMenu__itemIcon {
  font-size: 20px;
}
.ec-headerMenu .ec-headerMenu__itemText {
  display: none;
}
/* ポップアップ */
.ec-headerMenu .ec-headerMenu__item.has-popup {
  position: relative;
}
.ec-headerMenu .ec-headerMenu__item.has-popup:hover .ec-headerMenu__itemPopup {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
.ec-headerMenu .ec-headerMenu__itemPopup {
  position: absolute;
  top: 100%;
  right: -30px;
  width: auto;
  min-width: 200px;
  padding-top: 15px;
  /*くちばし分の余白*/
  pointer-events: none;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, -15px, 0);
  transition: 0.2s;
}
.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner {
  background-color: #fff;
  color: #333;
  padding: 20px;
  text-align: center;
  white-space: nowrap;
  filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
  position: relative;
  /* くちばし */
}
.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner:after {
  content: "";
  width: 0;
  height: 0;
  border: solid 10px transparent;
  border-bottom-color: #fff;
  position: absolute;
  bottom: 100%;
  /*
  left: 50%;
  transform: translateX(-50%);
  */
  right: 40px;
}
.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner .ec-blockBtn {
  height: 40px;
  line-height: 40px;
  font-size: 0.933rem;
}
/*
ヘッダー検索
*/
.ec-headerSearch .ec-headerSearch__body {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 998;
  background-color: #fff;
  color: var(--clrDefault, #000);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
}
.ec-headerSearch .ec-headerSearch__body.is-active {
  visibility: visible;
  opacity: 1;
}
.ec-headerSearch .ec-headerSearch__inner {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 960px;
}
.ec-headerSearch .ec-headerSearch__label {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  color: #000;
  margin-bottom: 0.5em;
}
.ec-headerSearch .ec-headerSearch__keyword .ec-input, .ec-headerSearch .ec-headerSearch__keyword .ec-halfInput, .ec-headerSearch .ec-headerSearch__keyword .ec-numberInput, .ec-headerSearch .ec-headerSearch__keyword .ec-zipInput, .ec-headerSearch .ec-headerSearch__keyword .ec-telInput {
  position: relative;
}
.ec-headerSearch .ec-headerSearch__keyword .ec-input input[type=search], .ec-headerSearch .ec-headerSearch__keyword .ec-halfInput input[type=search], .ec-headerSearch .ec-headerSearch__keyword .ec-numberInput input[type=search], .ec-headerSearch .ec-headerSearch__keyword .ec-zipInput input[type=search], .ec-headerSearch .ec-headerSearch__keyword .ec-telInput input[type=search] {
  font-size: 1rem;
  height: 3.125em;
  border-radius: 2em;
  padding: 0;
  padding-left: 1em;
  padding-right: 3em;
}
.ec-headerSearch .ec-headerSearch__keywordBtn {
  border: none;
  background: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.1em;
  right: 1em;
  width: auto;
  height: 100%;
  color: #777;
}
.ec-headerSearch .ec-headerSearch__keywordBtn i {
  font-size: 1.75em;
}
.ec-headerSearch .ec-headerSearch__util {
  margin-bottom: 0 !important;
}
.ec-headerSearch .ec-headerSearch__util .otherlink {
  font-size: 1rem;
  text-align: right;
}
.ec-headerSearch .ec-headerSearch__util .otherlink a {
  display: inline-block;
  color: #000;
}
.ec-headerSearch .ec-headerSearch__util .otherlink a span {
  display: inline-block;
  vertical-align: middle;
}
.ec-headerSearch .ec-headerSearch__util .otherlink a i {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8em;
  width: 1.9em;
  height: 1.9em;
  line-height: 1.9em;
  text-align: center;
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  margin-left: 0.5em;
}
.ec-headerSearch .ec-headerSearch__util .closebtn {
  text-align: right;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.5em;
}
.ec-headerSearch .ec-headerSearch__util .closebtn a {
  display: inline-block;
  color: var(--clrLinkText, #0066C0);
}
.ec-headerSearch .ec-headerSearch__util .closebtn a i {
  font-size: 0.8em;
  margin-right: 0.5em;
}
/*
カートナビゲーション

カートインがあればカートアイコンに数量をバッジ表示します。
カートボタンにマウスオーバーでカートナビゲーション（カート内容詳細）を表示します。
*/
.ec-cartNavi {
  position: relative;
  /* カート数バッジ */
  /* カート内容詳細ポップアップ枠組み */
}
.ec-cartNavi .ec-cartNavi__badge {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 10px;
  line-height: 1;
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
  background-color: #f55;
  color: #fff;
  pointer-events: none;
  position: absolute;
  top: 0px;
  right: 0px;
}
.ec-cartNavi .ec-cartNavi__body {
  position: absolute;
  top: 100%;
  right: 0;
  width: 320px;
  display: inline-block;
  padding-top: 14px;
  /*くちばし分の余白*/
  pointer-events: none;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, -15px, 0);
  transition: 0.2s;
}
.ec-cartNavi .ec-cartNavi__body .ec-cartNaviWrap {
  background-color: #fff;
  color: #333;
  padding: 20px;
  filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
  position: relative;
  /* くちばし */
}
.ec-cartNavi .ec-cartNavi__body .ec-cartNaviWrap:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  bottom: 100%;
  right: 10px;
  border: solid 10px transparent;
  border-bottom-color: #fff;
}
.ec-cartNavi:hover .ec-cartNavi__body {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
/*
カートナビゲーションのポップアップ(カートイン在り)

カートに商品が追加されている場合のカートナビゲーションのスタイリングです。
*/
.ec-cartNaviIsset {
  font-size: 13px;
  /* 商品画像 */
  /* カート削除ボタン */
  /* 商品詳細 */
  /* 商品名 */
  /* 商品規格 */
  /* 商品価格 */
}
.ec-cartNaviIsset .ec-cartNaviIsset__cart {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #eee;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartImage {
  flex: 0 0 90px;
  order: 2;
  position: relative;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartImage > a {
  display: block;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a {
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  background-color: #E6E6E6;
  color: #131313;
  cursor: pointer;
  transition: 0.3s;
  position: absolute;
  position: absolute;
  top: -10px;
  right: -10px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a:before {
  font-family: "ecpfont";
  content: "\e916";
  font-size: 9px;
  line-height: inherit;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a:hover {
  background-color: #cdcdcd;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContent {
  flex: 0 1 auto;
  order: 1;
  padding-right: 10px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTitle {
  margin-bottom: 0.5em;
  font-weight: 700;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentClass {
  margin: 0;
  margin-left: 10px;
  margin-bottom: 0.5em;
  font-size: 0.85em;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice {
  display: inline-block;
  vertical-align: bottom;
  margin-left: 10px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice .price {
  display: inline-block;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice .tax {
  display: inline-block;
  font-size: 0.85em;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice .quantity {
  display: inline-block;
  margin-left: 10px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__TotalPrice {
  margin: 0;
  display: flex;
  justify-content: space-between;
  font-size: 1.1em;
  font-weight: 500;
}
.ec-cartNaviIsset .ec-cartNaviIsset__TotalPrice dt {
  font-weight: inherit;
}
.ec-cartNaviIsset .ec-cartNaviIsset__action {
  margin-top: 30px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__action .ec-blockBtn--action {
  background-color: #000;
  color: #fff;
  border: none;
}
/*
カートナビゲーションのポップアップ(カートイン無し)

カートが空の状態でのカートナビゲーションのスタイリングです。
*/
.ec-cartNaviNull {
  font-size: 13px;
}
.ec-cartNaviNull .ec-cartNaviNull__message {
  text-align: center;
}
.ec-cartNaviNull .ec-cartNaviNull__message p {
  margin: 0;
}
/*
ヘッダー挙動 その１

当テンプレートではヘッダーをページ上部に固定させる仕様となっております。
デスクトップ時はページスクロールが発生するとヘッダーの高さを縮小させます。
*/
.ec-layoutRole .ec-layoutRole__header {
  position: sticky;
  top: 0;
  z-index: 1001;
  transition: 0.3s;
}
/*
ヘッダー挙動 その２

デスクトップ時のみの挙動ですが、
トップページでは、トッププロモーションにヘッダーが被る形となり、ヘッダー背景は透過状態になります。
ただし、背景を透過する条件は、「ページがスクロールされていない」場合とします。
↓
リーデル：トップページのヘッダーの下余白のみ調整
*/
/*
フッター【箔一スタイル】

全ページで使用されるフッターのプロジェクトコンポーネントです。

フッターガイド、フッターナビ、フッターソーシャル、フッタータイトルで構成されています。

※ページコンテンツ本体（.ec-layoutRole__contents）とフッターとの余白は、`.ec-layoutRole__footer`に持たせてあります。
↓
EC-PACK7
フッター枠の上にパンくずブロックが配置されるのでこの余白は解除、余白は「.ec-layoutRole__contentBottom」に持たせるようにしています（_11.1.role.scss）
*/
.ec-layoutRole__footer {
  /*
  @include media_sphone {
    padding-top: $padding-sphone;
  }

  @include media_tablet {
    padding-top: $padding-tablet;
  }

  @include media_desktop {
    padding-top: 100px;
  }
  */
}
.ec-footerRole {
  background-color: var(--clrFooterBg, #000);
  color: var(--clrFooterText, #fff);
  /*
  @include media_sphone {
    font-size: 0.9285rem;
  }

  @include media_tablet {
    font-size: 0.8666rem;
  }

  @include media_desktop {
    font-size: 0.8666rem;
  }
  */
}
/*
フッターガイド
*/
.ec-footerGuide .ec-footerGuide__item:nth-child(1) {
  background-color: #000;
}
.ec-footerGuide .ec-footerGuide__item:nth-child(2) {
  background-color: #152628;
}
.ec-footerGuide .ec-footerGuide__item .title {
  text-align: center;
  line-height: 1.23;
  margin-bottom: 1.5rem;
  /*
  .main {
    font-family: "Century Gothic";
    font-weight: bold;
    font-size: 1.625rem;

    @include media_desktop {
      font-size: 2.533rem;
    }
  }
  */
}
.ec-footerGuide .ec-footerGuide__item .title .sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.466rem;
}
.ec-footerGuide .ec-footerGuide__item .text {
  font-size: 0.8rem;
  margin: 1rem 0;
  text-align: center;
}
.ec-footerGuide .ec-footerGuide__item .text.big {
  font-size: 0.933rem;
}
/*
.ec-footerNewsletterRole {
  font-size: 0.75rem;
  text-align: center;

  @include media_desktop {
    font-size: 1.2rem;
    text-align: left;
  }

  .content1 {
    font-weight: 500;
  }

  .content2 {
    margin-top: 2rem;

    // E-mail入力フォーム
    .ec-input {
      position: relative;

      input {
        background-color: transparent;
        border: none;
        border-radius: 0;
        border-bottom: solid 1px rgba(255, 255, 255, 0.2);
        padding-left: 0;
        color: inherit;
        font-size: 1rem;

        @include media_desktop {
          font-size: 1.466rem;
        }

        &::-moz-placeholder {
          color: rgba(255, 255, 255, 0.5);
        }
      }

      // 送信ボタン（アイコン）
      [type="submit"] {
        border: none;
        background: none;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-40%);
        font-size: 1.7em;
      }
    }
  }
}
*/
.ec-footerContactRole .content1,
.ec-footerContactRole .content2 {
  font-weight: 500;
}
.ec-footerContactRole .content1 .ec-blockBtn,
.ec-footerContactRole .content2 .ec-blockBtn {
  font-size: 1.066rem;
  display: inline-block;
  width: 265px;
  padding: 0 1.5em;
  font-weight: inherit;
  height: 2.66em;
  line-height: 2.66em;
  background-color: transparent;
  border-radius: 2em;
  border-color: rgba(255, 255, 255, 0.5);
}
.ec-footerContactRole .content1 .ec-blockBtn i,
.ec-footerContactRole .content2 .ec-blockBtn i {
  font-size: 1.2em;
  margin-right: 0.5em;
}
.ec-footerContactRole .content1 .ec-blockBtn:hover,
.ec-footerContactRole .content2 .ec-blockBtn:hover {
  /*
  background-color: #fff;
  border-color: #fff;
  color: #000;
  */
  background-color: rgba(255, 255, 255, 0.15);
}
.ec-footerContactRole .content2 .box2 .hour {
  font-size: 0.8rem;
  margin-top: 0.25em;
}
/*
フッターガイド2
*/
.ec-footerGuide2 {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1680px;
}
.ec-footerGuide2 ul {
  /*
  @include media_sphone {
    @include shelfLayout(1,0px,10px);
  }

  @include media_tablet {
    @include shelfLayout(2,15px,15px);
  }

  @include media_desktop {
    @include shelfLayout(4,30px,0px);
  }
  */
}
.ec-footerGuide2 ul li {
  /*
  //リーデルデザイン
  a {
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 1px #C8B9B9;
    background-color: transparent;
    color: #E6E2E2;
    border-radius: 6px;
    padding: 1rem;
    transition: .3s;
    height: 4em;

    @include media_tablet {
      height: 5em;
    }

    @include media_desktop {
      height: 106px;
    }

    &:hover {
      text-decoration: none;
      background-color: #fff;
      border-color: #fff;
      color: #000;

      .icon img {
        // アイコンは画像なのでfilterで黒化
        filter: brightness(0);
      }
    }

    .icon {
      flex: 0 0 auto;
      margin-right: 1rem;

      img {
        width: 100%;
        height: auto;
        transition: .3s;

        // 各アイコン画像サイズ
        &.icon_info {
          width: 40px;
        }
        &.icon_truck {
          width: 55px;
        }
        &.icon_wallet {
          width: 45px;
        }
        &.icon_faq {
          width: 50px;
        }
      }
    }

    .title {
      flex: 0 0 auto;
      line-height: 1.2;

      .main {
        font-size: 1.066rem;
      }

      .sub {
        font-size: .733rem;
        opacity: 0.44;
        margin-top: .25em;
      }
    }
  }
  */
}
.ec-footerGuide2 ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  font-size: 0.8rem;
  color: inherit;
  padding: 1em;
}
.ec-footerGuide2 ul li a:before {
  display: block;
  content: "";
  width: 3em;
  height: 0;
  border-top: solid 1px #fff;
  opacity: 0.5;
  transform: rotate(-45deg);
  margin-right: -0.25em;
}
.ec-footerGuide2 ul li a:hover {
  text-decoration: underline;
}
/*
フッターロゴ＆ソーシャルボタン
*/
.ec-footerLogoAndSocial {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1680px;
}
.ec-footerLogoAndSocial > .inner {
  width: 273px;
  margin: 0 auto;
}
.ec-footerLogoAndSocial .ec-footerSocial {
  margin: 1.5rem 0;
}
.ec-footerLogoAndSocial .ec-footerSocial ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.ec-footerLogoAndSocial .ec-footerSocial ul li a {
  display: block;
  color: inherit;
  transition: 0.3s;
}
.ec-footerLogoAndSocial .ec-footerSocial ul li a i {
  font-size: 24px;
}
.ec-footerLogoAndSocial .ec-footerSocial ul li.instagram a:hover {
  color: #f00075;
}
.ec-footerLogoAndSocial .ec-footerSocial ul li.youtube a:hover {
  color: #FF0000;
}
.ec-footerLogoAndSocial .ec-footerSocial ul li.facebook a:hover {
  color: #3B5999;
}
.ec-footerLogoAndSocial .ec-footerSocial ul li.twitter a:hover {
  color: #000000;
  filter: drop-shadow(0 0 1px #fff);
}
/*
フッターナビ
*/
.ec-footerNavi {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  margin-top: 1rem;
}
.ec-footerNavi ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
  font-size: 0.966rem;
  font-weight: 500;
}
.ec-footerNavi ul li {
  margin: 0 1em;
}
.ec-footerNavi ul li a {
  color: inherit;
}
.ec-footerNavi ul li a:hover {
  text-decoration: underline;
}
/*
フッタータイトル
*/
.ec-footerTitle {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-footerTitle .copyright {
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}
/*
フッターカレンダー

EC-CUBE4.1.1より追加された「カレンダーブロック」になりますが、当テンプレートではフッターカレンダーとして使用しています。
標準でふた月分のカレンダーが表示されますが、当テンプレートではひと月ごとスライド表示させるようにしています。

※こちらのカレンダーはEC4系のものとなっています。かつ、EC-PACK7ではカレンダーについては未コーディングですので今のところはコメントアウトしています。
*/
/*
// フッターカレンダー
.ec-footerCalendar {
  width: 100%;
  color: inherit;
  position: relative;// slick領域外アローボタン用

  @include media_desktop {
    // カレンダー枠に最大幅を定義して左右中央配置とします
    width: 250px;
    margin: 0 auto;
    margin-top: 10px;
  }

  // slickコンテナ
  & &__slick {
    border-bottom: solid 1px $clrFooterBorder;// カレンダーの下に敷かれる下線

    // slick準備整うまでは非表示
    visibility: hidden;
    opacity: 0;
    transition: 1s;

    // slick準備完了で表示開始
    &.slick-initialized.slick-initialized {
      visibility: visible;
      opacity: 1;
    }
  }

  // slick領域外アローボタン（※positionによって、カレンダータイトル（〇年〇月）の上に被せる形にします）
  .slick-appendArrows {
    position: absolute;
    top: 0.15rem;
    left: 0;
    width: 100%;

    display: flex;
    justify-content: space-between;

    .slick-arrow {
      font-size: .66rem;//10px;
      width:  1.5em;
      height: 1.5em;
      line-height: 1.5;
      text-align: center;
      background-color: $clrFooterBorder;
      border-radius: 50%;

      i {
        display: block;
        color: $clrFooterTitleText;// フッタータイトル文字色を使います
        font-size: 1.5em; // サイズ微調整
        padding-top: 0.05em;// 上下位置微調整
      }

      &:not(.slick-disabled) {
        cursor: pointer;
      }

      &.slick-disabled {
        opacity: 0.25;
      }
    }

    .slick-prev {

      i {
        transform: rotate(180deg);
      }
    }

    .slick-next {
    }
  }

  // カレンダーアイテム
  & &__item {
  }

  // カレンダータイトル
  & &__monthTitle {
    text-align: center;
    font-size: 1rem;
    line-height: 1;
  }

  // 脚注
  & &__footnote {
    font-size: 0.8rem;
    color: inherit;
    line-height: 1.2;
    margin-top: 1em;

    .holiday {
      display: inline-block;
      width: 15px;
      height: 15px;
      background-color: $clrCalendarHolidayBg;
      margin-left: .25em;
      margin-right: .25em;
    }
  }
}


// カレンダー
.ec-calendar {
  border-top: solid 1px $clrFooterBorder;// カレンダーの上に敷かれるborderライン
  // ※カレンダーの下に敷かれる下線は、月によってカレンダー高さは変わるので、カレンダーにではなく、slickコンテナ側に下線を入れる形にしています
  padding: .5rem 0;
  margin-top: .5rem;

  // カレンダー構成table
  table {
    margin: 0;
    padding: 0;
    width: 100%;
    table-layout: fixed;
    font-size: 0.8rem;

    @include media_desktop {
      // tableをわずかに左右拡大して、日・土のマスの端の余白をつぶし、枠いっぱいになるようにします（カレンダーの枠「.ec-footerCalendar」が250pxである前提で調整します）
      width: calc(100% + 16px);
      margin-left: -8px;
    }

    th, td{
      padding: 1px 0;// 行の高さに連携します
      text-align: center;
      vertical-align: middle;
      font-weight: 400;

      span {
        display: inline-block;
        width: 1.7em;
        line-height: 1.7;
        border: solid 1px transparent;
      }
    }
  }

  // 休日の表記
  & &__holiday {

    span {
      background-color: $clrCalendarHolidayBg;
      color: $clrCalendarHolidayText;
    }
  }

  // 本日の表記
  & &__today {

    span {
      background-color: $clrCalendarTodayBg;
      color: $clrCalendarTodayText;
    }
  }
}
*/
/*
パンくずリスト

ぱんくずプラグイン「jeia_breadcrumbs_block.twig」用のスタイリングです。
*/
.ec-topicPathRole {
  width: 100%;
  background-color: transparent;
  color: var(--clrDefaultThin, #676464);
  font-size: 0.866rem;
}
.ec-topicPathRole .ec-topicPathRole__lists {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.ec-topicPathRole .ec-topicPathRole__lists li {
  display: inline-block;
  line-height: 1.5em;
}
.ec-topicPathRole .ec-topicPathRole__lists li.link_home {
  color: var(--clrDefault, #000);
  font-family: "Century Gothic";
  font-weight: bold;
}
.ec-topicPathRole .ec-topicPathRole__lists li a {
  color: inherit;
}
.ec-topicPathRole .ec-topicPathRole__lists li + li:before {
  font-family: "ecpfont";
  content: "\e91d";
  display: inline-block;
  font-size: 0.8em;
  margin: 0 1em;
}
/*
メガメニュー（ヘッダーグローバルメニュー）

ヘッダーナビのメガメニューのスタイリングになります。
メガメニューのマウスhoverによる表示ON/OFFについては「_11.2.header.scss」にて記述しています。こちらはメガメニューの本体についてのスタイリングになります。
*/
.ec-megamenu {
  background-color: rgba(0, 0, 0, 0.9);
}
.ec-megamenu .ec-megamenu__body {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-megamenu .ec-megamenu__body ul.level_1 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li {
  position: relative;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li > a {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 7px;
       column-gap: 7px;
  align-items: center;
  height: 80px;
  padding: 7px;
  background-color: #fff;
  color: #000;
  font-size: 0.933rem;
  font-weight: 500;
  transition: 0.3s;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li > a .text {
  flex: 1 1 auto;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li > a .pic {
  flex: 0 0 auto;
  height: 100%;
  width: auto;
  /*
  // 画像+テキストの場合（画像なしの場合はテキストは左右中央揃えですが、画像ありの場合はテキストを左に寄せます）
  &:not(.no_image) + .text {
    justify-content: flex-start;
  }
  */
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li > a .pic img {
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li > a .pic.no_image {
  background-color: #f4f4f4;
  aspect-ratio: 1/1;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li > a:hover {
  opacity: 0.9;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li.has-child > a:after {
  font-family: "ecpfont";
  content: "\e91e";
  font-size: 0.8em;
  font-weight: 700;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li.has-child:hover > a {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.ec-megamenu .ec-megamenu__body ul.level_1 > li.has-child:hover > ul {
  visibility: visible;
  opacity: 1;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) {
  position: absolute;
  top: 100%;
  left: 40px;
  width: 100%;
  z-index: 1;
  padding: 7px 0;
  border-end-start-radius: 4px;
  border-end-end-radius: 4px;
  background-color: #fff;
  box-shadow: 0 5px 3px rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1).level_2 {
  left: 0;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li {
  margin-top: 7px;
  padding: 0 7px;
  position: relative;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li:first-child {
  margin-top: 0;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li > a {
  display: flex;
  align-items: center;
  -moz-column-gap: 7px;
       column-gap: 7px;
  font-size: 0.866rem;
  font-weight: 500;
  color: #000;
  transition: 0.3s;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li > a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li > a .pic {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li > a .pic.no_image {
  background-color: #f4f4f4;
  aspect-ratio: 1/1;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li.has-child > a:after {
  font-family: "ecpfont";
  content: "\e91e";
  font-size: 0.8em;
  font-weight: 700;
}
.ec-megamenu .ec-megamenu__body ul.child:not(.level_1) > li.has-child:hover > ul {
  visibility: visible;
  opacity: 1;
}
/*
ドロワー
*/
/*
ドロワー開閉ボタン

ドロワー開閉ボタンはスマホ・タブレット時に表示されます。
*/
/* ドロワーボタン（サイドメニュー開閉ボタン） */
.ec-drawerButton {
  display: block;
  cursor: pointer;
  position: relative;
}
.ec-drawerButton .burger {
  display: block;
  width: 100%;
  height: 2px;
  background: none;
  position: relative;
  top: 50%;
  text-indent: -9999px;
  transition: 0.3s;
  /* ドロワー（サイドメニュー）表示時 */
}
.ec-drawerButton .burger:before, .ec-drawerButton .burger:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--clrHeaderBurger, #fff);
  position: absolute;
  left: 0;
  transition: 0.3s;
}
.ec-drawerButton .burger:before {
  top: -4px;
}
.ec-drawerButton .burger:after {
  bottom: -4px;
}
body.have_curtain .ec-drawerButton .burger {
  background-color: transparent;
}
body.have_curtain .ec-drawerButton .burger:before {
  top: 0;
  transform: rotate(225deg);
}
body.have_curtain .ec-drawerButton .burger:after {
  bottom: 0;
  transform: rotate(135deg);
}
/*
ドロワー

スマホ・タブレット時に出現するドロワー（サイドメニュー）コンポーネントです。

ここではドロワーの枠組みを定義しています。
EC-CUBE標準ではドロワーOPEN時はドロワー閉ボタンも表示されますが当テンプレートではヘッダーにあるドロワー開閉ボタンがありますので他の閉ボタンは排除しています。
*/
.ec-drawerRole {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  background-color: var(--clrDrawerBg, #FAFAFA);
  color: var(--clrDrawerText, #000);
  visibility: hidden;
  transform: translate3d(-100%, 0, 0);
  transition: 0.3s;
  padding-bottom: 50px;
}
.ec-drawerRole.is-active {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
/*
// ドロワー閉ボタン（※不使用） 
.ec-drawerRoleClose {
  display: none;
}
*/
.ec-overlayRole {
  position: fixed;
  width: 100%;
  left: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
}
body.have_curtain .ec-overlayRole {
  visibility: visible;
  opacity: 1;
}
/*
ドロワーメニュー

基本はドロワーナビボタン群を集めたセクションになります。
ドロワーナビの内容、おもむきに合わせてグループ化させる場合に括って使います。
*/
/*
ドロワーナビボタン、グローバルメニュー

ドロワーとは、ナビボタンの集まりである訳ですが中には当然、グローバルナビメニューも含まれます。
通常のナビボタンもグローバルナビメニューの見た目も差異なく同様のスタイリングでまとめていく必要があります。
また、グローバルメニューには子カテゴリ開閉ギミックがありますが、この開閉処理は商品カテゴリだけではなくマイページメニューにも付随するものですので、
そのあたり、開閉ギミックは商品カテゴリ特有のものではない前提でスタイリングします。
（※マイページメニューを管理機能のグローバルメニュー管理に含めてしまって商品カテゴリと完全同一に扱う考えもありますが、一応分けて考えます。）
*/
.ec-drawerMenu > .nav_item:first-child {
  border-top: solid 1px var(--clrDrawerBorder, #ddd);
}
.ec-drawerMenu .nav_item {
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-drawerMenu .nav_item > a {
  display: flex;
  align-items: center;
  padding: 0.5em 0.75em;
  padding-left: 7.009vw;
  color: inherit;
  font-size: 1.143rem;
  font-weight: 700;
  line-height: 1.2;
  /*
  // 飾りキャレット（こちらは子てカテゴリ折り畳みとは関係ない飾りキャレットです。デザインによっては置き換えあるいは削除されるものです）
  &:after {
    font-family: "ecpfont";
    content: "\e91d";
    color: $clrDrawerIcon;
    font-size: 1em;
  }
  */
}
.ec-drawerMenu .nav_item > a:before {
  content: "";
  display: block;
  width: 0;
  height: 2.857rem;
  flex: 0 0 auto;
}
.ec-drawerMenu .nav_item > a .text {
  flex: 1 1 auto;
}
.ec-drawerMenu .nav_item > a .text i {
  color: var(--clrDrawerIcon, #7A7A7A);
  margin-left: 5px;
}
.ec-drawerMenu .nav_item > a .toggleBtn {
  flex: 0 0 auto;
  width: 2.857rem;
  height: 2.857rem;
  display: grid;
  place-items: center;
  transition: 0.5s;
}
.ec-drawerMenu .nav_item > a .toggleBtn:before {
  font-family: "ecpfont";
  content: "\e91d";
  color: #BCA46B;
}
.ec-drawerMenu .nav_item.has-child > a {
  /*
  // トグルボタンがあるので飾りキャレットは除去します
  &:after {
    display: none;
  }
  */
}
.ec-drawerMenu .nav_item.has-child.is-open > a .toggleBtn {
  transform: rotate(90deg);
}
.ec-drawerMenu .nav_item.has-child ul.child {
  margin: 0 7.009vw;
  margin-bottom: 1.5rem;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 5px;
  background-color: #fff;
  display: none;
}
.ec-drawerMenu .nav_item.has-child ul.child > li:nth-child(n+2) {
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a {
  display: flex;
  align-items: center;
  -moz-column-gap: 0;
       column-gap: 0;
  padding: 0.5rem;
  color: inherit;
  font-size: 1.143rem;
  font-weight: 400;
  line-height: 1.2;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .pic {
  flex: 0 0 auto;
  width: 2.857rem;
  height: 2.857rem;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .pic img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .pic.no_image {
  background-color: #f4f4f4;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .text {
  flex: 1 1 auto;
  padding-left: 0.5rem;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .text i {
  color: var(--clrDrawerIcon, #7A7A7A);
  margin-left: 5px;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .toggleBtn {
  flex: 0 0 auto;
  width: 2.857rem;
  height: 2.857rem;
  display: grid;
  place-items: center;
  transition: 0.5s;
}
.ec-drawerMenu .nav_item.has-child ul.child > li > a .toggleBtn:before {
  font-family: "ecpfont";
  content: "\e914";
  font-size: 0.786rem;
  font-weight: 500;
  width: 2em;
  height: 2em;
  display: grid;
  place-items: center;
  border: solid 2px #BCA46B;
  color: #BCA46B;
  border-radius: 50%;
}
.ec-drawerMenu .nav_item.has-child ul.child > li.has-child.is-open > a .toggleBtn {
  transform: rotate(180deg);
}
.ec-drawerMenu .nav_item.has-child ul.child > li.has-child.is-open > a .toggleBtn:before {
  content: "\e915";
}
.ec-drawerMenu .nav_item.has-child ul.child.mypage > li > a:before {
  content: "";
  display: block;
  width: 0;
  height: 2.857rem;
  flex: 0 0 auto;
}
.ec-drawerMenu .nav_item.has-child ul.child:not(.level_1) {
  margin: 0.5rem;
  margin-top: 0;
}
/*
ドロワーメンバーナビ（会員登録・ログインボタン）
*/
.ec-drawerMember {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-drawerMember .member_item:nth-child(n+2) {
  margin-top: 1rem;
}
.ec-drawerMember .member_item .comment {
  font-size: 0.928rem;
  font-weight: 700;
  color: var(--clrDefaultThin, #676464);
  margin-bottom: 1em;
}
.ec-drawerMember .member_item a {
  display: grid;
  font-size: 1rem;
  font-weight: 700;
  color: #BCA46B;
  height: 44px;
  place-items: center;
  background-color: #fff;
  border: solid 1px #BCA46B;
  border-radius: 5px;
}
/*
ドロワーガイド
*/
.ec-drawerGuide {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-drawerGuide ul.othernav {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 5px;
  background-color: #fff;
}
.ec-drawerGuide ul.othernav li:nth-child(n+2) {
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-drawerGuide ul.othernav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.143rem;
  font-weight: 500;
  line-height: 1.25;
  padding: 0.9em;
  color: #BCA46B;
}
.ec-drawerGuide ul.othernav li a i {
  font-size: 1.3em;
  margin-right: 0.5em;
}
.ec-drawerGuide .drawer_logo {
  max-width: 40vw;
  margin: 3rem auto 1rem;
}
.ec-drawerGuide .comment {
  font-size: 0.857rem;
  text-align: center;
}
.ec-drawerGuide .contactBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 62vw;
  margin: 1rem auto;
  font-size: 1.286rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.9rem;
  background-color: #BCA46B;
  color: #fff;
  border-radius: 2em;
}
.ec-drawerGuide .contactBtn i {
  font-size: 1.35rem;
  margin-right: 0.5em;
  margin-top: 0.2em;
}
.ec-drawerGuide .contactBtn.tel {
  font-size: 1.786rem;
  font-weight: 900;
  background-color: #fff;
  border: solid 1px #BCA46B;
  color: #BCA46B;
}
/*
ドロワーバナー
*/
.ec-drawerBanner {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-drawerBanner ul.banner li:nth-child(n+2) {
  margin-top: 1rem;
}
.ec-drawerBanner ul.banner li a {
  display: block;
  border: solid 1px #BCA46B;
}
/*
slick

トッププロモーションや商品ビジュアル画像、商品リストのスライド表示にはEC-CUBE4標準と同じく「slick」を使用しています。

slickを適用する要素は共通してclass「.ec-slickContainer」を設置してその要素に対して適用させるようにしています。

slick適用要素は、slickの準備ができるまではエリアを非表示としておき、準備が整ってからフェードイン表示としています。
slickの準備が完了するまでは画像が一瞬大きく表示されてしまう事がありますのでそれを見せないための処置です。

メモ：
slickドットとslickアロー（prev,next）と両方適用させると、アローボタンは上下中央よりずれてしまいます。
*/
.ec-slickContainer {
  visibility: hidden;
  opacity: 0;
  filter: blur(5px);
  transition: 1s;
}
.ec-slickContainer.slick-initialized.is-readiness {
  visibility: visible;
  opacity: 1;
  filter: blur(0);
}
/*
slick用パーツ

slick用パーツの共通スタイリングです。

* prev,nextボタン
* ドットボタン
* slickガター
* prev, nextボタン（slick領域外側配置）
* キャプション表示
*/
/*
prev,nextボタン

アローボタン（Prev,Nextボタン）要素「.slick-arrow」は通常は、slick要素「.slick-slider」の中に含まれる形で構成されますが、このslick要素の外に出した構造にしたい場合は、
slickの実行時（javascript側）にパラメータ「appendArrows」を指定して外側要素「.slick-appendArrows」にアローボタンを構成します。
両方のケースにおいて基本となるスタイリングをまとめて行っておき、あとで外側アローボタンの上書きスタイリングを行います。
*/
.slick-slider,
.slick-appendArrows {
  position: relative;
}
.slick-slider .slick-arrow,
.slick-appendArrows .slick-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 18px;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  background-color: #000;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  transition: 0.2s;
  /*
  // スマホ・タブレット時はslick領域の上部の外、右側につめて配置させます
  @include media_mobile {
    width:       40px;
    height:      40px;
    line-height: 40px;
    text-align: center;
    font-size: 15px;

    top: auto;
    bottom: calc(100% + 10px);
    transform: translate(0,0);// reset

    &.slick-prev {
      left: auto;
      right: 50px;
    }

    &.slick-next {
      left: auto;
      right: 0;
    }
  }
  */
}
.slick-slider .slick-arrow.slick-prev,
.slick-appendArrows .slick-arrow.slick-prev {
  left: 0;
}
.slick-slider .slick-arrow.slick-next,
.slick-appendArrows .slick-arrow.slick-next {
  right: 0;
}
.slick-slider .slick-arrow:hover,
.slick-appendArrows .slick-arrow:hover {
  opacity: 0.8;
}
.slick-slider .slick-arrow i,
.slick-appendArrows .slick-arrow i {
  display: block;
}
/*
prev,nextボタンの配置を「おすすめ商品」ブロックのようなslickコンテナの横を左右にはみ出すように上書きスタイリングするミックスインになります。
ブラウザ幅が指定したブレイクポイント未満の場合は、prev・nextボタンをslickコンテナの右上にまとめて配置します。

※後述の「slickArrowOuter」と似た機能のスタイリングとなります。EC4系テンプレートで「slickArrowOuter」と「slickArrowRecommendStyle」とが両立していますが、
統一できるならそればベストですが、今のところ整理がついていない状況です（ある意味では両方必要なのかも？）。
EC-PACK7では両方を記述しています。サイト案件によって使い分け、整理してください。

* $breakPoint: ブレイクポイント
*/
/*
prev, nextボタン（slick領域外側配置）

slick適用領域の外側にprev,nextボタンを配置するタイプのスタイリングです。
スマホ・タブレット時はslick領域の上部の外、右側につめて配置させます。

slickを適用する要素（基本は.ec-slickContainer）に併せてclass「slickArrowOuter」を記述しておきます。
*/
.slickArrowOuter {
  border: solid 4px #c00;
}
/*
ドットボタン

ドットボタン要素「.slick-dots」は通常は、slick要素「.slick-slider」の中に含まれる形で構成されますが、このslick要素の外に出した構造にしたい場合は、
slickの実行時（javascript側）にパラメータ「appendDots」を指定して外側要素「.slick-appendDots」にドットボタンを構成します。
両方のケースにおいて基本となるスタイリングをまとめて行っておき、あとで外側ドットボタンの上書きスタイリングを行います。
*/
.slick-slider .slick-dots,
.slick-appendDots .slick-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  padding: 20px;
  /*
  // スマホ時はドットボタン非表示（操作しづらいという事と、キャプションがある場合に開閉ボタンと被るので非表示にしておきたい）
  @include media_sphone {
    display: none !important;
  }

  @include media_tablet {
    display: none !important;
  }
  */
}
.slick-slider .slick-dots li,
.slick-appendDots .slick-dots li {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--clrNoactive, #DBDBDB);
  cursor: pointer;
}
.slick-slider .slick-dots li button,
.slick-appendDots .slick-dots li button {
  display: none;
}
.slick-slider .slick-dots li.slick-active,
.slick-appendDots .slick-dots li.slick-active {
  background-color: var(--clrActive, #5F5F5F);
}
.slick-slider .slick-dots li + li,
.slick-appendDots .slick-dots li + li {
  margin-left: 15px;
}
/* 外側ドットボタンの上書きスタイリング */
.slick-appendDots {
  /*
  箔一スタイル
  スマホ時は白背景ではなく背景色を入れてボタンサイズと色を変更
  */
}
.slick-appendDots .slick-dots {
  position: static;
  padding: 23px;
}
.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}
/*
slickガター

slick適用内のアイテム間にガター（間隔）を設けます。

slickを適用する要素（基本は.ec-slickContainer）に併せてclass「slickGutter」を記述しておきます。

※なお、レスポンシブでデバイス事にガター幅を可変できるようにmixin化しています。

メモ：
普通に、.slick-slide要素にマージンを設定し、先祖要素である.slick-listにネガティブマージンを設定して調整します。
しかし、それだけではスライド時に左側にわずかに商品アイテムがはみ出した形で見えてしまいます。これを防ぐ為には、
slick適用の要素（基本は.ec-slickContainer）に「overflow:hidden;」すれば解決しますが、
prev,nectボタンをslick領域の外側に配置したい場合があり（position:absolute;で外に出しています）、overflowだと
この外側に配置したpreve,nextボタンが隠されてしまい見えない事になります。
ですので、ネガティブマージンをかけた.slick-list要素に「clip-path」プロパティを使い表示領域をクリップすることで対応しています。

※IE11、Edgeはclip-path非対応なのでクリップパスは適用されず結果、スライド時に左側が少しはみ出して見えます（2019/09）
*/
.slickGutter .slick-list {
  margin-left: -10px;
  -webkit-clip-path: inset(0 0 0 10px);
          clip-path: inset(0 0 0 10px);
}
.slickGutter .slick-list .slick-slide {
  margin-left: 10px;
}
/*
slickスライダーの右ずらし

EC-PACK7（リーデル）ではスライダー軸が右にずれたデザインとなっています。
これを適用する場合は、セクション・ブロックの親要素にclass「.ec-slickShift」を付します。

※「.slickGutter」のように「.ec-slickContainer」要素にclassを設置する形で実装できると統一性があって良いのですが、こちらはセクション親要素にclassを付す仕様になります。
その理由は、まず、セクション親要素をフル幅にしておく必要があるという所にあります。
左右余白や幅を与えられたコンテナの中で、その中にある子要素をフル幅にするスタイリング方法はあるにはありますが、とある理由で実用に耐えません（下記【参考】）
他に手段があれば良いのですが今のところ検討がつきません。javascriptを使う事は避けたいですので、よってセクション・ブロック親要素にclassを付す仕様としました。

【参考】
幅が指定されたコンテナの中で子要素をフル幅にするには
親要素は何も手を加えずそのフル幅にしたい子要素に対して、
.child {
  margin: 0 calc(50% - 50vw);
  //padding: 0 calc(50vw - 50%);// ←その中のコンテンツの左右のツラを揃える場合（コンテナ幅を維持する意味）
}
※ただし、デスクトップ時などスクロールバーがある場合（スクロールバーが幅を持っている場合）は使えません。100vwがスクロールバーを含むので正確なフル幅にはなりません。
よって結局、このスタイリングは実用性がないと思われます。
*/
.ec-slickShift {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100%;
  overflow: hidden;
}
/*
slick キャプション表示

slick適用の各アイテムの中に「.caption」要素（説明文）を記述しておくと画像に被さる形でテキストが表示されます。

商品詳細ページでは、slickを適用する画像ビジュアル部分が動的に出力されますのでキャプション要素を追加できませんが、
フリーエリア内にてキャプション要素を記述しておき、javascirptで各キャプションを各画像アイテム内に挿入させて実装しています。
*/
.slick-slider .slick-slide {
  position: relative;
}
.slick-slider .slick-slide .caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  font-size: 0.933rem;
  color: #000;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 1em;
  box-sizing: border-box;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition: 0.5s;
  transition-delay: 0.5s;
}
.slick-slider .slick-slide.slick-current .caption {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/*
トップページ ヘッドプロモーション

ヘッドプロモーションのスタイリングは「_12.9.movieslider.scss」にて
*/
/*
新着情報一覧記事アイテム

ブログ記事一覧アイテム「.ec-blogListItem」と少しレイアウトが違うので別途「.ec-newsListItem」でスタイリングします。
class「.ec-newsListItem」は「ecp_blog_newspost_top_news.tpl」にてインクルード時にclassを指定しています。
*/
.ec-newsListItem > .inner {
  color: inherit;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-newsListItem > .inner * {
  overflow: hidden;
}
.ec-newsListItem > .inner img {
  transition: 0.6s;
}
.ec-newsListItem > .inner:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-newsListItem > .inner.nolink {
  pointer-events: none;
}
.ec-newsListItem .tag {
  text-align: center;
  margin: 1rem 0 0;
}
.ec-newsListItem .tag span {
  display: inline-block;
  font-size: 0.733em;
  font-weight: 500;
  line-height: 1;
  padding: 0.5em 1em;
  border-radius: 2em;
  min-width: 9em;
}
.ec-newsListItem .tag.notag {
  margin: 0;
}
.ec-newsListItem .tag.notag span {
  display: none;
}
.ec-newsListItem .date {
  font-size: 0.8em;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  margin: 0.8rem 0 0;
}
.ec-newsListItem .title {
  font-size: 0.8rem;
  color: var(--clrDefaultThin, #676464);
  margin: 0.5rem 0 0;
}
.ec-newsListItem .comment {
  display: none;
}
/*
トップページ配置新着情報ブロック
*/
.ec-newpostTopNewsRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
新着情報一覧ページ

新着情報一覧ページ用のスタイリングになります。
*/
.ec-newsListRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
新着情報詳細ページ

詳細ページは、基本ブログ詳細ページと同じなので「_23.3.blog.scss」のスタイリングが適用されます。
*/
/*
トピックス記事一覧アイテム

ブログ記事一覧アイテム「.ec-blogListItem」を用いますので別途スタイリングはありません。
*/
/*
トップページ配置トピックスブロック
*/
.ec-newpostTopTopicsRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > .ec-blogListItem .date {
  display: none;
}
.ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > .ec-blogListItem .tag {
  display: none;
}
.ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > .ec-blogListItem .comment {
  margin-top: 0;
}
.ec-newpostTopTopicsRole .slideScroll {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: right;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.ec-newpostTopTopicsRole .slideScroll .arrow {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 18px;
  padding: 0;
  background-color: #BCA46B;
  color: #fff;
}
.ec-newpostTopTopicsRole .slideScroll .arrow i {
  display: block;
  line-height: inherit;
}
/*
新着動画一覧記事アイテム

ブログ記事一覧アイテム「.ec-blogListItem」と少しレイアウトが違うので別途「.ec-dougaListItem」でスタイリングします。
class「.ec-dougaListItem」は「ecp_blog_newspost_top_douga.tpl」にてインクルード時にclassを指定しています。
*/
.ec-dougaListItem {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 15px;
}
.ec-dougaListItem > .inner {
  display: block;
  color: inherit;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-dougaListItem > .inner * {
  overflow: hidden;
}
.ec-dougaListItem > .inner img {
  transition: 0.6s;
}
.ec-dougaListItem > .inner:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-dougaListItem > .inner.nolink {
  pointer-events: none;
}
.ec-dougaListItem .image {
  position: relative;
}
.ec-dougaListItem .image:before {
  font-family: "ecpfont";
  content: "\e932";
  font-size: 3rem;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.ec-dougaListItem .image:after {
  content: "";
  display: block;
  width: calc(100% - 10px * 2);
  height: calc(100% - 10px * 2);
  border: solid 3px #fff;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}
.ec-dougaListItem .date {
  font-size: 0.866em;
  line-height: 1;
  color: var(--clrDefaultThin, #676464);
  margin: 0.5em 0 0;
}
.ec-dougaListItem .title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.066rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0.5rem 0 0;
}
.ec-dougaListItem .comment {
  font-size: 0.866rem;
  margin: 0.5em 0 0;
}
/*
トップページ配置新着動画ブロック
*/
.ec-newpostTopDougaRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
季節のおすすめ記事一覧アイテム

ブログ記事一覧アイテム「.ec-blogListItem」を用いますので別途スタイリングはありません。
*/
/*
トップページ配置季節のおすすめブロック
*/
.ec-newpostTopOsusumeRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  /*
  // その他を見るボタン
  .btnbox {

    @include media_sphone {
      margin-top: $padding-sphone;
    }
    @include media_tablet {
      margin-top: $padding-tablet;
    }

    @include media_desktop {
      margin-top: $padding-desktop;
    }
  }
  */
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 18px;
  padding: 0;
  background-color: #BCA46B;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  transition: 0.2s;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-arrow:hover {
  opacity: 0.8;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-arrow i {
  display: block;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-arrow.slick-prev {
  order: 1;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-arrow.slick-next {
  order: 3;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-info {
  order: 2;
  display: block;
  margin: 0 1em;
  font-size: 1rem;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-info .current,
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-info .total {
  display: inline-block;
  padding: 0.25em;
}
.ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-info .separate {
  display: inline-block;
}
/*
トップおすすめ商品管理（マルチ）の基本ひな形スタイリングを以下に定義します。
実際のところ、ブロックによりデザインが変わってくると思いますので、「.ec-topRecommendMultiRole」はそれぞれ、
ブロックごとにclassを用意して差し替えるのが良いと思います。以下はあくまでひな形として定義したものになります。
*/
/*
トップおすすめ商品管理（マルチ）基本ひな形スタイル
*/
.ec-topRecommendMultiRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-topRecommendMultiRole .btnbox {
  text-align: center;
}
/*
トップおすすめ商品管理（マルチ）基本ひな形スタイル（slickスライダー実装）

ヒント：
slickスライダーを右ずらしさせる場合（リーデルで実装）、ブロックにclass「.ec-slickShift」を併設して付します。
この場合、本来は「@include container」を指定すべきではない所ですが、「.ec-slickShift」がコンテナ（左右余白、最大幅）を解除するので問題ありません。
もちろんコンテナ指示を削除してしまっても良いと思います。
*/
.ec-topRecommendMultiSlickRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-topRecommendMultiSlickRole .btnbox {
  text-align: center;
}
/*
箔一スタイル
トップおすすめ商品-人気商品
*/
.ec-topPopularItemRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-topPopularItemRole .btnbox {
  text-align: center;
}
/*
ブロック個別スタイリング
*/
/*
動画スライダー

slickスライダーに動画を含める事のできる「jeia_movieslider.js」用のスタイリングです。

通常のslickスライダーのスタイリングに対して、動画スライダー用にいくつか上書きと追加スタイリングを施しています。
*/
.ec-headPromotionRole {
  /*
  .mediaCaption {
    font-family: $ff-en;
    font-weight: 400;
    font-size: 1rem;
    max-width: 350px;
    position: absolute;
    top: 50%;
    left: 7%;
    transform: translate(0,-50%);
    z-index: 9;
    overflow: hidden;

    .inner {
      background-color: rgba(255, 255, 255, 0.75);
      color: #000;
      padding: 1.5em;
      opacity: 0;
    }

    .text_small {
      font-size: 0.9333em;
    }

    .text_big {
      font-size: 2em;
      line-height: 1.2;
      margin: .25em 0;
      opacity: 0;
    }

    .text_description {
      font-size: 1em;
    }

    .linkBtn {
      display: inline-block;
      font-size: 1em;
      margin-top: 1em;
      line-height: 1;
      padding: 1em 1.5em;
      background-color: #000;
      color: #fff;
      pointer-events: auto;
      transition: .2s;

      &:hover {
        text-decoration: none;
        background-color: #333;
      }
    }

    .closeBtn {
      display: none;
    }

    // キャプション表示
    &.is-active {

      .inner {
        // キャプション出現はanimationを使用します（animationを使わないと初回表示時にキャプションがアニメしてくれない場合あり）
        animation: viewCaption .5s forwards 1s;
        @include media_sphone {
          animation: viewCaptionSp .5s forwards 1s;
        }
      }

      .text_big {
        animation: viewCaption .8s forwards 1s;
      }
    }
    @keyframes viewCaption {
      0% {
        opacity: 0;
        transform: translate3d(-100%,0,0);
      }
      100% {
        opacity: 1;
        transform: translate3d(0,0,0);
      }
    }
    @keyframes viewCaptionSp {
      0% {
        opacity: 0;
        transform: translate3d(0,100%,0);
      }
      100% {
        opacity: 1;
        transform: translate3d(0,0,0);
      }
    }

    // スマホ用調整（.mediaCaption）
    @include media_sphone {
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      max-width: 100%;
      transform: translate(0,0);
      font-size: 0.9rem;
      transition: transform 0.5s;

      .text_big {
        font-size: 1.2em;
      }

      .linkBtn {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
      }

      // キャプション折り畳みボタン
      .closeBtn {
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        font-size: 18px;
        line-height: 1.5;
        width: 1.5em;
        height: 1.5em;
        text-align: center;
        color: #000;
        margin-left: -0.75em;
        pointer-events: auto;

        &:before {
          font-family: 'jeiafont';
          content: "\e902";
          display: block;
          width: 100%;
          height: 100%;
          background-color: transparent;
          transform: rotate(90deg);
          //transition: 0.5s;
        }
      }

      // キャプション折り畳み状態
      &.is-close {
        transform: translate3d(0,100%,0);
        overflow: visible;

        .closeBtn {
          transform: translate3d(0,-100%,0);

          &:before {
            transform: rotate(-90deg);
            background-color: rgba(255, 255, 255, 0.75);
            border-radius: 0 5px 5px 0;
          }
        }
      }
    }
  }
  */
  /*
  スライダータイプが【B】【C】の場合に、スライドアイテムが1点の場合
  この場合、アイテムが左に寄って表示されるようで、これがslickの仕様なのかバグなのかは不明。
  もっともシンプルな解決策を取りたいと思うので、CSSスタイリングで対処します。
  識別用のclass「sliderType_b」や「is-single」はjs側で付与するようにしました。（2021/10/12）
  */
  /*
  arrowボタンの大きさを調整（箔一スタイル）
  */
  /*
  arrowボタンの位置を右下配置する場合の追加スタイリング
  .slick-slider {

    .slick-arrow {
      transform: translate(0,0);
      top: auto;
      left: auto;
      bottom: 10px;
      right: 10px;

      @include media_desktop {
        bottom: 40px;
        right: 40px;
      }

      &.slick-prev {
        transform: translateX( calc(-100% - 10px) );

        @include media_desktop {
          transform: translateX( calc(-100% - 20px) );
        }
      }

      // スマホ・タブレット時は非表示
      @include media_mobile {
        display: none;
      }
    }
  }
  */
}
.ec-headPromotionRole .promotionRect {
  position: relative;
  overflow: hidden;
}
.ec-headPromotionRole .ec-slickContainer:not(.is-ready) {
  opacity: 0;
}
.ec-headPromotionRole .ec-slickContainer.is-ready {
  opacity: 1;
}
.ec-headPromotionRole .slick-slide {
  overflow: hidden;
  transition: filter 1s;
  pointer-events: none;
}
.ec-headPromotionRole .slick-slide .itemContainer > a {
  display: block;
  pointer-events: auto;
}
.ec-headPromotionRole .slick-slide .itemContainer iframe {
  border: none;
}
.ec-headPromotionRole .slick-slide .itemContainer video {
  display: block;
}
.ec-headPromotionRole .slick-slide.slick-current img, .ec-headPromotionRole .slick-slide.is-change img {
  transition: transform 40s;
  transform: scale(1.1);
}
.ec-headPromotionRole .loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ec-headPromotionRole .loader img {
  width: 50px;
  height: 50px;
}
.ec-headPromotionRole .soundBtn {
  position: absolute;
  bottom: 0.5em;
  left: 0.5em;
  font-size: 25px;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.3));
  z-index: 10;
  visibility: hidden;
  opacity: 0;
  transition: 1s;
  /* SOUND-ONボタン */
  /* SOUND-OFFボタン */
  /* SOUND出力中のアイコン切り替え */
}
.ec-headPromotionRole .soundBtn.is-ready {
  visibility: visible;
  opacity: 0.5;
}
.ec-headPromotionRole .soundBtn:hover {
  opacity: 1;
}
.ec-headPromotionRole .soundBtn:before {
  font-family: "jeiafont";
  content: "\e926";
  display: none;
}
.ec-headPromotionRole .soundBtn:after {
  font-family: "jeiafont";
  content: "\e925";
  display: block;
}
.ec-headPromotionRole .soundBtn.sound-on:before {
  display: block;
}
.ec-headPromotionRole .soundBtn.sound-on:after {
  display: none;
}
.ec-headPromotionRole.sliderType_b.is-single, .ec-headPromotionRole.sliderType_c.is-single {
  background: #f8f8f8;
}
.ec-headPromotionRole.sliderType_b.is-single .slick-track, .ec-headPromotionRole.sliderType_c.is-single .slick-track {
  width: 100% !important;
  transform: translate3d(0, 0, 0) !important;
  display: flex;
  justify-content: center;
}
.ec-headPromotionRole .slick-slider .slick-arrow {
  width: 26px;
  height: 90px;
}
/*
トップカテゴリ
*/
.ec-topCategoryRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-topCategoryRole .ec-topCategoryRole__list ul li a {
  display: block;
  position: relative;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-topCategoryRole .ec-topCategoryRole__list ul li a * {
  overflow: hidden;
}
.ec-topCategoryRole .ec-topCategoryRole__list ul li a img {
  transition: 0.6s;
}
.ec-topCategoryRole .ec-topCategoryRole__list ul li a:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-topCategoryRole .ec-topCategoryRole__list ul li a img {
  width: 100%;
  height: auto;
}
.ec-topCategoryRole .ec-topCategoryRole__list ul li a .title {
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  background-color: #332F25;
  color: #fff;
  padding: 0.5em;
  border-radius: 2em;
  width: 84%;
  position: absolute;
  bottom: 11%;
  left: 8%;
  transition: 0.3s;
}
/*
トップアバウト
*/
.ec-topAboutRole {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  aspect-ratio: 1366/509;
  padding: 7vw;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  align-content: center;
}
.ec-topAboutRole .content {
  max-width: 1035px;
  margin: 0 auto;
  padding: 3.5vw;
  background-color: rgba(0, 0, 0, 0.75);
  color: #fff;
}
.ec-topAboutRole .content > .inner {
  max-width: 714px;
  margin: 0 auto;
}
.ec-topAboutRole .title {
  font-family: "Noto Serif JP", serif;
  font-size: min(1.666rem, 4.7vw);
  font-weight: 700;
  text-align: center;
  margin: 0;
}
.ec-topAboutRole .title h1, .ec-topAboutRole .title .h1 {
  display: inline;
  font-family: "Helvetica";
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.ec-topAboutRole .catchtext {
  font-family: "Noto Serif JP", serif;
  font-size: min(1.333rem, 4.7vw);
  font-weight: 400;
  text-align: center;
  margin: 1em 0 1.25em;
}
.ec-topAboutRole .catchtext br {
  display: none;
}
.ec-topAboutRole .description {
  font-size: 0.866rem;
  text-align: justify;
}
.ec-topAboutRole .sp_image {
  display: none;
}
/*
トップ取り扱いブランド
*/
.ec-topBrandRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
トップシリーズ
*/
.ec-topSeriesRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
トップアナウンス
*/
.ec-topAnnounceRole {
  margin: 0;
  background-color: #EEEEEE;
}
.ec-topAnnounceRole .text {
  font-size: 1.066rem;
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  text-align: center;
  padding: 1em 1em;
}
/*
トップサイドメニュー
*/
.ec-topSidemenuRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-topSidemenuRole .ec-topSidemenuRole__menu .item {
  border-top: solid 1px #000;
  padding: 1rem 0;
}
.ec-topSidemenuRole .ec-topSidemenuRole__menu .item .title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.066rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
  margin-bottom: 0.75rem;
}
.ec-topSidemenuRole .ec-topSidemenuRole__menu .item ul {
  font-size: 0.933rem;
  margin: 0;
}
.ec-topSidemenuRole .ec-topSidemenuRole__menu .item ul li a {
  display: block;
  padding: 0.6em 1em;
  color: inherit;
  transition: 0.2s;
}
.ec-topSidemenuRole .ec-topSidemenuRole__menu .item ul li a:hover {
  background-color: #BCA46B;
  color: #fff;
}
body.LC_Page_Products_List .ec-topSidemenuRole .ec-topSidemenuRole__menu {
  display: none;
}
.ec-topSidemenuRole .ec-topSidemenuRole__nav {
  margin: 2rem 0;
}
.ec-topSidemenuRole .ec-topSidemenuRole__nav ul {
  border: solid 1px #C6C6C6;
  border-radius: 5px;
  font-size: 0.933rem;
  font-weight: 500;
  color: #BCA46B;
}
.ec-topSidemenuRole .ec-topSidemenuRole__nav ul li:nth-child(n+2) {
  border-top: solid 1px #DBDBDB;
}
.ec-topSidemenuRole .ec-topSidemenuRole__nav ul li a {
  display: block;
  padding: 0.6em 1em;
  color: inherit;
  transition: 0.3s;
}
.ec-topSidemenuRole .ec-topSidemenuRole__nav ul li a i {
  font-size: 1.35em;
  margin-right: 1em;
}
.ec-topSidemenuRole .ec-topSidemenuRole__nav ul li a:hover {
  background-color: #BCA46B;
  color: #fff;
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner {
  margin: 2rem 0;
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul {
  margin: 0;
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul li:nth-child(n+2) {
  margin-top: 0.75rem;
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul li a {
  display: block;
  border: solid 1px #BCA46B;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul li a * {
  overflow: hidden;
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul li a img {
  transition: 0.6s;
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul li a:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-topSidemenuRole .ec-topSidemenuRole__banner ul li a img {
  width: 100%;
  height: auto;
}
/*
トップサイドメニュー
*/
.ec-topGiftPriceRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  background-color: #BCA46B;
  color: #fff;
}
.ec-topGiftPriceRole .ec-secHeading .ec-secHeading__en,
.ec-topGiftPriceRole .ec-secHeading .ec-secHeading__ja {
  color: inherit;
}
.ec-topGiftPriceRole .ec-topGiftPriceRole__list ul li a {
  display: block;
  background-color: #8A7A56;
  color: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.ec-topGiftPriceRole .ec-topGiftPriceRole__list ul li a .title {
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  padding: 0.75em 0.5em;
}
/*
商品一覧ヘッダーナビ

.ec-searchnavRole
└.ec-searchnavRole__inner
  ├.ec-searchnavRole__left
  │ └.ec-searchnavRole__title
  │   └h1
  │   └.ec-searchnavRole__counter
  └.ec-searchnavRole__infos
    └.ec-searchnavRole__action
      └並び替えボタン等

※EC4系とは違いEC-CUBE2.17ではトピックパスがありません。
*/
.ec-searchnavRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
  /*
  inner
  EC-PACK7では__left枠と__infos枠で左右2レイアウト
  */
  /*
  @include media_sphone {
    & &__inner {
      // ネガティブマージンにてフル幅に拡張
      margin-left: $padding-sphone * -1;
      margin-right: $padding-sphone * -1;
      padding: 10px $padding-sphone;
      flex-flow: row wrap;
    }

    & &__topicpath {
      width: 100%;
      padding: 0;
      font-size: 0.9rem;
    }

    & &__infos {
      width: 100%;
      border-top: solid 1px $clrBorderColor;
      margin-top: 10px;
      padding-top: 10px;
    }
  }

  @include media_tablet {
    & &__inner {
      // ネガティブマージンにてフル幅に拡張
      margin-left: $padding-tablet * -1;
      margin-right: $padding-tablet * -1;
      padding: 10px $padding-tablet;
      flex-flow: row wrap;
    }

    & &__topicpath {
      width: 100%;
      padding: 0;
      font-size: 0.9rem;
    }

    & &__infos {
      width: 100%;
      border-top: solid 1px $clrBorderColor;
      margin-top: 10px;
      padding-top: 10px;
    }
  }
  */
}
.ec-searchnavRole .ec-searchnavRole__inner {
  background-color: transparent;
}
.ec-searchnavRole .ec-searchnavRole__left {
  /*
  @include media_desktop {
    display: flex;
    align-items: center;
  }
  */
}
.ec-searchnavRole .ec-searchnavRole__counter {
  font-size: 1.143rem;
  color: var(--clrDefaultThin, #676464);
  text-align: center;
  white-space: nowrap;
}
.ec-searchnavRole .ec-searchnavRole__actions a {
  color: inherit;
}
.ec-searchnavRole .ec-searchnavRole__actions .wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.143rem;
  margin-top: 1.5rem;
}
.ec-searchnavRole .ec-searchnavRole__actions .wrap .actionBtn:nth-child(n+2) {
  margin-left: 1em;
}
.ec-searchnavRole .ec-searchnavRole__actions .wrap .actionBtn i {
  font-size: 1.1em;
  margin-right: 0.25em;
}
.ec-searchnavRole .ec-searchnavRole__result {
  margin-top: 1rem;
  margin-left: -0.25em;
  /*
  dl {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;

    @include media_desktop {
      justify-content: flex-start;// 無くても大丈夫ですが一応
    }

    dt {
      font-weight: 500;
      color: $clrDefaultThin;

      &:after {
        content: "：";
      }
    }

    dd {
    }

    &:nth-child(n+2) {
      @include media_desktop {
        margin-left: .5em;
      }
    }
  }
  */
}
.ec-searchnavRole .ec-searchnavRole__result dl.search_item {
  display: inline-flex;
  font-size: 0.8rem;
  line-height: 1.2;
  border-radius: 2em;
  overflow: hidden;
  margin-top: 0.25em;
  margin-left: 0.25em;
}
.ec-searchnavRole .ec-searchnavRole__result dl.search_item dt, .ec-searchnavRole .ec-searchnavRole__result dl.search_item dd {
  background-color: #777;
  color: #fff;
  padding: 0.25em 0.5em;
}
.ec-searchnavRole .ec-searchnavRole__result dl.search_item dt {
  font-weight: 500;
  background-color: #000;
  padding-left: 0.75em;
}
.ec-searchnavRole .ec-searchnavRole__result dl.search_item dd {
  padding-right: 0.75em;
}
/*
トピックパス本体（EC4系）
*/
/*
子カテゴリ表示

商品一覧ページにおいて現在表示しているカテゴリに、子カテゴリがあればそれを一覧表示します。
*/
/*
.ec-childCategoryRole {
  @include container;
  //max-width: 100%;
  //margin: 20px 0;
  max-width: $container-maxwidth2;
  margin-top: 20px;
  margin-bottom: 20px;

  ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.933rem;

    li {
      display: inline-block;

      &:before {
        font-family: "jeiafont";
        content: "\e91a";
        vertical-align: -1px;// 微調整
      }

      a {
        color: inherit;
        @include hoverBottomLine;
      }
    }

    li.titleLabel {
      font-family: $ff-en_thin;
      font-weight: 500;
      vertical-align: -1px;// 微調整

      &:before {
        display: none;
      }
    }
  }
}
*/
/*
子カテゴリ表示

商品一覧ページにおいて現在表示しているカテゴリに、子カテゴリがあればそれを一覧表示します。
*/
.ec-childCategoryRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-childCategoryRole .ec-childCategoryRole__label {
  font-size: 0.933rem;
  font-weight: 500;
  margin-bottom: 0.5em;
}
.ec-childCategoryRole .ec-childCategoryRole__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.933rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  -moz-column-gap: 7px;
       column-gap: 7px;
  row-gap: 7px;
}
.ec-childCategoryRole .ec-childCategoryRole__list li {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-childCategoryRole .ec-childCategoryRole__list li a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  height: 100%;
  padding: 5px;
  color: inherit;
  transition: 0.3s;
}
.ec-childCategoryRole .ec-childCategoryRole__list li a:hover {
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.ec-childCategoryRole .ec-childCategoryRole__list li .image {
  width: 50px;
  aspect-ratio: 1/1;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  margin-right: 7px;
}
/*
商品一覧

商品一覧 に関する Project コンポーネントを定義します。
*/
.ec-shelfRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
商品一覧グリッドレイアウト

メモ：
「auto-fit」だと例えば商品点数が1つの場合に全幅に拡大されてしまう。グリッドアイテム（この場合商品アイテム）にmax-widthを指定したとするとそもそもフレキシブルなグリッドにならない。
そういう理由で「auto-fill」で指定するほうが良さそうです。ほかにベストプラクティスがあればご教示ください。
また、例「grid-template-columns: repeat(auto-fill, minmax(min(400px, 100%), 1fr));」とmin()を用いる事で仮にブラウザ幅が狭い場合にスクロールバーが出ない様に制限できます。
上記のように細かく指定することでメディアクエリを書かなくてもレスポンシブ対応は可能になりますが、微調整等の融通さを鑑みてあえてメディアクエリを用いたスタイリングを行います。
*/
.ec-shelfGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--shelfItemWidth, 224px), 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 30px;
}
/*
商品アイテム

商品一覧だけでなく特集商品など、一覧表示される商品アイテムの共通スタイリングになります。
*/
.ec-productItemRole {
  height: 100%;
  display: flex;
  flex-flow: column;
  position: relative;
  /*
  & &__stockout {
    display: grid;
    place-items: center;
    $gap: 7px;
    width:  calc(100% + $gap * 2);
    height: calc(100% + $gap * 2);
    position: absolute;
    top:  $gap * -1;
    left: $gap * -1;
    background-color: rgba(0, 0, 0, 0.35);
    color: #fff;
    font-family: "Century Gothic";
    font-size: min(36px, 6vw);
    font-weight: bold;
    pointer-events: none;// 商品アイテムのリンクは活かします
  }
  */
}
.ec-productItemRole .ec-productItemRole__image {
  position: relative;
}
.ec-productItemRole .ec-productItemRole__image a {
  display: block;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-productItemRole .ec-productItemRole__image a * {
  overflow: hidden;
}
.ec-productItemRole .ec-productItemRole__image a img {
  transition: 0.6s;
}
.ec-productItemRole .ec-productItemRole__image a:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-productItemRole .ec-productItemRole__image a img {
  width: 100%;
  height: auto;
}
.ec-productItemRole .ec-productItemRole__stockout {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: min(25px, 6vw);
  pointer-events: none;
}
.ec-productItemRole .ec-productItemRole__bottom {
  margin: auto 0 0;
}
.ec-productItemRole .ec-productItemRole__title {
  font-family: "Noto Serif JP", serif;
  font-size: 0.933rem;
  margin: 0.5em 0 0.3em;
}
.ec-productItemRole .ec-productItemRole__title span {
  display: inline-block;
  text-align: left;
}
.ec-productItemRole .ec-productItemRole__code {
  font-size: 0.8rem;
  margin: 1em 0;
}
.ec-productItemRole .ec-productItemRole__status {
  position: absolute;
  top: 10px;
  left: 10px;
}
.ec-productItemRole .ec-productItemRole__status .ec-customfield.customfield_column_id_1 .customfield {
  display: block;
  font-weight: 600;
  font-size: 0.666rem;
  line-height: 1.25;
  padding: 0.5em 1em;
  border-radius: 2em;
  transition: 0.3s;
}
.ec-productItemRole .ec-productItemRole__status .ec-customfield.customfield_column_id_1 .customfield:hover {
  text-decoration: none;
  filter: brightness(1.1);
}
.ec-productItemRole .ec-productItemRole__status .ec-customfield.customfield_column_id_1 .customfield.has-image {
  padding: 0;
  margin-top: -10px;
  margin-left: -10px;
  background-color: initial !important;
  color: initial !important;
}
.ec-productItemRole .ec-productItemRole__status .ec-customfield.customfield_column_id_1 .customfield.has-image .name {
  display: none;
}
.ec-productItemRole .ec-productItemRole__tag .ec-customfield.customfield_column_id_2 {
  display: flex;
  flex-flow: row wrap;
  -moz-column-gap: 7px;
       column-gap: 7px;
  row-gap: 7px;
  margin: 0.75rem 0 0;
}
.ec-productItemRole .ec-productItemRole__tag .ec-customfield.customfield_column_id_2 .customfield {
  display: block;
  font-weight: normal;
  font-size: 0.8rem;
  line-height: 1;
  padding: 0.5em 1em;
  border-radius: 2em;
  transition: 0.3s;
}
.ec-productItemRole .ec-productItemRole__tag .ec-customfield.customfield_column_id_2 .customfield:hover {
  text-decoration: none;
  filter: brightness(1.1);
}
.ec-productItemRole .ec-productItemRole__description {
  font-size: 0.933rem;
  line-height: 1.7;
  margin: 1em 0;
  text-align: justify;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.ec-productItemRole .ec-productItemRole__priceRegular {
  margin: 0.3em 0;
  text-align: var(--productItemPriceAlign, left);
}
.ec-productItemRole .ec-productItemRole__priceRegular .ec-price__label {
  font-size: 0.8rem;
}
.ec-productItemRole .ec-productItemRole__priceRegular .ec-price__price {
  font-size: 0.933rem;
}
.ec-productItemRole .ec-productItemRole__priceRegular .ec-price__tax {
  font-size: 0.7rem;
}
.ec-productItemRole .ec-productItemRole__price {
  line-height: 1.2;
  margin: 0.3em 0;
  text-align: var(--productItemPriceAlign, left);
}
.ec-productItemRole .ec-productItemRole__price .ec-price__label {
  font-size: 0.8rem;
}
.ec-productItemRole .ec-productItemRole__price .ec-price__price {
  font-size: 0.933rem;
}
.ec-productItemRole .ec-productItemRole__price .ec-price__tax {
  font-size: 0.7rem;
}
.ec-productItemRole .ec-productItemRole__reviewScore {
  margin: 0 0 10px;
  display: flex;
  align-items: center;
}
.ec-productItemRole .ec-productItemRole__favorite {
  position: absolute;
  top: 10px;
  right: 10px;
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite {
  display: block;
  position: relative;
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite > i {
  display: block;
  font-size: 1rem;
  background-color: #fff;
  color: #989C9F;
  cursor: pointer;
  transition: 0.3s;
  width: 1.85em;
  height: 1.85em;
  line-height: calc(1.85em + 2px);
  text-align: center;
  border-radius: 50%;
  position: relative;
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite > i:hover {
  background-color: #f55;
  color: #fff;
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite > i:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: solid 1px #f55;
  border-radius: 50%;
  opacity: 0;
  transition: 1s;
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite.add > i {
  color: #f55;
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite.add > i:before {
  content: "\e90d";
}
.ec-productItemRole .ec-productItemRole__favorite .btnFavorite.add > i:after {
  animation: animeHamon ease-out 0.3s forwards;
}
/*
ポップアップメッセージ

商品一覧・詳細ページにおいて、お気に入りボタンクリック時に未ログインの場合に表示されるポップアップメッセージのスタイリングです。
※現在のところは、お気に入りボタンのポップアップのみなのでこちらにてスタイリングしています。もし汎用化させる場合は整理してください。
*/
.popupMessage {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  width: auto;
  background-color: #f8f8f8;
  color: var(--clrDefault, #000);
  border-radius: 4px;
  font-size: 0.866rem;
  line-height: 1.35;
  padding: 0.85em;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.3));
  cursor: default;
  z-index: 9;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition: 0.5s;
}
body.LC_Page_Products_Detail .popupMessage br {
  display: none;
}
.popupMessage:after {
  content: "";
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  top: 100%;
  left: 10px;
  border: solid 8px transparent;
  border-top-color: #f8f8f8;
}
.popupMessage .login {
  margin: 0;
  white-space: nowrap;
  color: var(--clrLinkText, #0066C0);
  cursor: pointer;
}
.popupMessage .clostBtn {
  display: block;
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  font-size: 0.66rem;
  color: var(--clrDefault, #000);
}
.popupMessage.is-open {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.popupMessage.pos-right {
  left: auto;
  right: 0;
}
.popupMessage.pos-right:after {
  left: auto;
  right: 10px;
}
/*
商品アイテム内 カートインアクション
*/
.ec-productItemRole {
  /* EC-PACK7ではまず不要と考えコメントアウトしています
  & &__actions {

    select {
      max-width: 100%;
    }
  }

  // タイトルラベル
  & &__label {
    margin: 0;
    margin-top: 1em;
  }

  // 数量エリア
  .quantityLabel {
    display: inline-block;
    vertical-align: baseline;
    margin-top: 0;
    margin-right: .5em;
  }
  .ec-quantityRole {
    margin-top: 1em;
    display: inline-flex;
    vertical-align: baseline;

    // スマホ用調整（「数量」のテキストラベルとボタンとが改行されず横に並ぶようボタンサイズを調整）
    @include media_sphone {
      $size: 2.65rem;

      .ec-quantityRole__btn {
        width: $size;
        height: $size;
        line-height: $size;
      }

      .ec-numberInput {
        height: $size;
        input {
          height: $size;
          width: $size;
        }
      }
    }
  }

  // カートに入れるボタン
  & &__btn {
    margin-top: 1em;

    .ec-blockBtn--cartin {
      $size: 3rem;
      height: $size;
      line-height: $size;
    }
  }
  */
}
/*
ランキング表示

テンプレートでは使用しておりませんが拡張用に（おすすめ商品管理プラグイン等）スタイリングを施しております。
↓
箔一スタイル（EC-PACK7）のデザインに沿って、別途「_13.8.category_ranking.scss」にてスタイリングし直しています。
*/
/*
.ec-productItemRole {

  & &__ranking {
    $ranksize: 40px;
    position: relative;
    height: $ranksize;// 疑似要素（王冠アイコン）の高さ
    line-height: 1;

    span {
      display: block;
      width: 100%;
      font-size: 14px;
      text-align: center;
      position: absolute;
      bottom: 7px;// 上下位置調整
      left: 0;
      color: #555;
    }

    &:before {
      font-family: "jeiafont";
      content: "\e929";
      font-size: $ranksize;
      width: 1em;
      height: 1em;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
      color: #ddd;
      z-index: -1;
    }

    // rank 1
    &.rank_1 {

      span {
        color: #fff;
      }

      &:before {
        color: #FFC926;
      }
    }

    // rank 2
    &.rank_2 {

      span {
        color: #fff;
      }

      &:before {
        color: #777777;
      }
    }

    // rank 3
    &.rank_3 {

      span {
        color: #fff;
      }

      &:before {
        color: #B25900;
      }
    }
  }
}
*/
/*
商品レビュー星表示（グラデーション表示）

レビュー平均点（5点満点）の小数点部分をグラデーションで描画するスタイリングです。
※グラデーションはぼかしではなくグラフ的な意味
星パーツの生成は「jeia_function.js」にて実装しています。
*/
.ec-reviewStar {
  line-height: 1;
  visibility: hidden;
  opacity: 0;
  transition: 0s;
  transition-delay: 1s;
}
.ec-reviewStar.complete {
  visibility: visible;
  opacity: 1;
}
.ec-reviewStar .star {
  display: inline-block;
  vertical-align: bottom;
  background-color: transparent;
  width: 14px;
  height: 14px;
}
.ec-reviewStar .star img {
  display: block;
  width: 100%;
  height: 100%;
}
.ec-reviewScore {
  font-size: 12px;
  margin-left: 3px;
}
.ec-reviewCount {
  font-size: 12px;
}
/*
ページャ

商品一覧やマイページコンテンツで使われるページ送りコンポーネントを定義します。
*/
.ec-pagerRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
【商品一覧】カテゴリヘッド

デザインは箔一スタイル
*/
.ec-categoryHeadRole {
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.ec-categoryHeadRole .ec-categoryHeadRole__image img {
  width: 100%;
  height: auto;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  position: relative;
  display: none;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article > *:first-child {
  margin-top: 0 !important;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article > *:last-child {
  margin-bottom: 0 !important;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article .category_title {
  font-family: "Noto Serif JP", serif;
  font-size: min(1.7rem, 6vw);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1em;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article .description {
  font-size: 0.93rem;
  line-height: 2;
  text-align: justify;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article .ec-article {
  margin-bottom: 0 !important;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article .btnbox {
  position: sticky;
  bottom: 1rem;
  margin-top: 2rem;
  z-index: 3;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article .btnbox .ec-blockDetailBtn--center {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}
.ec-categoryHeadRole .ec-categoryHeadRole__article .btnbox .ec-blockDetailBtn--center:not(:hover) {
  background-color: #fff;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, transparent 50%, #fff);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
.ec-categoryHeadRole .ec-categoryHeadRole__article.is-hidden:after {
  visibility: visible;
  opacity: 1;
}
/*
クロス検索の開閉ギミックや見た目はドロップセレクト「.ec-dropSelect」とよく似たものになっていますが、
js処理やCSSスタイルは一切、関係がなく独立したものとしています。
ドロップセレクト「.ec-dropSelect」を使用して展開させる事も可能かもしれませんが、いまのところは全くの別物であるとの認識です。
挙動についてはなるべく同じになるように組んでいます。UI的には同じものに見せておきたいですので。
*/
.crossSearchBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  z-index: 990;
  visibility: hidden;
  opacity: 0;
  transition: 0.5s;
}
.crossSearchBg.is-active {
  opacity: 0.5;
  visibility: visible;
}
/*
【商品一覧】クロス検索
*/
.ec-crossSearchRole .ec-crossSearchRole__droptitle {
  font-size: 1.286rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2em;
}
.ec-crossSearchRole .crossSearchClose {
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  border-radius: 50%;
  background-color: #E6E6E6;
  color: #131313;
  cursor: pointer;
  transition: 0.3s;
  position: absolute;
  z-index: 992;
}
.ec-crossSearchRole .crossSearchClose:before {
  font-family: "ecpfont";
  content: "\e916";
  font-size: 11.25px;
  line-height: inherit;
}
.ec-crossSearchRole .crossSearchClose:hover {
  background-color: #cdcdcd;
}
.ec-crossSearchRole .ec-crossSearchRole__title {
  display: flex;
  justify-content: space-between;
  font-size: 1rem;
}
.ec-crossSearchRole .ec-crossSearchRole__title .title {
  font-weight: 500;
}
.ec-crossSearchRole .ec-crossSearchRole__title .counter {
  margin-left: 1em;
}
.ec-crossSearchRole .ec-crossSearchRole__otherSetItem .otherSetItem {
  margin: 1rem 0 0;
}
.ec-crossSearchRole .ec-crossSearchRole__otherSetItem .otherSetItem:nth-child(n+2) {
  margin-top: 0.5rem;
}
.ec-crossSearchRole .ec-crossSearchRole__otherSetItem .otherSetItem .comment {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 1em;
}
.ec-crossSearchRole .ec-crossSearchRole__otherSetItem .otherSetItem .itemBtn {
  font-size: 0.933rem;
  line-height: 1.3;
  padding: 0.5em 0.75em;
  background-color: #9F9F9F;
  color: #fff;
  border-radius: 2em;
  cursor: pointer;
  margin: 3px 0;
  position: relative;
  transition: 0.3s;
}
.ec-crossSearchRole .ec-crossSearchRole__otherSetItem .otherSetItem .itemBtn:hover {
  background-color: #666;
}
.ec-crossSearchRole .ec-crossSearchRole__otherSetItem .otherSetItem .itemBtn:after {
  font-family: "ecpfont";
  content: "\e916";
  font-size: 1em;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0.75em;
}
.ec-crossSearchRole .ec-crossSearchRole__action {
  margin-top: 2rem;
  border: solid 1px #ddd;
  background-color: #f7f8f9;
  padding: 1.25rem 1em;
  position: sticky;
  bottom: 1rem;
  z-index: 9;
  box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.1);
}
.ec-crossSearchRole .ec-crossSearchRole__action .ec-crossSearchItem.stocktype {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
.ec-crossSearchRole .ec-crossSearchRole__action .ec-crossSearchItem.stocktype .toggleBtn {
  display: none;
}
.ec-crossSearchRole .ec-crossSearchRole__action .ec-crossSearchItem.stocktype label {
  margin-top: 0;
}
.ec-crossSearchRole .ec-crossSearchRole__action .action {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  margin-top: 0;
  margin-top: 1rem;
}
.ec-crossSearchRole .ec-crossSearchRole__action .action > * {
  flex: 0 0 auto;
  width: calc((100% - 10px ) / 2);
  margin-left: 10px;
  margin-top: 0;
}
.ec-crossSearchRole .ec-crossSearchRole__action .action > *:nth-child(2n+1) {
  margin-left: 0;
}
.ec-crossSearchRole .ec-crossSearchRole__action .action .search_clear,
.ec-crossSearchRole .ec-crossSearchRole__action .action .search_action {
  font-size: 1.066rem;
  font-weight: 500;
  height: 3em;
  line-height: 3em;
  border-radius: 4px;
  text-align: center;
  border: solid 1px #aaa;
  background-color: #ddd;
  color: inherit;
  cursor: pointer;
  transition: 0.3s;
}
.ec-crossSearchRole .ec-crossSearchRole__action .action .search_clear:hover,
.ec-crossSearchRole .ec-crossSearchRole__action .action .search_action:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
/*
クロス検索：検索項目
*/
.ec-crossSearchItem {
  margin-top: 1rem;
  padding: 1rem 0 0;
  border-top: solid 1px #BEBEBE;
  /*
  クロス検索用フォーム部品
  ※クロス検索ではサイト全体共通のフォーム部品ではなくクロス検索用にいちからスタイリングします。
  */
}
.ec-crossSearchItem .ec-crossSearchItem__title {
  font-size: 0.933rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  margin-bottom: 0.5em;
  padding: 0.5em 0;
  position: relative;
}
.ec-crossSearchItem .ec-crossSearchItem__title .toggleBtn {
  font-size: 0.866rem;
  font-weight: normal;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  position: absolute;
  top: calc(50% - 2em / 2 + 0.1em);
  right: 0;
  cursor: pointer;
  border-radius: 50%;
  transition: 0.5s;
}
.ec-crossSearchItem .ec-crossSearchItem__title .toggleBtn i {
  line-height: inherit;
}
.ec-crossSearchItem .ec-crossSearchItem__title .toggleBtn:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.ec-crossSearchItem .ec-crossSearchItem__title .counter {
  display: inline-block;
  font-size: 0.8em;
  font-weight: 400;
  margin-left: 0.5em;
}
.ec-crossSearchItem .searchSetItem {
  font-size: 0.733rem;
  line-height: 1.2;
  margin-bottom: 1em;
}
.ec-crossSearchItem .searchSetItem ul {
  margin-top: -0.25em;
  margin-left: -0.25em;
}
.ec-crossSearchItem .searchSetItem ul li {
  display: inline-block;
  background-color: #777;
  color: #fff;
  padding: 0.25em 0.5em;
  border-radius: 2em;
  margin-top: 0.25em;
  margin-left: 0.25em;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
}
.ec-crossSearchItem .searchSetItem ul li:after {
  font-family: "ecpfont";
  content: "\e916";
  font-size: 0.9em;
  display: block;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.4em;
  text-align: center;
  border-radius: 50%;
  background-color: #fff;
  color: #000;
  border: solid 1px #333;
  position: absolute;
  top: calc(50% - 2.4em * 0.5);
  right: 0;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
}
.ec-crossSearchItem .searchSetItem ul li:hover {
  z-index: 9;
  background-color: #333;
}
.ec-crossSearchItem .searchSetItem ul li:hover:after {
  visibility: visible;
  opacity: 1;
}
.ec-crossSearchItem .ec-crossSearchItem__body {
  padding-bottom: 0.5em;
  display: none;
}
.ec-crossSearchItem.is-open .toggleBtn {
  transform: rotate(90deg);
}
.ec-crossSearchItem .subtitle {
  font-size: 0.933rem;
  font-weight: 500;
  margin: 1.5em 0 1em;
}
.ec-crossSearchItem .item.is-disabled {
  display: none;
}
.ec-crossSearchItem .search_checkbox {
  font-size: 0.933rem;
  font-weight: 500;
}
.ec-crossSearchItem .search_checkbox input[type=checkbox] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 0;
}
.ec-crossSearchItem .search_checkbox input[type=checkbox] + label {
  display: flex;
  margin: 0;
  margin-top: 0.5em;
  line-height: 1.3;
  font-size: inherit;
  font-weight: inherit;
  cursor: pointer;
  transition: 0.3s;
}
.ec-crossSearchItem .search_checkbox input[type=checkbox] + label:before {
  font-family: "ecpfont";
  content: "\e911";
  font-size: 20px;
  margin-right: 0.3em;
  margin-top: -0.1em;
  color: #999;
  transition: 0.3s;
}
.ec-crossSearchItem .search_checkbox input[type=checkbox]:checked + label:before {
  font-family: "ecpfont";
  content: "\e912";
  color: #0066c0;
}
.ec-crossSearchItem .search_checkbox input[type=checkbox]:disabled + label {
  opacity: 0.3;
  cursor: initial;
}
.ec-crossSearchItem .search_imgCheckbox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 15px;
  padding-top: 10px;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 0;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] + label {
  position: relative;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] + label .image {
  aspect-ratio: 1/1;
  display: flex;
  align-items: flex-end;
  padding: 5px;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] + label .image img {
  transition: 0.3s;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] + label .image:hover img {
  transform: scale(1.13);
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] + label .title {
  font-size: 0.733rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.5em;
  text-align: center;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox] + label:before {
  font-family: "ecpfont";
  content: "\e90f";
  font-size: 20px;
  position: absolute;
  top: 5px;
  right: 5px;
  line-height: 1;
  color: #999;
  cursor: pointer;
  z-index: 2;
}
.ec-crossSearchItem .search_imgCheckbox input[type=checkbox]:checked + label:before {
  font-family: "ecpfont";
  content: "\e910";
  color: #0066c0;
}
.ec-crossSearchItem .search_imgCheckbox.brand {
  -moz-column-gap: 7px;
       column-gap: 7px;
  row-gap: 7px;
}
.ec-crossSearchItem .search_imgCheckbox.brand input[type=checkbox] + label {
  /*
  // チェックアイコン無し
  &:before {
    display: none;
  }
  */
}
.ec-crossSearchItem .search_imgCheckbox.brand input[type=checkbox] + label .image {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 6%;
  aspect-ratio: 1/1;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 5px;
  transition: 0.3s;
  /* チェックアイコン型に変更に伴い枠線エフェクトは破棄
  // hover
  &:hover {
    border-color: #000;
  }
  */
}
.ec-crossSearchItem .search_imgCheckbox.brand input[type=checkbox] + label .title {
  margin: 0;
}
.ec-crossSearchItem .search_imgCheckbox.brand input[type=checkbox]:checked + label {
  /* チェックアイコン型に変更に伴い枠線エフェクトは破棄
  .image {
    border-color: #000;
  }
  */
  /*
  // チェックアイコン無し
  &:before {
    display: none;
  }
  */
}
.ec-crossSearchItem .search_imgCheckbox.color {
  grid-template-columns: repeat(7, 1fr);
  -moz-column-gap: 5px;
       column-gap: 5px;
  row-gap: 5px;
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox] + label {
  position: relative;
  width: 100%;
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox] + label .image {
  align-items: center;
  padding: 0;
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox] + label .dummy {
  aspect-ratio: 1/1;
  width: 100%;
  background-color: #eee;
  border-radius: 50%;
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox] + label .title {
  font-size: 0.733em;
  background-color: #000;
  color: #fff;
  padding: 0.25em 0.5em;
  white-space: nowrap;
  border-radius: 2em;
  position: absolute;
  bottom: calc(100% + 3px);
  left: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox] + label:before {
  opacity: 0;
  visibility: hidden;
  content: "\e913";
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  font-size: 0.86em;
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox] + label:hover .title {
  opacity: 1;
  visibility: visible;
}
.ec-crossSearchItem .search_imgCheckbox.color input[type=checkbox]:checked + label:before {
  opacity: 1;
  visibility: visible;
}
.ec-crossSearchItem .search_radio {
  font-size: 0.933rem;
  font-weight: 400;
}
.ec-crossSearchItem .search_radio input[type=radio] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 0;
}
.ec-crossSearchItem .search_radio input[type=radio] + label {
  display: inline-block;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  text-align: center;
  margin-right: 0.5em;
  margin-top: 0.5em;
  background-color: transparent;
  border: solid 1px #BEBEBE;
  border-radius: 2em;
  padding: 0.7em 1.5em;
  cursor: pointer;
  transition: 0.3s;
}
.ec-crossSearchItem .search_radio input[type=radio]:checked + label {
  background-color: #0066c0;
  border-color: #0066c0;
  color: #fff;
}
.ec-crossSearchItem .search_radio.radio_withIcon input[type=radio] + label {
  padding: 0.7em 2em;
  position: relative;
}
.ec-crossSearchItem .search_radio.radio_withIcon input[type=radio] + label:before {
  font-family: "ecpfont";
  content: "\e913";
  font-size: 1em;
  display: block;
  position: absolute;
  top: calc(50% - 0.4em);
  left: 0.5em;
  color: transparent;
  transition: 0.3s;
}
.ec-crossSearchItem .search_radio.radio_withIcon input[type=radio]:checked + label:before {
  color: #fff;
}
.ec-crossSearchItem .search_radio.radio_circle {
  font-size: 1.066rem;
  font-weight: 500;
}
.ec-crossSearchItem .search_radio.radio_circle input[type=radio] + label {
  padding: 0;
  width: 2.25em;
  height: 2.25em;
  line-height: 2.025em;
  text-align: center;
}
.ec-crossSearchItem .search_radio.radio_circle input[type=radio] + label:before {
  display: none;
}
.ec-crossSearchItem .search_select {
  font-size: 0.933rem;
  font-weight: 400;
}
.ec-crossSearchItem .search_select select {
  width: 100%;
  border: none;
  border: solid 1px #BEBEBE;
  padding: 0.75em 1em;
  line-height: 1.2;
  background-color: transparent;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  padding-right: 2em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.ec-crossSearchItem .search_select select::-ms-expand {
  display: none;
}
.ec-crossSearchItem .search_select .select_ui {
  position: relative;
}
.ec-crossSearchItem .search_select .select_ui:after {
  font-family: "ecpfont";
  content: "\e91e";
  font-size: 0.8em;
  line-height: 1;
  opacity: 0.5;
  position: absolute;
  top: calc(50% - 0.4em);
  right: 0.75em;
  pointer-events: none;
}
.ec-crossSearchItem .search_input, .ec-crossSearchItem .item_slider .search_inputSlider {
  font-size: 0.933rem;
  font-weight: 400;
}
.ec-crossSearchItem .search_input input, .ec-crossSearchItem .item_slider .search_inputSlider input {
  width: 100%;
  border: solid 1px #BEBEBE;
  padding: 0.5em 0.75em;
  background-color: transparent;
  border-radius: 4px;
  outline: none;
}
.ec-crossSearchItem .item_slider .search_inputSlider {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ec-crossSearchItem .item_slider .search_inputSlider .input_ui {
  position: relative;
}
.ec-crossSearchItem .item_slider .search_inputSlider .input_ui input {
  width: 100%;
  padding-right: 1.5em;
}
.ec-crossSearchItem .item_slider .search_inputSlider .input_ui:after {
  content: attr(data-unit);
  display: block;
  font-size: 0.733rem;
  opacity: 0.8;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0.5em;
  line-height: 1;
}
.ec-crossSearchItem .item_slider .search_inputSlider span {
  display: block;
  margin: 0 0.25em;
}
.ec-crossSearchItem .item_slider .inputSlider {
  margin-top: 1em;
}
.ec-crossSearchItem .item_dialog {
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  /*
  // チェック済みアイテムボタン
  .checkeditemBtn {
    font-size: .933rem;
    line-height: 1.3;
    padding: .5em .75em;
    background-color: #9F9F9F;
    color: #fff;
    border-radius: 2em;
    cursor: pointer;
    margin: 3px 0;
    position: relative;
    transition: .3s;

    //
    &:hover {
      background-color: #666;
    }

    // 「×」アイコン
    &:after {
      font-family: "ecpfont";
      content: "\e916";
      font-size: 1em;
      position: absolute;
      top: calc(50% - 0.5em);
      right: 0.75em;
    }
  }
  */
}
.ec-crossSearchItem .item_dialog.is-open .dialog_bg {
  visibility: visible;
  opacity: 1;
}
.ec-crossSearchItem .item_dialog.is-open .dialog {
  visibility: visible;
  opacity: 1;
}
.ec-crossSearchItem .item_dialog .dialog_bg {
  content: "";
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 993;
  visibility: hidden;
  opacity: 0;
  transition: 0.6s;
}
.ec-crossSearchItem .item_dialog .dialog {
  display: flex;
  flex-flow: column;
  background-color: #fff;
  border-radius: 5px;
  padding: 10px;
  position: fixed;
  z-index: 994;
  visibility: hidden;
  opacity: 0;
  transition: 0.6s;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_title {
  margin: 0;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_title span {
  display: block;
  background-color: #eee;
  font-size: 1.466rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.75em 1em;
  text-align: center;
}
.ec-crossSearchItem .item_dialog .dialog .counter {
  text-align: center;
  font-size: 0.866rem;
  font-weight: 500;
  margin: 0.5em 0;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body {
  margin: 10px 0;
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  /*
  // 選択アイテムタイトル（親カテゴリ名称の表示）※「シリーズ」のみ
  .series_parent_title {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 2em 0 0.5em;
    display: none;// 初期非表示

    @include media_tablet {
      grid-column-end: span 2;// girdレイアウトをフル幅1行に
    }

    @include media_desktop {
      grid-column-end: span 3;// girdレイアウトをフル幅1行に
    }

    // タイトルテキストとborder線
    span {
      display: grid;
      grid-template-columns: auto 1fr;
      column-gap: .75em;
      align-items: center;

      &:after {
        content: "";
        min-width: 1em;
        height: 5px;// 高さ指定でborder線の上下位置を調整
        border-bottom: solid 1px #ddd;

        @include media_sphone {
          display: none;
        }
      }
    }

    // タイトル表示状態
    &.is-display {
      display: block;
    }

    // 1番目のタイトルのみ上余白をリセット（CSSで要素取得は無理な様子でしたのでjs側で要素取得してclass付与しています）
    &.is-first {
      margin-top: 0;
    }
  }
  */
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body .item {
  position: relative;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body .item label {
  margin: 0;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body .item .initialChar {
  font-size: 1em;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: calc(100% + 7px);
  z-index: 9;
  filter: drop-shadow(3px 5px 5px rgba(0, 0, 0, 0.2));
  display: none;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body .item .initialChar:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: calc(50% - 1px);
  left: 10px;
  z-index: -1;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body .item.item_parent {
  background-color: var(--clrBodyToneBg, #F3F3F3);
  padding: 0.5em;
  /*
  &:nth-child(n+2) {
    margin-top: 1rem;
  }
  */
}
.ec-crossSearchItem .item_dialog .dialog .dialog_body .item.item_child {
  padding-left: 0.5em;
}
.ec-crossSearchItem .item_dialog .dialog .initialAnchorBtn {
  margin: 0;
}
.ec-crossSearchItem .item_dialog .dialog .initialAnchorBtn ul {
  display: flex;
  justify-content: center;
  font-size: 1.2rem;
  margin-left: -0.5em;
}
.ec-crossSearchItem .item_dialog .dialog .initialAnchorBtn ul li {
  margin-left: 0.5em;
}
.ec-crossSearchItem .item_dialog .dialog .initialAnchorBtn ul li a {
  color: var(--clrLinkText, #0066C0);
}
.ec-crossSearchItem .item_dialog .dialog .dialog_bottom {
  margin: auto 0;
  background-color: #eee;
  padding: 10px;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_bottom .ec-blockBtn {
  font-size: 1.066rem;
  font-weight: 700;
  max-width: 320px;
  height: 50px;
  line-height: 50px;
  margin: 0 auto;
  background-color: #B90A0F;
  border: none;
  color: #fff;
  border-radius: 2em;
}
.ec-crossSearchItem .item_dialog .dialog .dialog_close {
  position: absolute;
  bottom: 100%;
  right: 0;
  font-size: 40px;
  color: #fff;
  margin-bottom: 10px;
  cursor: pointer;
}
.ec-crossSearchItem .item_dialog .dialog_open {
  width: 100%;
  border: solid 1px #BEBEBE;
  font-size: 0.933rem;
  padding: 0.75em 1em;
  line-height: 1.2;
  background-color: transparent;
  border-radius: 4px;
  cursor: pointer;
  padding-right: 2em;
  position: relative;
}
.ec-crossSearchItem .item_dialog .dialog_open:after {
  font-family: "jeiafont";
  content: "\e90b";
  font-size: 1em;
  line-height: 1;
  opacity: 0.5;
  position: absolute;
  top: calc(50% - 0.4em);
  right: 0.5em;
  pointer-events: none;
}
/*
商品カスタムフィールド

カスタムフィールドについてのスタイリングになりますが、基本は各セクションでスタイリングするものとします。
ここでは共通する基礎的なスタイリングにとどめます。
*/
.ec-customfield a {
  color: inherit;
  pointer-events: none;
}
.ec-customfield.is-search a {
  color: inherit;
  pointer-events: initial;
  transition: 0.3s;
}
.ec-customfield.is-search a:hover {
  text-decoration: none;
  color: inherit;
  filter: brightness(1.1);
}
.ec-customfield.is-search.is-not-tag a {
  display: flex;
  align-items: center;
}
.ec-customfield.is-search.is-not-tag a:after {
  display: block;
  font-family: "ecpfont";
  content: "\e909";
  font-size: 0.5rem;
  width: 2em;
  height: 2em;
  line-height: calc(2em + 0.4em);
  text-align: center;
  background-color: #777;
  color: #fff;
  border-radius: 50%;
  margin-left: 0.25em;
}
.ec-customfield .customfield {
  /*

  // タグ化する
  &.is-tag {
  }

  // タグ化しない
  &.is-not-tag {
  }

  // 検索に使用
  &.is-search {
    pointer-events: initial;

    // hover
    &:hover {
    }
  }
  */
}
.ec-customfield .customfield .image {
  width: 100px;
}
/*
【商品一覧】カテゴリランキング

ランキングの商品一覧リストのスタイリングは「_13.2.shelf.scss」でも定義していますが（現在コメントアウト）、ここでは箔一スタイル（EC-PACK7）用に別途、スタイリングしています。
*/
.ec-categoryRankingRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
  /*
  .ec-secHeading {

    @include media_desktop {
      transform: translateY(70%);// 全体的に下方へ
    }
  }
  */
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item {
  position: relative;
  counter-increment: number;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item:after {
  content: counter(number);
  display: block;
  font-family: "Century Gothic";
  font-size: 0.866rem;
  font-weight: bold;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  text-align: center;
  background-color: #757171;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item:nth-child(1):after {
  background-color: #CECA5B;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item:nth-child(2):after {
  background-color: #D1D1D1;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item:nth-child(3):after {
  background-color: #947C4C;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item .ec-productItemRole__status {
  display: none;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item .ec-productItemRole__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.666rem;
  text-align: center;
  margin: 1rem 0 0.5rem;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item .ec-productItemRole__price {
  font-size: 0.666rem;
  text-align: center;
}
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item .ec-productItemRole__price .ec-price__price,
.ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item .ec-productItemRole__price .ec-price__tax {
  font-size: 1em;
}
/*
商品詳細【リーデル】

商品詳細ページに関する Project コンポーネントを定義します。
*/
.ec-productRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1200px;
  /* デスクトップ時のみ左右2分割レイアウト */
}
/*
商品ビジュアル表示
*/
.ec-productRole__visual {
  /* メインビジュアル格納枠 */
  /* ビジュアルナビ */
}
.ec-productRole__visual .ec-productVisualMain {
  position: relative;
  overflow: hidden;
}
.ec-productRole__visual .ec-productVisualMain .slick-arrow {
  background: none;
  color: #000;
  font-size: 22px;
}
.ec-productRole__visual .ec-productVisualMain:after {
  font-family: "ecpfont";
  content: "\e90b";
  display: block;
  font-size: 1.5rem;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  text-align: center;
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
  background-color: #fff;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}
.ec-productRole__visual .ec-productVisualMain .visualMovie {
  display: flex;
  align-items: center;
  background: #000;
  aspect-ratio: 1/1;
}
.ec-productRole__visual .ec-productVisualNav {
  /* デスクトップ・タブレット時はメインビジュアルの横にナビ（サムネイル）を配置して、このナビには縦スライド機能をつけています。
   * スマホ時は、全く違う挙動で、ナビ開閉ボタンによりナビがドロワーと同様にサイドインする仕様です。
   * レスポンシブ動作する観点において、あらかじめデスクトップ・タブレット用のナビと、スマホ用のナビをそれぞれ別に組み込んでおきレスポンシブで表示を切り替えています。
   * 完全変形レスポンシブをするには、スライド機能のON/OFFやレイアウト等の変形など、いささかロジックが煩雑になると思われましたのでそのようにしています。
   */
  /* スマホ用ナビ
   * スマホ用ナビは、ナビ開閉ボタンで表示をON/OFFします。
   * ここでは見た目の基本スタイリングを施し、後ほど、開閉ボタンのスタイリングと共に開閉動作のスタイリングをまとめます。
   */
  /* デスクトップ・タブレット用ナビ */
}
.ec-productRole__visual .ec-productVisualNav.sphone {
  position: fixed;
  top: 64px;
  left: 0;
  width: 100vw;
  height: calc(100vh - 64px);
  padding: 0 7.009vw;
  overflow-y: auto;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 90;
}
.ec-productRole__visual .ec-productVisualNav.sphone .title {
  font-size: 1.286rem;
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  padding: 2em 0;
}
.ec-productRole__visual .ec-productVisualNav.sphone .sideInNavShelf {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 9px;
       column-gap: 9px;
  row-gap: 9px;
  padding-bottom: 7.009vw;
}
.ec-productRole__visual .ec-productVisualNav.desktop {
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  /* prev,nextボタンのスタイリングを上書き調整します */
  /* ナビエリアにマウスオーバーしたらprev,nextボタンを表示します */
  /* サムネイル */
}
.ec-productRole__visual .ec-productVisualNav.desktop.is-heightReady {
  opacity: 1;
  visibility: visible;
}
.ec-productRole__visual .ec-productVisualNav.desktop .slick-arrow {
  font-size: 18px;
  padding: 0;
  width: 100%;
  height: 30px;
  background-color: rgba(255, 255, 255, 0.5);
  color: #333;
  opacity: 1;
}
.ec-productRole__visual .ec-productVisualNav.desktop .slick-arrow:hover {
  background-color: rgba(255, 255, 255, 0.85);
}
.ec-productRole__visual .ec-productVisualNav.desktop .slick-arrow.slick-prev {
  top: 0;
  left: 0;
  transform: translate3d(0, -100%, 0);
}
.ec-productRole__visual .ec-productVisualNav.desktop .slick-arrow.slick-next {
  top: auto;
  bottom: 0;
  left: 0;
  transform: translate3d(0, 100%, 0);
}
.ec-productRole__visual .ec-productVisualNav.desktop:hover .slick-arrow {
  transform: translate3d(0, 0, 0);
}
.ec-productRole__visual .ec-productVisualNav.desktop .slideThumb {
  border: none;
  cursor: pointer;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
  width: 100% !important;
  position: relative;
}
.ec-productRole__visual .ec-productVisualNav.desktop .slideThumb * {
  overflow: hidden;
}
.ec-productRole__visual .ec-productVisualNav.desktop .slideThumb img {
  transition: 0.6s;
}
.ec-productRole__visual .ec-productVisualNav.desktop .slideThumb:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-productRole__visual .ec-productVisualNav.desktop .slideThumb:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  position: absolute;
  top: 0;
  left: 0;
}
.ec-productRole__visual .ec-productVisualNav.desktop .slideThumb.slick-current:after {
  border-color: #EA000E;
  border-width: 2px;
}
/*
スマホ用
ビジュアルナビのサイドイン動作と、開閉ボタンのスタイリング
*/
.ec-productRole__visual {
  /* スマホ用ビジュアルナビはCLOSE時は右端にスライダした形でスタンバイして隠します */
  /* ビジュアルナビ開閉ボタン */
  /* ビジュアルナビOPEN時 */
}
.ec-productRole__visual .ec-productVisualNav.sphone {
  transform: translate3d(100%, 0, 0);
  transition: 0.3s;
}
.ec-productRole__visual .sideInNavToggleBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  color: #fff;
  font-size: 12px;
  height: 2em;
  line-height: 1;
  border-radius: 1em;
  padding: 0 0.75em;
  position: absolute;
  top: 15px;
  right: 15px;
}
.ec-productRole__visual .sideInNavToggleBtn i {
  display: block;
  font-size: 1.1em;
  margin-right: 5px;
}
.ec-productRole__visual .sideInNavToggleBtn span {
  display: block;
}
.ec-productRole__visual .sideInNavToggleBtn .ceparate {
  margin: 0 5px;
}
.ec-productRole__visual.is-navOpen {
  /* 右端からスライドインします */
}
.ec-productRole__visual.is-navOpen .ec-productVisualNav.sphone {
  transform: translate3d(0, 0, 0);
}
/*
商品プロフィール（商品データ）

画像ビジュアル枠に対してこちらは右枠の（デスクトップ時）、商品データ枠になります。
*/
.ec-productRole {
  /* 商品プロフィール枠 */
}
.ec-productRole .ec-productRole__title {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.5rem;
}
.ec-productRole .ec-productRole__title h1, .ec-productRole .ec-productRole__title .h1 {
  font-size: min(1.533rem, 4.3vw);
  font-weight: 400;
  margin: 0;
  align-self: center;
}
.ec-productRole .ec-productRole__title .ec-productRole__status {
  align-self: center;
}
.ec-productRole .ec-productRole__code {
  font-size: 0.933rem;
  color: var(--clrDefaultThin, #676464);
  margin: 0.5em 0;
}
.ec-productRole .ec-productRole__code .product-code-default {
  font-family: "Poppins", "Noto Sans JP", sans-serif;
}
.ec-productRole .ec-productRole__pirceWrap {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin: 1.5rem 0 0;
}
.ec-productRole .ec-productRole__pirceWrap .ec-productRole__priceRegular {
  margin-right: 0.5em;
  margin-top: 0.25em;
}
.ec-productRole .ec-productRole__pirceWrap .ec-productRole__price {
  margin-right: 1em;
}
.ec-productRole .ec-productRole__pirceWrap .ec-productRole__priceRegular,
.ec-productRole .ec-productRole__pirceWrap .ec-productRole__price,
.ec-productRole .ec-productRole__pirceWrap .ec-productRole__reviewScore {
  margin-bottom: 10px;
}
.ec-productRole .ec-productRole__priceRegular {
  color: var(--clrDefaultThin, #676464);
}
.ec-productRole .ec-productRole__priceRegular .ec-price__label {
  font-size: 0.8rem;
}
.ec-productRole .ec-productRole__priceRegular .ec-price__price {
  font-size: 0.8rem;
}
.ec-productRole .ec-productRole__priceRegular .ec-price__tax {
  font-size: 0.8rem;
}
.ec-productRole .ec-productRole__price .ec-price__label {
  font-size: 1rem;
}
.ec-productRole .ec-productRole__price .ec-price__price {
  font-size: 2rem;
}
.ec-productRole .ec-productRole__price .ec-price__tax {
  font-size: 0.866rem;
}
.ec-productRole .ec-productRole__reviewScore {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  cursor: pointer;
}
.ec-productRole .ec-productRole__status .ec-customfield.customfield_column_id_1 .customfield {
  display: block;
  font-weight: normal;
  font-size: 0.8rem;
  line-height: 1.25;
  white-space: nowrap;
  padding: 0.5em 1em;
  border-radius: 2em;
  transition: 0.3s;
}
.ec-productRole .ec-productRole__status .ec-customfield.customfield_column_id_1 .customfield:hover {
  text-decoration: none;
  filter: brightness(1.1);
}
.ec-productRole .ec-productRole__status .ec-customfield.customfield_column_id_1 .customfield .image {
  display: none;
}
.ec-productRole .ec-productRole__tags .ec-customfield.customfield_column_id_2 {
  display: flex;
  flex-flow: row wrap;
  -moz-column-gap: 7px;
       column-gap: 7px;
  row-gap: 7px;
  margin: 0.75rem 0 0;
}
.ec-productRole .ec-productRole__tags .ec-customfield.customfield_column_id_2 .customfield {
  display: block;
  font-weight: normal;
  font-size: 0.8rem;
  line-height: 1;
  padding: 0.5em 1em;
  border-radius: 2em;
  transition: 0.3s;
}
.ec-productRole .ec-productRole__tags .ec-customfield.customfield_column_id_2 .customfield:hover {
  text-decoration: none;
  filter: brightness(1.1);
}
.ec-productRole .ec-productRole__description {
  font-size: 0.866rem;
  margin: 1em 0;
  line-height: 1.923;
  text-align: justify;
}
.ec-productRole .ec-productRole__category {
  margin: 1rem 0;
  font-size: 0.933rem;
}
.ec-productRole .ec-productRole__category .titleLabel {
  color: var(--clrDefaultThin, #676464);
}
.ec-productRole .ec-productRole__category .ec-topicpath .ec-topicpath__item {
  /* 最後のli要素を太字 */
}
.ec-productRole .ec-productRole__category .ec-topicpath .ec-topicpath__item:first-child:before {
  content: "・";
}
.ec-productRole .ec-productRole__category .ec-topicpath .ec-topicpath__item:last-child a {
  font-weight: normal;
  pointer-events: auto;
}
.ec-productRole .ec-productRole__timesale {
  background-color: #F4F4F5;
  border: solid 1px #EA000E;
  border-radius: 5px;
  margin: 1rem 0;
}
.ec-productRole .ec-productRole__timesale .title {
  background-color: #EA000E;
  color: #fff;
  text-align: center;
  font-size: 1.066rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.5em 1em;
}
.ec-productRole .ec-productRole__timesale .content {
  font-size: 1.066rem;
  line-height: 1.3;
  color: #EA000E;
  text-align: center;
  padding: 0.75em 1em;
}
.ec-productRole .ec-productRole__timesale .content .comment {
  margin-top: 0.5em;
}
.ec-productRole .ec-productRole__timesale.timesaleMini {
  background-color: transparent;
  border: none;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  align-content: center;
}
.ec-productRole .ec-productRole__timesale.timesaleMini .title {
  background-color: #FF4207;
  font-size: 0.733rem;
  font-weight: 400;
  padding: 0.25em 1em;
  align-self: center;
}
.ec-productRole .ec-productRole__timesale.timesaleMini .content {
  font-size: 0.933rem;
  text-align: left;
  padding: 0;
  color: #FF4207;
}
.ec-productRole .ec-productRole__timesale.timesaleMini .content .comment {
  display: none;
}
.ec-productRole .ec-productRole__limited {
  background-color: #F4F4F5;
  border: solid 1px #ea5e00;
  border-radius: 5px;
  margin: 1rem 0;
}
.ec-productRole .ec-productRole__limited .title {
  background-color: #ea5e00;
  color: #fff;
  text-align: center;
  font-size: 1.066rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.5em 1em;
}
.ec-productRole .ec-productRole__limited .content {
  font-size: 0.966rem;
  line-height: 1.5;
  padding: 0.75em 1em;
}
.ec-productRole .ec-productRole__actions {
  margin: 1rem 0;
}
.ec-productRole .ec-productRole__class {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.ec-productRole .ec-productRole__class.classCategory2 {
  margin-top: 10px;
}
.ec-productRole .ec-productRole__class .classLabel {
  margin: 0;
  margin-right: 1em;
  min-width: 6em;
}
.ec-productRole .ec-productRole__class .classLabel:after {
  content: "：";
}
.ec-productRole .ec-productRole__class .ec-select select, .ec-productRole .ec-productRole__class .ec-birth select {
  max-width: 100%;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
}
.ec-productRole .ec-productRole__cartinRow {
  margin: 1.5rem 0;
  /*
  .quantityLabel {
    margin: 0;
    margin-right: 1em;
  }
  */
}
.ec-productRole .ec-productRole__cartinRow .rowBox {
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.ec-productRole .ec-productRole__error {
  margin: 1rem 0;
}
.ec-productRole .ec-productRole__error ul {
  font-size: 0.933rem;
  background-color: #f26161;
  color: #fff;
  line-height: 1.2;
  padding: 0.25em 0.5em;
}
.ec-productRole .ec-productRole__error ul li {
  padding: 0.5em;
}
.ec-productRole .ec-productRole__error ul li:before {
  font-family: "jeiafont";
  content: "\e915";
  vertical-align: middle;
  margin-right: 0.25em;
}
.ec-productRole .ec-productRole__error ul li:nth-child(n+2) {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
}
.ec-productRole .ec-productRole__error ul li br {
  display: none;
}
.ec-productRole .ec-productRole__stockoutMessage {
  font-size: 0.933rem;
  color: #e2251f;
  margin: 0.75rem 0;
}
.ec-productRole .ec-productRole__restockMessage {
  background-color: #F4F4F5;
  border: solid 1px #379cc3;
  border-radius: 5px;
  margin: 1rem 0;
}
.ec-productRole .ec-productRole__restockMessage .title {
  background-color: #379cc3;
  color: #fff;
  text-align: center;
  font-size: 1.066rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.5em 1em;
}
.ec-productRole .ec-productRole__restockMessage .content {
  font-size: 0.966rem;
  line-height: 1.5;
  padding: 0.75em 1em;
}
.ec-productRole .ec-blockBtn--cartin.restock_mail {
  background-color: #31b5e8;
  border-color: #31b5e8;
  color: #fff;
}
.ec-productRole .ec-blockBtn--cartin.restock_mail:before {
  content: "\e905";
}
.ec-productRole .ec-productRole__utilBox {
  margin: 1.5rem 0;
}
.ec-productRole .ec-productRole__share .shareBtn {
  display: block;
  padding: 7px;
  color: #A4A4A4;
}
.ec-productRole .ec-productRole__share .shareBtn i + span {
  display: none;
}
.ec-productRole .ec-productRole__favorite .btnFavorite {
  position: relative;
}
.ec-productRole .ec-productRole__favorite .btnFavorite i {
  position: relative;
}
.ec-productRole .ec-productRole__favorite .btnFavorite i:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: solid 1px #f55;
  border-radius: 50%;
  opacity: 0;
  transition: 1s;
}
.ec-productRole .ec-productRole__favorite .btnFavorite.add i {
  color: #f55;
}
.ec-productRole .ec-productRole__favorite .btnFavorite.add i:before {
  content: "\e90d";
}
.ec-productRole .ec-productRole__favorite .btnFavorite.add i:after {
  animation: animeHamon ease-out 0.3s forwards;
}
.ec-productRole .ec-productRole__feature .feature_tabs {
  display: flex;
  justify-content: center;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-productRole .ec-productRole__feature .feature_tabs .tab {
  flex: 0 0 auto;
  min-width: 132px;
  font-size: 1.133rem;
  font-weight: 500;
  padding: 0.5em 1.5em;
  text-align: center;
  border-bottom: solid 5px transparent;
  cursor: pointer;
  transition: 0.3s;
}
.ec-productRole .ec-productRole__feature .feature_tabs .tab.is-active {
  border-bottom: solid 5px #BCA46B;
}
.ec-productRole .ec-productRole__feature .feature_content {
  display: none;
}
.ec-productRole .ec-productRole__feature .feature_toggle > .content > .title {
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  margin-left: -7.009vw;
  margin-right: -7.009vw;
  padding: 1em 7.009vw;
  position: relative;
}
.ec-productRole .ec-productRole__feature .feature_toggle > .content > .title:after {
  display: block;
  font-family: "ecpfont";
  content: "\e91d";
  position: absolute;
  top: calc(50% - 0.5em);
  right: 7.009vw;
  transition: 0.3s;
}
.ec-productRole .ec-productRole__feature .feature_toggle > .content > .title.is-open:after {
  transform: rotate(90deg);
}
.ec-productRole .ec-productRole__feature .feature_toggle > .content .body .feature_content {
  display: block;
}
/*
特徴コンテンツ WYSIWYGテンプレート ←ブログ用記事テンプレートと同一化できないか検討の意味でコメントアウト
*/
/*
.ec-productRole__feature .feature_content {

  // テンプレート共通
  .template {
    @include containerMargin;

    // スマホ時はタブ切り替えではなく折り畳み型なので調整
    @include media_sphone {
      margin-top:    $padding-sphone;
      margin-bottom: $padding-sphone;
    }

    max-width: 1208px;
    margin-left: auto;
    margin-right: auto;

    h2 {
      font-family: $ff-min;
      font-size: 1.33rem;
      font-weight: 500;
      line-height: 1.25;
      margin-bottom: 1em;

      @include media_desktop {
        font-size: 1.6rem;
      }
    }

    h3 {
      font-family: $ff-min;
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 1.25;
      margin-bottom: 1em;

      @include media_desktop {
        font-size: 1.33rem;
      }
    }

    h4 {
      //font-family: $ff-min;
      font-size: 1.066rem;
      line-height: 1.25;
      margin-bottom: 1em;
    }

    p {
      margin: 0;
      font-size: .933rem;
      line-height: 1.5;

      &:nth-of-type(n+2) {
        margin-top: 1em;
      }
    }
  }

  // テンプレートA（画像＆テキスト）
  .template_A {

    .item {
      display: flex;
      justify-content: space-between;

      .pic {
        flex: 0 0 auto;
        width: 48%;
        order: 2;
      }

      .content {
        flex: 0 0 auto;
        width: 48%;
        order: 1;

        display: flex;
        flex-flow: column;
        justify-content: center;

        p {
          font-size: 1.066rem;
          line-height: 2;
        }
      }

      &:nth-child(n+2) {
        margin-top: 95px;
      }

      &:nth-child(even) {

        .pic {
          order: 1;
        }

        .content {
          order: 2;
        }
      }
    }

    // スマホ・タブレット時
    @include media_mobile {

      .item {
        display: block;

        .pic {
          width: 100%;
        }

        .content {
          width: 100%;
          margin: 1rem 0 0;
        }

        &:nth-child(n+2) {
          margin-top: $padding-sphone;

          @include media_tablet {
            margin-top: $padding-tablet;
          }
        }
      }
    }
  }

  // テンプレートB（左右2カラム）
  .template_B {
    display: grid;

    @include media_sphone {
      grid-template-columns: repeat(1, 1fr);
      column-gap: $padding-sphone;
      row-gap: $padding-sphone;
    }

    @include media_tablet {
      grid-template-columns: repeat(2, 1fr);
      column-gap: $padding-tablet;
      row-gap: $padding-tablet;
    }

    @include media_desktop {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 40px;
      row-gap: 40px;
    }

    .item {
      display: flex;
      flex-flow: column;

      .content {
        margin-bottom: 1rem;

        @include media_desktop {
          margin-bottom: 40px;
        }
      }

      .pic {
        // 底配置
        margin-top: auto;
        margin-bottom: 0;
      }
    }
  }

  // テンプレートC（左右4カラム）
  .template_C {
    display: grid;

    @include media_sphone {
      grid-template-columns: repeat(2, 1fr);
      column-gap: $padding-sphone;
      row-gap: $padding-sphone;
    }

    @include media_tablet {
      grid-template-columns: repeat(4, 1fr);
      column-gap: $padding-tablet;
      row-gap: $padding-tablet;
    }

    @include media_desktop {
      grid-template-columns: repeat(4, 1fr);
      column-gap: 40px;
      row-gap: 40px;
    }

    .item {
      display: flex;
      flex-flow: column;

      .content {
        margin-bottom: 1rem;
      }

      .pic {
        // 底配置
        margin-top: auto;
        margin-bottom: 0;
      }
    }
  }

  // テンプレートD（テキスト）
  .template_D {
  }

  // テンプレートE（YouTube動画）
  .template_E {
  }

  // テンプレート（スペック表）
  // ※商品スペックはカスタムフィールドで展開しますが、全体の流れ等を考えてあえてテンプレートの一種という形で構造しておきます
  .template_F {
    @include media_desktop {
      margin-top: 40px;
      margin-bottom: 40px;
    }

    .dl_table {

      // カスタムフィールド（dl要素）レイアウト
      dl {
        //border: none !important;

        > dt {}
        > dd {}
      }

      // カスタムフィールド
      .ec-customfield {

        // カスタムフィールド登録ID別（リーデル）
        // ↓
        // 商品ステータス（フィーチャアイコン）
        &.customfield_column_id_1 {
          .customfield {
            display: inline-block;
            font-family: $ff-gothic;
            font-weight: normal;
            font-size: .8em;//.857rem;
            line-height: 1;//1.2;
            padding: .5em 1em;//.44em 1em;
            border-radius: 2em;
          }
        }

        // 商品タグ
        &.customfield_column_id_2 {
          display: flex;
          flex-flow: row wrap;
          margin-left: -7px;
          margin-bottom: -7px;

          .customfield {
            margin-left:   7px;
            margin-bottom: 7px;
            //display: inline-block;
            font-family: "Century Gothic",'Noto Sans JP', sans-serif;
            font-weight: normal;
            font-size: .8rem;
            line-height: 1;
            padding: .5em 1em;
            border-radius: 2em;
          }
        }

        // 味わい
        &.customfield_column_id_3 {}
        // 製法
        &.customfield_column_id_4 {}
        // 高さ
        &.customfield_column_id_5 {}
        // 容量
        &.customfield_column_id_6 {}
        // 最大経
        &.customfield_column_id_7 {}
        // セット数
        &.customfield_column_id_8 {}

        // カラー
        &.customfield_column_id_9 {
          display: flex;
          flex-flow: row wrap;
          margin-left: -7px;
          margin-bottom: -7px;

          .customfield {
            margin-left:   7px;
            margin-bottom: 7px;
            display: flex;
            align-items: center;

            // 検索アイコンは非表示
            &:after {
              display: none;
            }

            .image {
              flex: 0 0 auto;
              width: 25px;
            }

            .name {
              margin-left: .25em;
            }
          }
        }
      }
    }
  }

  // 商品レビュー（※_30.3product_review.scssで定義された基本スタイリングに対して【リーデル】向けに上書き調整します）
  .ec-productReviewRole {
    // コンテナ左右余白を解除
    padding-left: 0 !important;
    padding-right: 0 !important;

    // コンテナ上下余白を解除
    margin: 0 !important;

    // セクションタイトル不要
    .ec-secHeading {
      display: none;
    }

    // レビューコメント折り畳みのheading不要
    .ec-productReviewRole__heading {
      display: none;
    }

    // 投稿ボタン
    .ec-productReviewRole__actions {
      .ec-blockBtn {
        width: 280px;
        height: 40px;
        line-height: 40px;
        border-radius: 40px;
        background-color: #828080;
        border: none;
      }
    }
  }
}
*/
/*
商品レビュー投稿画面
*/
.ec-productReviewPostRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 960px;
}
/*
常駐カートイン

商品詳細ページにおいてカートインフォームのクローンコピーを作り、ページ下部にカートインフォームを常駐させています（clone_cartin.js）。
そのスタイリングになります。
*/
.ec-cloneCartinRole {
  color: #fff;
  /* 数量カウントの「＋」「-」も白色になってしまうので黒文字に上書きスタイリングします */
  /* 黒系背景なのでカートボタンも色を変えておきます */
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #333;
  filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, 0.25));
  z-index: 9;
  /* スタンバイ */
  transform: translate3d(0, calc(100% - 10px), 0);
  transition: 0.5s;
  /**/
  /* 開閉ボタン */
  /* CLOSEボタン */
  /* OPEN状態 */
}
.ec-cloneCartinRole .ec-quantityRole__btn i {
  color: #000;
}
.ec-cloneCartinRole .ec-blockBtn--cartin {
  background-color: #d00;
  border-color: #d00;
}
.ec-cloneCartinRole .ec-cloneCartinRole__actions {
  max-width: 590px;
  margin: 0 auto;
}
.ec-cloneCartinRole .ec-cloneCartinRole__toggleBtn {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: #333;
  padding: 8px 40px 4px;
  line-height: 1;
  cursor: pointer;
  /*
  &:before,
  &:after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
  }

  &:before {
    border-top: solid 16px transparent;
    border-right: solid 4px $bgColor;
    border-bottom: solid 16px $bgColor;
    border-left: solid 4px transparent;
    right: 100%;
  }

  &:after {
    border-top: solid 16px transparent;
    border-right: solid 4px transparent;
    border-bottom: solid 16px $bgColor;
    border-left: solid 4px $bgColor;
    left: 100%;
  }
  */
}
.ec-cloneCartinRole .ec-cloneCartinRole__toggleBtn span {
  font-size: 17px;
}
.ec-cloneCartinRole .ec-cloneCartinRole__toggleBtn span:after {
  display: inline-block;
  font-family: "jeiafont";
  content: "\e92f";
  margin-left: 7px;
  font-size: 1.2em;
  line-height: 1;
  transform: translateY(3px);
}
.ec-cloneCartinRole .ec-cloneCartinRole__closeBtn {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0.5em;
  visibility: hidden;
  opacity: 0;
  transition: 1s;
}
.ec-cloneCartinRole.is-active {
  transform: translate3d(0, 0, 0);
}
.ec-cloneCartinRole.is-active .ec-cloneCartinRole__closeBtn {
  visibility: visible;
  opacity: 1;
}
/*
商品レビュー
*/
/*
.ec-productReviewRole {
  @include container;
  max-width: $container-maxwidth2;

  @include media_sphone {
    margin-top: $padding-sphone;
  }

  @include media_tablet {
    margin-top: $padding-tablet;
  }

  @include media_desktop {
    margin-top: 60px;
  }

  //
  & &__list {

  }

  // レビュー投稿アイテム
  & &__listItem {
    margin-top: 1.5em;

    @include media_desktop {
      margin-top: 2rem;
    }
  }

  // レビューヘッド
  & &__head {
    margin-bottom: 5px;
  }

  // レビュータイトル
  & &__title {
    display: inline-block;
    font-size: 14px;
    margin-right: 1em;
  }

  // 投稿者情報
  & &__contributor {
    display: inline-block;
  }

  // 投稿者名前
  & &__name {
    display: inline-block;
    font-size: 14px;
    margin-right: .5em;
  }

  // 評価レベル
  & &__level {
    display: inline-block;
    font-size: 14px;
    margin-right: .5em;

    .recommend_star {
      color: rgb(255, 193, 7);
    }
  }

  // 投稿日
  & &__date {
    display: inline-block;
    font-size: 12px;
  }

  // レビューコメント
  & &__comment {
    font-size: 13px;
    line-height: 1.3;
  }

  // 投稿件数0件の状態
  & &__nolist {
    text-align: center;
  }

  // ボタン周り
  & &__actions {
    text-align: center;

    @include media_sphone {
      margin-top: $padding-sphone;
    }

    @include media_tablet {
      margin-top: $padding-tablet;
    }

    @include media_desktop {
      margin-top: $padding-desktop;
    }

    .ec-blockBtn {
      max-width: 350px;
      margin: 0 auto;
    }
  }
}
*/
/*
Drift CSS

画像をルーペ拡大表示するライブラリ「drift」を使用しています。
Copyright (c) 2015-2018, Zebrafish Labs All rights reserved.
*/
@keyframes drift-fadeZoomIn {
  0% {
    transform: scale(1.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes drift-fadeZoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  15% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(0.5);
    opacity: 0;
  }
}
@keyframes drift-loader-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes drift-loader-before {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(6px);
  }
  25% {
    transform: scale(1.3) translateX(8px);
  }
  40% {
    transform: scale(1.2) translateX(6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(6px);
  }
  75% {
    transform: scale(0.7) translateX(8px);
  }
  90% {
    transform: scale(0.8) translateX(6px);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes drift-loader-after {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(-6px);
  }
  25% {
    transform: scale(1.3) translateX(-8px);
  }
  40% {
    transform: scale(1.2) translateX(-6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(-6px);
  }
  75% {
    transform: scale(0.7) translateX(-8px);
  }
  90% {
    transform: scale(0.8) translateX(-6px);
  }
  100% {
    transform: scale(1);
  }
}
.drift-zoom-pane {
  background: rgba(0, 0, 0, 0.5);
  /* This is required because of a bug that causes border-radius to not
  work with child elements in certain cases. */
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}
.drift-zoom-pane.drift-opening {
  animation: drift-fadeZoomIn 180ms ease-out;
  -webkit-animation: drift-fadeZoomIn 180ms ease-out;
}
.drift-zoom-pane.drift-closing {
  animation: drift-fadeZoomOut 210ms ease-in;
  -webkit-animation: drift-fadeZoomOut 210ms ease-in;
}
.drift-zoom-pane.drift-inline {
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 75px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
.drift-loading .drift-zoom-pane-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: drift-loader-rotate 1800ms infinite linear;
  -webkit-animation: drift-loader-rotate 1800ms infinite linear;
}
.drift-zoom-pane-loader:before,
.drift-zoom-pane-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}
.drift-zoom-pane-loader:before {
  left: 0;
  animation: drift-loader-before 1800ms infinite linear;
  -webkit-animation: drift-loader-before 1800ms infinite linear;
}
.drift-zoom-pane-loader:after {
  right: 0;
  animation: drift-loader-after 1800ms infinite linear;
  -webkit-animation: drift-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
  -webkit-animation-delay: -900ms;
}
.drift-bounding-box {
  background-color: rgba(0, 0, 0, 0.4);
}
/*
Drift CSS JEIA上書き調整
*/
.drift-zoom-pane.drift-inline {
  width: 50vw;
  height: 50vw;
  max-width: 300px;
  max-height: 300px;
  border-radius: 50%;
}
/*
Luminous CSS

画像をポップアップ拡大表示するライブラリ「Luminous」を使用しています。
Copyright (c) 2015-2018, Zebrafish Labs All rights reserved.
*/
@keyframes lum-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes lum-fadeZoom {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes lum-loader-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes lum-loader-before {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(6px);
  }
  25% {
    transform: scale(1.3) translateX(8px);
  }
  40% {
    transform: scale(1.2) translateX(6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(6px);
  }
  75% {
    transform: scale(0.7) translateX(8px);
  }
  90% {
    transform: scale(0.8) translateX(6px);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lum-loader-after {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(-6px);
  }
  25% {
    transform: scale(1.3) translateX(-8px);
  }
  40% {
    transform: scale(1.2) translateX(-6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(-6px);
  }
  75% {
    transform: scale(0.7) translateX(-8px);
  }
  90% {
    transform: scale(0.8) translateX(-6px);
  }
  100% {
    transform: scale(1);
  }
}
.lum-lightbox {
  background: rgba(0, 0, 0, 0.6);
}
.lum-lightbox-inner {
  top: 2.5%;
  right: 2.5%;
  bottom: 2.5%;
  left: 2.5%;
}
.lum-lightbox-inner img {
  position: relative;
}
.lum-lightbox-inner .lum-lightbox-caption {
  margin: 0 auto;
  color: #fff;
  max-width: 700px;
  text-align: center;
}
.lum-loading .lum-lightbox-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: lum-loader-rotate 1800ms infinite linear;
}
.lum-lightbox-loader:before,
.lum-lightbox-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}
.lum-lightbox-loader:before {
  left: 0;
  animation: lum-loader-before 1800ms infinite linear;
}
.lum-lightbox-loader:after {
  right: 0;
  animation: lum-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
}
.lum-lightbox.lum-opening {
  animation: lum-fade 180ms ease-out;
}
.lum-lightbox.lum-opening .lum-lightbox-inner {
  animation: lum-fadeZoom 180ms ease-out;
}
.lum-lightbox.lum-closing {
  animation: lum-fade 300ms ease-in;
  animation-direction: reverse;
}
.lum-lightbox.lum-closing .lum-lightbox-inner {
  animation: lum-fadeZoom 300ms ease-in;
  animation-direction: reverse;
}
.lum-img {
  transition: opacity 120ms ease-out;
}
.lum-loading .lum-img {
  opacity: 0;
}
.lum-gallery-button {
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 100px;
  max-height: 100%;
  width: 60px;
  cursor: pointer;
}
.lum-close-button {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 32px;
  height: 32px;
  opacity: 0.3;
}
.lum-close-button:hover {
  opacity: 1;
}
.lum-close-button:before,
.lum-close-button:after {
  position: absolute;
  left: 15px;
  content: " ";
  height: 33px;
  width: 2px;
  background-color: #fff;
}
.lum-close-button:before {
  transform: rotate(45deg);
}
.lum-close-button:after {
  transform: rotate(-45deg);
}
/* comment out by JEIA
.lum-previous-button {
  left: 12px;
}

.lum-next-button {
  right: 12px;
}

.lum-gallery-button:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 36px;
  height: 36px;
  border-top: 4px solid rgba(255, 255, 255, 0.8);
}

.lum-previous-button:after {
  transform: translateY(-50%) rotate(-45deg);
  border-left: 4px solid rgba(255, 255, 255, 0.8);
  box-shadow: -2px 0 rgba(0, 0, 0, 0.2);
  left: 12%;
  border-radius: 3px 0 0 0;
}

.lum-next-button:after {
  transform: translateY(-50%) rotate(45deg);
  border-right: 4px solid rgba(255, 255, 255, 0.8);
  box-shadow: 2px 0 rgba(0, 0, 0, 0.2);
  right: 12%;
  border-radius: 0 3px 0 0;
}
*/
/* This media query makes screens less than 460px wide display in a "fullscreen"-esque mode. Users can then scroll around inside the lightbox to see the entire image. */
/* comment out by JEIA
@media (max-width: 460px) {
  .lum-lightbox-image-wrapper {
    display: flex;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .lum-lightbox-caption {
    width: 100%;
    position: absolute;
    bottom: 0;
  }

  /* Used to centre the image in the container, respecting overflow: https://stackoverflow.com/a/33455342/515634 *---/
  .lum-lightbox-position-helper {
    margin: auto;
  }

  .lum-lightbox-inner img {
    max-width: none;
    max-height: none;
  }
}
*/
/*
Luminout CSS JEIA上書き調整
*/
.lum-lightbox-inner img {
  width: auto;
  height: auto;
}
.lum-lightbox {
  background: rgba(0, 0, 0, 0.8);
}
.luminous-gallery {
  cursor: zoom-in;
}
.lum-lightbox.lum-open {
  z-index: 1002;
}
.lum-previous-button {
  left: 10px;
}
.lum-next-button {
  right: 10px;
}
.lum-gallery-button {
  font-size: 3rem;
  width: 1em;
  height: 1em;
}
.lum-gallery-button:after {
  font-size: inherit;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  line-height: 1;
  text-indent: 0;
}
.lum-previous-button:after {
  font-family: "jeiafont";
  content: "\e91b";
}
.lum-next-button:after {
  font-family: "jeiafont";
  content: "\e902";
}
/*
商品詳細ページ 商品画像ルーペ拡大表示用（Drift）

デスクトップ時はルーペ表示を商品情報欄に設置した「.drift-pane」に表示します。
*/
.ec-productRole .ec-productRole__gridCell.cellLeft .drift-pane {
  display: none;
}
/*
商品レビュープラグイン 左右2カラム表示
*/
.ec-productReviewRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-productReviewRole .ec-productReviewRole__heading {
  display: flex;
  justify-content: center;
  background-color: #EFEFEF;
  color: #222;
  font-size: 1.066rem;
  padding: 1.25em;
  border-radius: 7px;
  position: relative;
}
.ec-productReviewRole .ec-productReviewRole__heading .heading_average {
  color: #FFA64D;
  margin-left: 0.5em;
}
.ec-productReviewRole .ec-productReviewRole__heading .heading_total {
  margin-left: 0.5em;
}
.ec-productReviewRole .ec-productReviewRole__heading .toggle {
  font-size: 1.25rem;
  width: 2em;
  height: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: absolute;
  top: calc(50% - 1em);
  right: 0.25rem;
  transform: rotate(-90deg);
  transition: 0.3s;
}
.ec-productReviewRole .ec-productReviewRole__heading .toggle.is-close {
  transform: rotate(90deg);
}
.ec-productReviewRole .ec-productReviewRole__item {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 2rem;
}
.ec-productReviewRole .ec-productReviewRole__item .item {
  display: flex;
}
.ec-productReviewRole .ec-productReviewRole__item .item:nth-child(n+2) {
  margin-top: 0.5rem;
}
.ec-productReviewRole .ec-productReviewRole__item .item > *:nth-of-type(n+2) {
  margin-left: 0.5rem;
}
.ec-productReviewRole .ec-productReviewRole__item .review_date {
  font-size: 0.8rem;
}
.ec-productReviewRole .ec-productReviewRole__item .review_name {
  font-size: 0.8rem;
}
.ec-productReviewRole .ec-productReviewRole__item .review_name a {
  color: inherit;
}
.ec-productReviewRole .ec-productReviewRole__item .review_name a i {
  color: #999;
  margin-left: 0.25em;
}
.ec-productReviewRole .ec-productReviewRole__item .review_level {
  font-size: 0.8rem;
  color: #FFA64D;
}
.ec-productReviewRole .ec-productReviewRole__item .review_level:before {
  content: "評価：";
  color: var(--clrDefault, #000);
}
.ec-productReviewRole .ec-productReviewRole__item .review_title {
  font-size: 1.2em;
  font-weight: 500;
}
.ec-productReviewRole .ec-productReviewRole__item .review_comment {
  font-size: 0.866rem;
  line-height: 1.92;
  word-wrap: break-word;
}
.ec-productReviewRole .no_review {
  font-size: 1rem;
  margin-top: 2rem;
  text-align: center;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  padding: 0.75em 1em;
}
.ec-productReviewRole .ec-productReviewRole__actions {
  margin-top: 2rem;
}
.ec-productReviewRole .ec-productReviewRole__actions .ec-blockBtn {
  width: 250px;
  margin: 0 auto;
}
/*
[ブロック]【商品詳細】関連商品（※リーデルでは使用しません）
ecp_products_detail_related.tpl

商品アイテムのリスト列挙は商品一覧ページと同じインクルード「make_product_item.tpl」を用いた構造となっています。
それにより各商品アイテムは「.ec-productItemRole」となります。この商品アイテムは「_13.2.shelf.scss」にてスタイリングされています。
その上でもしスタイリングを変更する必要のある箇所がある場合は部分的に上書き調整してください。
*/
.ec-productsDetailRelatedRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1200px;
}
.ec-productsDetailRelatedRole .ec-productsDetailRelatedRole__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--shelfRelatedItemWidth, 200px), 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 30px;
}
/*
[ブロック]【商品詳細】この商品を購入した人はこの商品も購入しています
ecp_products_detail_also_bought.tpl

商品アイテムのリスト列挙は商品一覧ページと同じインクルード「make_product_item.tpl」を用いた構造となっています。
それにより各商品アイテムは「.ec-productItemRole」となります。この商品アイテムは「_13.2.shelf.scss」にてスタイリングされています。
その上でもしスタイリングを変更する必要のある箇所がある場合は部分的に上書き調整してください。
*/
.ec-productsDetailAlsoBoughtRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1200px;
}
.ec-productsDetailAlsoBoughtRole .ec-productsDetailAlsoBoughtRole__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--shelfRelatedItemWidth, 200px), 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 30px;
}
/*
[ブロック]【商品詳細】あなたが最近見た商品（各ページ共通）
ecp_recently_viewed_products.tpl

商品アイテムのリスト列挙は商品一覧ページと同じインクルード「make_product_item.tpl」を用いた構造となっています。
それにより各商品アイテムは「.ec-productItemRole」となります。この商品アイテムは「_13.2.shelf.scss」にてスタイリングされています。
その上でもしスタイリングを変更する必要のある箇所がある場合は部分的に上書き調整してください。
*/
.ec_recentlyViewedProductsRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
ECPカート
*/
.ec-ecpCartRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-ecpCartRole form:nth-of-type(2) .ec-heading {
  margin-top: 3rem;
}
.ec-ecpCartRole .ec-ecpCartRole__layout {
  display: flex;
  justify-content: space-between;
}
.ec-ecpCartRole .ec-ecpCartRole__detail > *:last-child {
  margin-bottom: 0;
}
.ec-ecpCartRole .ec-ecpCartRole__summary {
  /* スクロール粘着 */
}
.ec-ecpCartRole .ec-ecpCartRole__summary .ec-totalBox {
  /* カートページで使用するスタイリングであり、もし通常商品・ダウンロード商品混在の場合にstickyをするとぐちゃるのでNG
  margin: 0;
  position: sticky;
  top: $desktop-header-height + 30px;

  @include media_sphone {
    position: static;
  }
  */
}
.ec-ecpCartRole .ec-ecpCartRole__summary [class^=ec-blockBtn] {
  width: 100%;
}
.ec-ecpCartRole .ec-ecpCartRole__pointAnnounce {
  font-size: 0.8rem;
  font-weight: 500;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  padding: 2em;
  border-radius: 5px;
}
.ec-ecpCartRole .ec-ecpCartRole__pointAnnounce .user_name {
  font-weight: 700;
}
.ec-ecpCartRole .ec-ecpCartRole__pointAnnounce .user_point {
  color: #e2251f;
  font-weight: 700;
}
.ec-ecpCartRole .ec-ecpCartRole__pointAnnounce .point_value {
  font-weight: 700;
}
.ec-ecpCartRole .ec-ecpCartRole__totalText p {
  margin: 0;
}
.ec-ecpCartRole .ec-ecpCartRole__error {
  margin: 1.5rem 0;
}
.ec-ecpCartRole .ec-ecpCartRole__actions {
  border: solid 1px #c00;
  width: 300px;
  margin-left: auto;
  margin-right: 0;
}
.ec-ecpCartRole .ec-ecpCartRole__total {
  border: solid 1px #c00;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 1em 0 1.5em;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-ecpCartRole .ec-ecpCartRole__totalAmount {
  border: solid 1px #c00;
  font-size: 1.6rem;
  font-weight: 500;
}
.ec-ecpCartRole .ec-blockBtn--action {
  border: solid 1px #c00;
  margin-bottom: 10px;
}
.ec-ecpCartRole .ec-ecpCartRole__util {
  display: flex;
  justify-content: space-between;
  margin: 1rem 0;
}
.ec-ecpCartRole .ec-ecpCartRole__util .box {
  display: flex;
  align-items: center;
  font-size: 0.933rem;
  font-weight: 700;
  line-height: 1;
}
.ec-ecpCartRole .ec-ecpCartRole__util .box.delete i {
  font-size: 1.2em;
  margin-right: 0.5em;
}
.ec-ecpCartRole .ec-ecpCartRole__util .box.pageback i {
  font-size: 0.8em;
  width: 1.75em;
  height: 1.75em;
  line-height: 1.75em;
  text-align: center;
  border: solid 1px var(--clrLinkText, #0066C0);
  border-radius: 1.75em;
  margin-right: 0.5em;
}
.ec-ecpCartRole .ec-ecpCartRole__util.sphone {
  margin: 1.5rem 0;
  justify-content: center;
}
.ec-ecpCartRole .ec-ecpCartRole__util.sphone .box {
  font-size: 1rem;
}
/*
カート商品表示テーブル

カート内の商品をを表示するテーブル表示スタイリングです。

※とりあえずEC-PACK7デザインに伴って「.ec-ecpCartTable」でコーディングしていますが、他ページで同じデザインが登場するのであれば「.ec-cartTable」でスタイリングしていいと思います。
また、このデザインが1度きりならば「.ec-ecpCartRole__cart」のようにクローズドなコーディングが望ましいとも思います。
*/
.ec-ecpCartTable {
  margin: 20px 0 1rem;
}
.ec-ecpCartTable .ec-ecpCartTable__product {
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
  padding: 20px 0;
}
.ec-ecpCartTable .ec-ecpCartTable__product:last-child {
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
/*
カートイン商品情報

カートテーブル、ショッピングフロー、購入履歴において表示される商品情報枠のスタイリングです。
cart,shopping,mypage共有
*/
.ec-cartinProduct {
  display: flex;
  font-size: 1rem;
}
.ec-cartinProduct a {
  color: inherit;
}
.ec-cartinProduct .ec-cartinProduct__delete {
  flex: 0 0 auto;
  width: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.ec-cartinProduct .ec-cartinProduct__delete .ec-checkbox, .ec-cartinProduct .ec-cartinProduct__delete .ec-blockCheckbox {
  margin: 0;
}
.ec-cartinProduct .ec-cartinProduct__delete .ec-checkbox label, .ec-cartinProduct .ec-cartinProduct__delete .ec-blockCheckbox label {
  margin: 0;
  position: relative;
}
.ec-cartinProduct .ec-cartinProduct__delete .ec-checkbox label:before, .ec-cartinProduct .ec-cartinProduct__delete .ec-blockCheckbox label:before {
  margin: 0;
}
.ec-cartinProduct .ec-cartinProduct__delete .ec-checkbox label:before, .ec-cartinProduct .ec-cartinProduct__delete .ec-blockCheckbox label:before {
  z-index: 1;
}
.ec-cartinProduct .ec-cartinProduct__delete .ec-checkbox label:after, .ec-cartinProduct .ec-cartinProduct__delete .ec-blockCheckbox label:after {
  content: "";
  display: block;
  width: calc(1.33rem - 2px);
  height: calc(1.33rem - 2px);
  position: absolute;
  top: 1px;
  left: 1px;
  background-color: #fff;
  border-radius: 4px;
  z-index: 0;
}
.ec-cartinProduct .ec-cartinProduct__image {
  flex: 0 0 auto;
  width: 120px;
}
.ec-cartinProduct .ec-cartinProduct__image .product_image a {
  display: block;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-cartinProduct .ec-cartinProduct__image .product_image a * {
  overflow: hidden;
}
.ec-cartinProduct .ec-cartinProduct__image .product_image a img {
  transition: 0.6s;
}
.ec-cartinProduct .ec-cartinProduct__image .product_image a:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-cartinProduct .ec-cartinProduct__image .product_image img {
  width: 100%;
  height: auto;
}
.ec-cartinProduct .ec-cartinProduct__summary {
  flex: 1 1 auto;
  margin-left: 1rem;
  font-size: 0.8rem;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_name {
  font-size: 1.066rem;
  font-weight: 500;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_class {
  margin: 0;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_class dt, .ec-cartinProduct .ec-cartinProduct__summary .product_class dd {
  display: inline;
  font-weight: 400;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_class dt:after {
  content: "：";
}
.ec-cartinProduct .ec-cartinProduct__summary .product_class dd + dt:before {
  content: " / ";
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption {
  display: flex;
  margin: 0.5em 0;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption .giftkbn {
  flex: 0 0 auto;
  min-width: 6em;
  font-weight: 500;
  background-color: #eee;
  padding: 0.5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption .product_optionResult {
  flex: 1 0 auto;
  margin-left: 0.5em;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption dl {
  font-size: inherit;
  display: flex;
  margin: 0;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption dl:nth-child(n+2) {
  border-top: dotted 1px #ddd;
  padding-top: 0.25em;
  margin-top: 0.25em;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption dt, .ec-cartinProduct .ec-cartinProduct__summary .product_giftOption dd {
  font-weight: 400;
}
.ec-cartinProduct .ec-cartinProduct__summary .product_giftOption dt:after {
  content: "：";
}
.ec-cartinProduct .ec-cartinProduct__action {
  flex: 1 1 auto;
  margin-left: 1rem;
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-end;
}
.ec-cartinProduct .ec-cartinProduct__action .product_priceTotal {
  font-size: 1.066rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1em;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions {
  display: flex;
  align-items: center;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .product_quantity {
  font-size: 1rem;
  margin: 0 0.75em;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .ec-qBtn {
  font-size: 0.8rem;
  font-weight: normal;
  border: none;
  outline: none;
  width: 2.35em;
  height: 2.35em;
  line-height: 2.35em;
  text-align: center;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  border-radius: 4px;
  transition: 0.2s;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .ec-qBtn:hover {
  background-color: #000;
  color: #fff;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .ec-qBtn i {
  font-size: inherit;
  line-height: inherit;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .ec-qBtn.delete {
  background-color: transparent;
  margin-right: 1em;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .ec-qBtn.delete i {
  font-size: 1.25rem;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_actions .ec-qBtn.delete:hover {
  background-color: #000;
  color: #fff;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_and_total {
  display: flex;
  font-size: 0.933rem;
}
.ec-cartinProduct .ec-cartinProduct__action .quantity_and_total .total {
  margin-left: 1rem;
}
/*
アラート

カート内の商品に問題があることを示す警告メッセージです。

使用箇所：
* Cart/index.twig
* Shopping/shipping.twig
* Shopping/alert.twig

Markup:
../styleguide/tmpl/15.1.6.html

Styleguide 15.1.6
*/
.ec-alert-warning {
  background-color: #e79c9c;
  color: #fff;
  font-size: 1rem;
  padding: 1em;
  text-align: center;
}
.ec-alert-warning .ec-alert-warning__icon {
  display: inline-block;
  width: 2em;
  height: auto;
  margin-bottom: 0.5em;
}
.ec-alert-warning p:first-child {
  margin-top: 0;
}
.ec-alert-warning p:last-child {
  margin-bottom: 0;
}
/*
チェックアウトフロー
*/
.ec-orderRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-orderAccount,
.ec-orderDelivery,
.ec-orderPayment,
.ec-orderPoint,
.ec-orderCoupon,
.ec-orderMessage,
.ec-orderKiyaku,
.ec-orderNoshi,
.ec-orderWrapping,
.ec-orderReceipt {
  margin-bottom: 0 !important;
}
/*
オーダー情報（注文履歴詳細）

マイページ 注文履歴詳細の冒頭、注文日時や注文番号の記載の部分
EC-PACK7（checkout）では使用しません。
*/
/*
配送情報
*/
.ec-orderDelivery {
  /*
  EC4系
  お届け先アイテム（※複数配送先の指定がある場合はアイテムは複数になります）
  */
  /*
  */
  /* お届け先住所 */
}
.ec-orderDelivery .ec-orderDelivery__item {
  margin: 1em 0;
  /*
  // 確認ページでのお届け先テーブル
  .ec-orderTable {
    margin: 1em 0 0;
  }
  */
}
.ec-orderDelivery .ec-orderDelivery__item.multiple {
  background-color: #f8f8f8;
  padding: 1.5em;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-orderDelivery .ec-orderDelivery__actions {
  display: flex;
  align-items: center;
}
.ec-orderDelivery .ec-orderDelivery__actions .ecp_form_group:nth-child(2) {
  margin-left: 1em;
}
/*
注文詳細 お支払情報
*/
.ec-orderPayment .payment_image {
  display: inline-block;
  margin-left: 1em;
}
.ec-orderPayment .payment_image img {
  height: 50px;
  width: auto;
}
.ec-orderPayment #payment {
  background-color: #eee;
  padding: 20px;
}
.ec-orderPayment #payment input[name=payment_id] + label .logo {
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  margin-right: 0.5rem;
}
.ec-orderPayment #payment input[name=payment_id]:not(:checked) + label {
  background-color: #fff;
}
.ec-orderPoint .point_announce {
  font-size: 0.8rem;
  font-weight: 500;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  padding: 2em;
  border-radius: 5px;
  margin: 1rem 0;
}
.ec-orderPoint .point_announce .user_name {
  font-weight: 700;
}
.ec-orderPoint .point_announce .user_point {
  color: #e2251f;
  font-weight: 700;
}
.ec-orderPoint .point_announce .price {
  font-weight: 700;
}
.ec-orderPoint .ec-pointLayout .item {
  display: flex;
  align-items: center;
  padding: 0.5em 0;
}
.ec-orderPoint .ec-pointLayout .item_radio .ec-radio, .ec-orderPoint .ec-pointLayout .item_radio .ec-blockRadio {
  margin: 0;
}
.ec-orderPoint .ec-pointLayout .item_radio label {
  margin: 0;
  min-width: 13em;
}
.ec-orderPoint .ec-pointLayout .item_content {
  margin-left: 1rem;
  display: flex;
  align-items: center;
  line-height: 1;
  transition: 0.6s;
}
.ec-orderPoint .ec-pointLayout .item_content i {
  display: block;
  font-size: 1.5em;
  line-height: inherit;
  margin-top: 0.2em;
  margin-right: 0.3em;
  transition: 0.9s;
}
.ec-orderPoint .ec-pointLayout .item_content input[name=use_point] {
  width: 5em;
  margin: 0 0.5em;
  text-align: right;
}
.ec-orderPoint .ec-pointLayout .item_content.is-disabled {
  transform: translate3d(-1em, 0, 0);
  opacity: 0.3;
}
.ec-orderPoint .ec-pointLayout .item_content.is-disabled i {
  transform: translate3d(-0.5em, 0, 0);
  opacity: 0;
}
/*
熨斗・ラッピング共通スタイリング
*/
.ec-orderNoshi .ec-orderNoshi__layout,
.ec-orderNoshi .ec-orderWrapping__layout,
.ec-orderWrapping .ec-orderNoshi__layout,
.ec-orderWrapping .ec-orderWrapping__layout {
  background-color: #eee;
  padding: 20px;
  margin-top: 1rem;
}
.ec-orderNoshi .ec-orderNoshi__actions .order_item,
.ec-orderNoshi .ec-orderWrapping__actions .order_item,
.ec-orderWrapping .ec-orderNoshi__actions .order_item,
.ec-orderWrapping .ec-orderWrapping__actions .order_item {
  display: grid;
  grid-template-columns: 8em 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
}
.ec-orderNoshi .ec-orderNoshi__actions .order_item dt,
.ec-orderNoshi .ec-orderWrapping__actions .order_item dt,
.ec-orderWrapping .ec-orderNoshi__actions .order_item dt,
.ec-orderWrapping .ec-orderWrapping__actions .order_item dt {
  font-weight: 400;
}
.ec-orderNoshi .ec-orderNoshi__actions .order_item.toggle,
.ec-orderNoshi .ec-orderWrapping__actions .order_item.toggle,
.ec-orderWrapping .ec-orderNoshi__actions .order_item.toggle,
.ec-orderWrapping .ec-orderWrapping__actions .order_item.toggle {
  display: none;
}
.ec-orderNoshi .ec-orderNoshi__actions .order_item.toggle.is-active,
.ec-orderNoshi .ec-orderWrapping__actions .order_item.toggle.is-active,
.ec-orderWrapping .ec-orderNoshi__actions .order_item.toggle.is-active,
.ec-orderWrapping .ec-orderWrapping__actions .order_item.toggle.is-active {
  display: grid;
}
.ec-orderNoshi .ec-orderNoshi__actions .order_item:nth-child(n+2),
.ec-orderNoshi .ec-orderWrapping__actions .order_item:nth-child(n+2),
.ec-orderWrapping .ec-orderNoshi__actions .order_item:nth-child(n+2),
.ec-orderWrapping .ec-orderWrapping__actions .order_item:nth-child(n+2) {
  margin-top: 1rem;
}
.ec-orderNoshi .ec-orderNoshi__image,
.ec-orderNoshi .ec-orderWrapping__image,
.ec-orderWrapping .ec-orderNoshi__image,
.ec-orderWrapping .ec-orderWrapping__image {
  border-radius: 4px;
  background-color: #fff;
  display: grid;
  gap: 10px;
}
.ec-orderNoshi .ec-orderNoshi__image .item .image,
.ec-orderNoshi .ec-orderWrapping__image .item .image,
.ec-orderWrapping .ec-orderNoshi__image .item .image,
.ec-orderWrapping .ec-orderWrapping__image .item .image {
  position: relative;
}
.ec-orderNoshi .ec-orderNoshi__image .item .image:after,
.ec-orderNoshi .ec-orderWrapping__image .item .image:after,
.ec-orderWrapping .ec-orderNoshi__image .item .image:after,
.ec-orderWrapping .ec-orderWrapping__image .item .image:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: solid 3px var(--clrRadioChecked, #0066C0);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.3s;
  pointer-events: none;
}
.ec-orderNoshi .ec-orderNoshi__image .item.is-selected .image:after,
.ec-orderNoshi .ec-orderWrapping__image .item.is-selected .image:after,
.ec-orderWrapping .ec-orderNoshi__image .item.is-selected .image:after,
.ec-orderWrapping .ec-orderWrapping__image .item.is-selected .image:after {
  opacity: 1;
}
.ec-orderNoshi .ec-orderNoshi__image .item p,
.ec-orderNoshi .ec-orderWrapping__image .item p,
.ec-orderWrapping .ec-orderNoshi__image .item p,
.ec-orderWrapping .ec-orderWrapping__image .item p {
  font-size: 0.866rem;
  margin: 0.5rem 0 0;
}
/*
熨斗
*/
/*
ラッピング
*/
/*
領収書の宛名・但し書き
*/
.ec-orderReceipt .ecp_form_group:nth-child(n+2) {
  margin-top: 1rem;
}
.ec-orderReceipt .ecp_form_group .ec-input label, .ec-orderReceipt .ecp_form_group .ec-halfInput label, .ec-orderReceipt .ecp_form_group .ec-numberInput label, .ec-orderReceipt .ecp_form_group .ec-zipInput label, .ec-orderReceipt .ecp_form_group .ec-telInput label {
  margin-bottom: 0.5em;
}
.ec-orderReceipt .ecp_form_group .ec-input + p, .ec-orderReceipt .ecp_form_group .ec-halfInput + p, .ec-orderReceipt .ecp_form_group .ec-numberInput + p, .ec-orderReceipt .ecp_form_group .ec-zipInput + p, .ec-orderReceipt .ecp_form_group .ec-telInput + p {
  margin-top: 0.5em;
}
/*
注文詳細 お問い合わせ
*/
/*
利用規約とプライバシーポリシーに同意
*/
.ec-orderKiyaku .ec-checkbox, .ec-orderKiyaku .ec-blockCheckbox {
  display: flex;
  justify-content: center;
}
/*
お届け先の複数指定

お届け先の複数指定に関するコンポーネントを定義します。
複数配送先指定ページのmultiple.tplのほか、deliv.tplでも使用されます。
*/
.ec-AddAddress {
  border: solid 1px #c00;
  /* EC-PACK7では使わないかもしれないのでコメントアウトしています

  //@include container;// EC4系ではコンテナ化していますが、EC-PACK7では親要素コンテナの中に含めるのでコンテナにしません

  & &__info {
    margin: 1em 0;
  }

  /* 新規お届け先追加ボタンエリア *---/
  & &__new {
  }

  /* 商品単位のフレーム *---/
  & &__add {
    font-size: 1rem;
    margin: 1em 0;
    background-color: #f8f8f8;
    border: solid 1px $clrBorderColor;
    padding: 1em;

    @include media_sphone {
      margin-top: $padding-sphone;
      margin-bottom: $padding-sphone;
    }

    @include media_tablet {
      margin-top: $padding-tablet;
      margin-bottom: $padding-tablet;
    }

    @include media_desktop {
      margin-top: $padding-desktop;
      margin-bottom: $padding-desktop;
    }
  }

  /* 商品アイテム（画像とコンテンツ） *---/
  & &__item {
    display: flex;
  }

  /* 商品アイテム：画像 *---/
  & &__itemThumb {
    flex: 0 0 auto;
    width: 80px;

    img {
      width: 100%;
    }
  }

  /* 商品アイテム：コンテンツ *---/
  & &__itemtContent {
    flex: 1 1 auto;
    padding-left: 1em;
  }

  /* 商品アイテムコンテンツ：商品名 *---/
  & &__itemtTitle {
    font-weight: 500;
  }

  /* 商品アイテムコンテンツ：商品規格名 *---/
  & &__itemtSize {
    font-size: 0.9em;
    //margin-left: 0.75em;
  }

  /* 商品アイテムコンテンツ：商品価格 *---/
  & &__itemtPrice {
    margin-top: 0.5em;// __itemSizeがある場合と無い場合があるので、__itemTileとの間隔はこちらで制御
    display: inline-block;
  }

  /* 住所・数量選択欄 *---/
  & &__select {
    margin-top: 1.5em;

    .ec-select select {
      background-color: #fff;// ※「.ec-AddAddress__add」に背景色を付けたデザインにしたのでselectは白背景にしました
    }
  }

  /* 住所選択 *---/
  & &__selectAddress {
    display: inline-block;

    label {
      font-weight: normal;
      margin-right: .5em;
    }

    .select_ui {
      margin: 0;
      max-width: 100%;
    }

    // スマホ用に調整
    @include media_sphone {
      display: block;

      label {
        margin: 0 0 1em;
      }
      select {
        max-width: 100%;
      }
    }

    // タブレット用調整
    @include media_tablet {
      display: block;

      label {
        //margin: 0 0 1em;
      }
      select {
        max-width: 100%;
      }
    }
  }

  /* 数量指定 *---/
  & &__selectNumber {
    display: inline-block;
    margin-left: 1em;

    label {
      font-weight: normal;
      margin-right: .5em;
    }

    .input_item {
      display: inline-block;
    }

    input {
      display: inline-block;
      width: 3em;//80px;
      text-align: center;
    }

    // スマホ用に調整
    @include media_sphone {
      display: block;
      margin-left: 0;
      margin-top: 1em;
    }

    @include media_tablet {
      display: block;
      margin-left: 0;
      margin-top: 1em;
    }

    // 「.ecp_form_valid.js」が不要なCSSを埋め込んでしまうので上書き調整（js側を調整できるか検討）
    .bln_error {
      white-space: nowrap !important;
      width: auto !important;
    }
  }
  */
}
.non-select-msg {
  margin: 0;
  background-color: #f8e1e1;
  padding: 1em;
  text-align: center;
}
#payment,
div.delivdate,
.select-msg {
  transition: 0.3s;
}
#payment.is-hidden,
div.delivdate.is-hidden,
.select-msg.is-hidden {
  opacity: 0.2;
  pointer-events: none;
}
/*
注文内容確認ページ

チェックアウトフローの確認ページ用のスタイリングです。
*/
.ec-orderConfirmRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
/*
注文内容確認の各ボックス（共通スタイリング）
*/
.ec-confirmBox {
  font-size: 0.933rem;
  line-height: 1.66;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1rem;
  border-radius: 4px;
  margin: 1rem 0;
}
.ec-confirmBox h2, .ec-confirmBox .h2 {
  font-size: 1em;
  font-weight: 700;
  margin: 0;
  margin-bottom: 1em;
}
.ec-confirmBox dl {
  font-weight: 400;
  margin: 0;
  display: flex;
}
.ec-confirmBox dl:nth-child(n+2) {
  margin-top: 0.25em;
}
.ec-confirmBox dl dt {
  font-weight: inherit;
  min-width: 10em;
}
.ec-confirmBox dl dt:after {
  content: "：";
}
.ec-confirmBox dl dt + dd {
  margin-left: 1em;
}
.ec-confirmBox p {
  font-size: 1em;
  margin: 0;
}
/*
注文内容確認 カート表示
*/
.ec-orderConfirmCart h2, .ec-orderConfirmCart .h2 {
  font-size: 1.066rem;
  font-weight: 700;
  text-align: center;
  margin: 0;
}
.ec-orderConfirmCart .ec-ecpCartTable {
  margin-bottom: 0;
}
.ec-orderConfirmCart .ec-ecpCartTable .ec-ecpCartTable__product {
  padding-right: 1rem;
}
.ec-orderConfirmCart .ec-ecpCartTable .ec-ecpCartTable__product:first-child {
  border-top: none;
}
.ec-orderConfirmCart .ec-ecpCartTotal table {
  margin: 0;
  margin-left: auto;
}
.ec-orderConfirmCart .ec-ecpCartTotal table tr {
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-orderConfirmCart .ec-ecpCartTotal table th, .ec-orderConfirmCart .ec-ecpCartTotal table td {
  padding: 0.6rem 1rem;
}
.ec-orderConfirmCart .ec-ecpCartTotal table th {
  font-size: 1rem;
  font-weight: 500;
  min-width: 10em;
}
.ec-orderConfirmCart .ec-ecpCartTotal table td {
  font-size: 1.066rem;
  font-weight: 400;
  text-align: right;
}
/*
注文内容確認 変更ボタン

編集ボタンを必ずしも右上ではなくある程度、任意な位置に配置できるよう「.editBtnBox」要素でボタンを囲います。
「.editBtnBox」要素を基点として編集ボタンがabsoluteされます。
*/
.editBtnBox {
  position: relative;
}
.editBtnBox .ec-editBtn {
  position: absolute;
  top: 0;
  right: 0;
}
/*
特商法改正に伴う支払の時期・方法の表記
ご注文完了後のキャンセル・返品について
.ec-confirmComment {
  @include containerMarginTight;

  background-color: #F2F2F2;
  padding: 1rem;

  @include media_desktop {
    padding: 2rem;
  }

  h2 {
    font-size: 1.143rem;
    font-weight: 500;
    margin: .25em 0 .75em;
  }

  p {
    font-size: .933rem;
    font-weight: 500;
    line-height: 1.54;
  }
}
*/
/*
クレジット決済

※ここではZEUSのスタイリングを施しています。他社プラグインであったり混在する場合は適宜、修正を加えてください。
*/
.ec-creditRole .ec-creditRole__error {
  background-color: #fff0f0;
  color: inherit;
  border: solid 1px #d35c5c;
  border-radius: 4px;
  font-size: 1em;
  padding: 1em;
  margin: 1rem 0;
}
.ec-creditRole .ec-creditRole__enter {
  max-width: 1045px;
  margin-left: auto;
  margin-right: auto;
}
.ec-creditRole .ec-creditEnter h3, .ec-creditRole .ec-creditEnter .h3 {
  font-size: 1.066rem;
  font-weight: 500;
  margin: 1rem 0;
}
.ec-creditRole .ec-creditEnter dl {
  display: block;
}
.ec-creditRole .ec-creditEnter dl dt {
  font-weight: 500;
  min-width: auto;
  white-space: nowrap;
}
.ec-creditRole .ec-creditEnter dl dt:after {
  content: "";
}
.ec-creditRole .ec-creditEnter dl dd {
  margin: 0;
  margin-top: 0.5rem;
}
.ec-creditRole .ec-creditEnter dl dd .attention {
  margin-top: 0.5rem;
}
.ec-creditRole .ec-creditEnter dl.horizon {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
}
.ec-creditRole .ec-creditEnter dl.horizon dd {
  margin: 0;
  margin-left: 1rem;
}
.ec-creditRole .ec-creditEnter.enter_quickChargeUse {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1em;
}
.ec-creditRole .ec-creditEnter.enter_quickChargeUse p {
  margin-top: 0.5em;
  margin-left: 2em;
}
.ec-creditRole .ec-creditEnter .ec-halfInput {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  margin-top: 0px;
}
.ec-creditRole .ec-creditEnter .ec-halfInput > * {
  flex: 0 0 auto;
  width: calc((100% - 10px ) / 2);
  margin-left: 10px;
  margin-top: 0px;
}
.ec-creditRole .ec-creditEnter .ec-halfInput > *:nth-child(2n+1) {
  margin-left: 0;
}
.ec-creditRole .ec-creditEnter .ec-select .separate, .ec-creditRole .ec-creditEnter .ec-birth .separate {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.ec-creditRole .ec-creditEnter .exlink {
  margin-top: 0.5rem;
  font-size: 0.866rem;
  text-align: right;
}
.ec-creditRole .ec-creditEnter .exlink a:before {
  font-family: "ecpfont";
  content: "\e90a";
  color: inherit;
}
.ec-creditRole .attention {
  font-size: 0.866rem;
  color: #B4671A;
}
.ec-creditRole .errorbox {
  font-size: 0.933rem;
  color: #e2251f;
  font-weight: 500;
  /* ※エラーテキストが空でもアイコンが出てしまうのでいったんコメントアウト
  &:before {
    font-family: "jeiafont";
    content: "\e915";
    font-size: 1.2em;
    vertical-align: middle;
  }
  */
}
.ec-creditRole [href^="tel:"],
.ec-creditRole [href^="mailto:"] {
  color: #00f;
}
.ec-creditRole .ec-creditRole__footer {
  max-width: 1045px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.8rem;
}
.ec-creditRole .ec-creditRole__footer h3, .ec-creditRole .ec-creditRole__footer .h3 {
  font-size: 0.933rem;
  margin: 3em 0 1em;
}
/*
注文完了ページ

チェックアウトフローの注文完了ページ用のスタイリングです。
*/
.ec-orderCompleteRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-orderCompleteRole .ec-reportHeading {
  font-size: 1.2rem;
}
/*************************************************
 * Description: 特商法改正に伴うショップフロー確認画面 追加スタイリング
 * Author: Japan Electronic Industrial Arts Co.Ltd.
 * Update: 2022/04
*************************************************/
/* 共通スタイリング */
.ec-confirmComment {
  font-size: 0.866rem;
  margin-top: 1rem;
  border: solid 1px #eee;
  background-color: #f8f8f8;
  padding: 1rem;
}
.ec-confirmComment > *:first-child {
  margin-top: 0;
}
.ec-confirmComment > *:last-child {
  margin-bottom: 0;
}
.ec-confirmComment p {
  font-size: 0.866rem;
  margin: 1em 0;
}
.ec-confirmComment ul {
  margin: 1em 0;
}
.ec-confirmComment ul li {
  line-height: 1.8;
  position: relative;
  padding-left: 1.3em;
  /* マークとテキストの間隔調整 */
}
.ec-confirmComment ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
/* ecp_credit.cssで必要にかられてbrタグをキルしてる所があるのでそれを復帰 */
#ecp_credit table td .ec-confirmComment br {
  display: block;
}
/*
定期便の注釈
make_cartin_product.tpl

confirm_comment1
*/
/*
支払方法
confirm.tpl
include_zeus_credit.tpl

confirm_caption1
confirm_caption2
*/
/*
お届け日
make_cartin_shipping.tpl
confilm_delivary_message
*/
/*
キャンセルメッセージ
*/
.ec-confirmCancelMessage {
  font-size: 0.866rem;
}
.ec-confirmCancelMessage .inner {
  border: solid 1px #eee;
  background-color: #f8f8f8;
  padding: 1em;
}
.ec-confirmCancelMessage .inner > *:first-child {
  margin-top: 0;
}
.ec-confirmCancelMessage .inner > *:last-child {
  margin-bottom: 0;
}
.ec-confirmCancelMessage .inner h3, .ec-confirmCancelMessage .inner .h3 {
  font-size: 1.066rem;
  font-weight: bold;
  margin: 1.5em 0 1em;
}
/* HTMLタグを用いたデザイン要素を考慮 */
.ec-confirmCancelMessage p {
  font-size: 0.866rem;
  margin: 1em 0;
}
.ec-confirmCancelMessage ul {
  margin: 1em 0;
}
.ec-confirmCancelMessage ul li {
  line-height: 1.8;
  position: relative;
  padding-left: 1.3em;
  /* マークとテキストの間隔調整 */
}
.ec-confirmCancelMessage ul li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
/*
定期購読メッセージ
*/
.ec-confirmRegularlyMessage {
  font-size: 0.866rem;
  border: solid 1px #eee;
  background-color: #f8f8f8;
  padding: 1rem;
}
.ec-confirmRegularlyMessage h2, .ec-confirmRegularlyMessage .h2 {
  font-size: 1.066rem;
  font-weight: bold;
  margin-bottom: 1em;
}
.ec-confirmRegularlyMessage .ec-kiyakuRegularly {
  border: solid 1px #eee;
  background-color: #fff;
  padding: 1rem;
}
.ec-confirmRegularlyMessage .ec-kiyakuRegularly__box {
  margin: 1rem 0;
}
.ec-confirmRegularlyMessage .ec-kiyakuRegularly .ec-orderKiyaku {
  margin-top: 0;
  margin-bottom: 0 !important;
}
.ec-confirmRegularlyMessage .ec-kiyakuRegularly .ec-orderKiyaku .ec-borderedDefs dl dd {
  padding: 0;
}
.ec-confirmRegularlyMessage .ec-kiyakuRegularly .ec-orderKiyaku .ec-checkbox, .ec-confirmRegularlyMessage .ec-kiyakuRegularly .ec-orderKiyaku .ec-blockCheckbox {
  margin-top: 1rem;
  padding-top: 1rem;
  padding-bottom: 6px;
  border-top: solid 1px #ddd;
}
/*
マイページ 注文履歴一覧

EC-PACK7：
注文履歴一覧のHTML構造はEC4系とは完全に別物としています。
*/
.ec-orderHistoryRole {
  display: table;
  border-collapse: collapse;
  width: 100%;
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-orderHistoryRole .ec-orderHistoryRole__tr {
  display: table-row;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  /*
  &:nth-child(odd) {
    background-color: $clrBodyToneBg;
  }
  */
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell {
  display: table-cell;
  vertical-align: middle;
  width: auto;
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell > dt {
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  font-size: 0.933rem;
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell > dt:after {
  content: ":";
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell > dd {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.066rem;
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell.detailBtn {
  text-align: right;
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell.detailBtn a {
  display: inline-block;
  font-size: 1.066rem;
  padding: 0 1em;
  min-width: 100px;
  text-align: center;
  height: 2.185em;
  line-height: 2.185em;
  border-radius: 2.185em;
  background-color: #747474;
  color: #fff;
  transition: 0.3s;
}
.ec-orderHistoryRole .ec-orderHistoryRole__cell.detailBtn a:hover {
  background-color: #000;
  color: #fff;
}
/*
マイページ 注文履歴詳細

注文履歴一覧のテーブル構造を利用、詳細ページ用に上書き調整を加えています。OOCSS「.historyDetail」が詳細用のスタイリングになります。
*/
.ec-orderHistoryRole.historyDetail {
  border-top: none;
  background-color: #F2F2F2;
  border-radius: 4px;
}
.ec-orderHistoryRole.historyDetail .ec-orderHistoryRole__tr {
  border-bottom: none;
}
.ec-orderHistoryRole.historyDetail .ec-orderHistoryRole__cell.reOrder {
  text-align: right;
}
.ec-orderHistoryRole.historyDetail .ec-orderHistoryRole__cell.reOrder .comment {
  font-size: 0.8em;
  margin: 1em 0 0;
}
/*
注文商品内容
*/
.ec-historyProducts {
  margin: 0;
  margin-top: 1.5rem;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-historyProducts .productItem {
  padding: 1.5rem;
}
.ec-historyProducts .productItem:nth-child(n+2) {
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
}
/*
カート内容
*/
.ec-historyCartTable {
  margin: 0;
  background-color: #515151;
  color: #fff;
  padding: 1rem 1.5rem;
}
.ec-historyCartTable table {
  width: 100%;
}
.ec-historyCartTable th, .ec-historyCartTable td {
  padding: 0.1em 0;
  vertical-align: middle;
  text-align: right;
}
.ec-historyCartTable th {
  font-size: 0.933rem;
  font-weight: 400;
  padding-right: 1em;
}
.ec-historyCartTable th:after {
  content: "：";
}
.ec-historyCartTable td {
  font-size: 1.133rem;
  width: 1em;
  white-space: nowrap;
}
.ec-historyCartTable .paymentTotal th, .ec-historyCartTable .paymentTotal td {
  padding-top: 0.5rem;
}
.ec-historyCartTable .paymentTotal th {
  font-size: 1.066rem;
}
.ec-historyCartTable .paymentTotal th:after {
  font-size: 0.933rem;
}
.ec-historyCartTable .paymentTotal td {
  font-size: 1.6rem;
  font-weight: 700;
}
.ec-historyShipping .ec-borderedDefs dt,
.ec-orderMails .ec-borderedDefs dt {
  padding: 0;
  margin-bottom: 1rem;
}
.ec-historyShipping .ec-borderedDefs dd,
.ec-orderMails .ec-borderedDefs dd {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1rem;
}
/*
お届け先表示
*/
.ec-historyShipping .ec-orderTable {
  width: 100%;
  margin: 0;
  font-size: 0.966rem;
}
.ec-historyShipping .ec-orderTable, .ec-historyShipping .ec-orderTable tr {
  display: block;
}
.ec-historyShipping .ec-orderTable th, .ec-historyShipping .ec-orderTable td {
  display: inline-block;
  padding: 0.25em 0;
}
.ec-historyShipping .ec-orderTable th {
  font-weight: 500;
  min-width: 10em;
}
.ec-historyShipping .ec-orderTable th:after {
  content: "：";
}
/*
注文履歴詳細 メール履歴個別 EC-PACK7

EC4系では注文履歴詳細ページの中でメール本文が開閉される機能となっていますが、
EC-CUBE2系ではポップアップで開くスタイルですので、そちらに合わせたスタイリングをします。
※厳密にはこれはコンポーネントだと思うので「_9.1.mypage.scss」に記述すべきかとは思いますが、
EC4系もここに記述してありましたのでEC-PACK7もとりあえずこちらにスタイリングを記述しています。
*/
.ec-orderMail .ec-orderMail__time {
  margin-bottom: 0.5em;
}
.ec-orderMail + .ec-orderMail {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
}
/*
メール履歴詳細本文
*/
.ec-orderMailView {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  background-color: var(--clrBodyToneBg, #F3F3F3);
  padding: 1.5rem;
}
.ec-orderMailView .ec-orderMailView__subject {
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
/*
住所一覧
*/
/*
住所一覧

マイページ「お届け先一覧」と、ショッピングページ「お届け先の指定」にて使用
*/
.ec-addressList .item {
  display: flex;
  align-items: center;
  padding: 1.5rem 0;
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-addressList .item:last-of-type {
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-addressList .item_num {
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}
.ec-addressList .item_content {
  flex: 1 1 auto;
  padding-left: 0;
  font-size: 1rem;
  margin: 0 1em;
}
.ec-addressList .item_content p {
  margin: 0;
}
.ec-addressList .item_content p span {
  display: inline-block;
}
.ec-addressList .item_content p span.zipcode {
  white-space: nowrap;
}
.ec-addressList .item_name {
  flex: 1 1 auto;
  min-width: 10em;
  font-size: 1rem;
  margin: 0 1em;
}
.ec-addressList .item_name p {
  margin: 0;
}
.ec-addressList .item_edit {
  flex: 0 0 auto;
  padding: 0;
  text-align: right;
}
.ec-addressList .item_edit a + a {
  margin-left: 10px;
}
.ec-orderRole .ec-addressList {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 4px;
}
.ec-orderRole .ec-addressList .item {
  border: none;
  padding: 1rem;
}
.ec-orderRole .ec-addressList .item:nth-child(n+2) {
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-orderRole .ec-addressList .item:first-child .item_edit .ec-editBtn {
  visibility: hidden;
}
.ec-orderRole .ec-addressList .item_radio {
  margin-right: 1em;
}
.ec-orderRole .ec-addressListInfo {
  font-size: 0.933rem;
  margin-top: 1rem;
  text-align: center;
}
/*
パスワード再発行
*/
.ec-forgotRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 960px;
}
/*
パスワード発行

※クーポンコード「.ec-issueCoupon」と似たスタイルとしています（_1.1.heading.scss）
*/
.ec-newPassword {
  margin: 1em 0;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 4px;
  text-align: center;
  padding: 1rem;
}
.ec-newPassword .code {
  font-size: 2rem;
  font-weight: 700;
}
.ec-newPassword .comment {
  font-size: 1.066rem;
}
/*
会員登録系

会員登録 に関する Project コンポーネントを定義します。
*/
.ec-registerRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 960px;
}
/*
お問い合わせ

お問い合わせ に関する Project コンポーネントを定義します。
*/
.ec-contactRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 960px;
}
.ec-contactRole .ec-contactRole__product dd {
  display: flex;
}
.ec-contactRole .ec-contactRole__product dd .image {
  flex: 0 0 auto;
  width: 180px;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  margin-right: 2rem;
}
.ec-contactRole .ec-contactRole__product dd .image a {
  display: block;
}
.ec-contactRole .ec-contactRole__product dd .content .product_title {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
  margin-bottom: 0.5em;
}
.ec-contactRole .ec-contactRole__product dd .content .product_content {
  font-size: 1rem;
}
/*
お客様情報の入力

ログインせずゲストとして商品を購入する際の、お客様情報の入力 に関する Project コンポーネントを定義します。
*/
.ec-customerRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
}
.ec-customerRole #shipping_form_area {
  margin-top: 0 !important;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-top: none;
  padding: 1rem;
  padding-bottom: 0;
}
/*
404ページ

404 エラー画面で使用するページコンポーネントです。

警告アイコンを包括するdiv要素で、Twig内で「style="font-size:100px;text-align:center;"」とインラインCSSが記述されており少々手荒な感じがしますが、
当テンプレートでのCSSスタイリングに影響は微小ととらえTwigは編集せずそのままにしておきます。
*/
.ec-404Role {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100svh;
}
.ec-404Role .ec-off4Grid {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  width: 100% !important;
  max-width: none;
}
.ec-404Role .ec-icon {
  line-height: 1rem;
}
.ec-404Role .ec-icon img {
  width: 60px;
  height: auto;
}
.ec-404Role .ec-404Role__title {
  font-size: 1.5rem;
  margin: 1em 0;
  text-align: center !important;
}
.ec-404Role .ec-404Role__description {
  font-size: 1.1rem;
  text-align: center !important;
}
.ec-404Role .ec-blockBtn--cancel {
  margin-top: 30px;
  width: 100%;
  box-sizing: border-box;
}
/*
〇〇は存在しません

商品一覧ページにて、存在しないカテゴリ、商品検索で該当商品0の場合の表示スタイリングです。
使用箇所は商品一覧ページのみですが、拡張的にFAQや他のコンテンツで使用する場面も出てくる可能性もありますので、
こちらにてスタイリングを記述しています。
*/
.ec-notFoundRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  min-height: 40vh;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.ec-notFoundRole p {
  text-align: center;
  margin-bottom: 3rem;
}
.ec-notFoundRole .ec-off4Grid .ec-off4Grid__cell {
  width: auto;
}
/*
退会手続き
*/
.ec-withdrawRole {
  background-color: var(--clrBodyToneBg, #F3F3F3);
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  border-radius: 4px;
  padding: 1.5rem;
  text-align: center;
}
.ec-withdrawRole .ec-withdrawRole__title {
  font-size: 1.5rem;
  margin: 1em 0;
}
.ec-withdrawRole .ec-withdrawRole__description {
  font-size: 0.966rem;
}
/*
会員情報編集完了

会員情報編集完了で使用するページコンポーネントです。

※現バージョンでの編集完了画面は`.ec-registerCompleteRole`となっており、これは「19.1 会員登録」の中で定義されていますので、
こちらのスタイリングは未使用につき不要と思われます。
*/
/*
.ec-userEditCompleteRole {
  @include container;
  text-align: center;
  padding: 0 16px;

  & &__title{
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 24px;
    @include media_desktop(){
      font-size: 32px;
    }
  }

  & &__description{
    margin-bottom: 32px;
    font-size: 16px;
  }
}
*/
/*
ヘルプ

各ヘルプページに関する Project コンポーネントを定義します。
*/
.ec-helpRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
/*
2カラムレイアウト
*/
.ec-helpGridRole .ec-helpGridRole__nav {
  display: none;
}
/*
利用ガイド 左ナビ
*/
.ec-helpNavRole {
  font-size: 0.93rem;
  line-height: 1.2;
}
.ec-helpNavRole .ec-helpNavRole__item:nth-child(n+2) {
  margin-top: 0.5rem;
}
.ec-helpNavRole .ec-helpNavRole__head {
  background-color: var(--clrBodyToneBg, #F3F3F3);
  font-size: 1.066rem;
  font-weight: 500;
  line-height: 1.25;
}
.ec-helpNavRole .ec-helpNavRole__head a {
  display: block;
  padding: 1.15em 1em;
  color: inherit;
  transition: 0.2s;
}
.ec-helpNavRole .ec-helpNavRole__head a:hover {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.03);
}
.ec-helpNavRole .ec-helpNavRole__anchors {
  margin: 0;
  padding: 1rem 0;
  list-style-type: none;
  font-size: 0.966rem;
  line-height: 1.2;
}
.ec-helpNavRole .ec-helpNavRole__anchors li a {
  display: block;
  padding: 0.8em 1em;
  color: inherit;
  position: relative;
  transition: 0.2s;
}
.ec-helpNavRole .ec-helpNavRole__anchors li a:after {
  font-family: "ecpfont";
  font-size: 0.8em;
  content: "\e91d";
  display: block;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0.5em;
}
.ec-helpNavRole .ec-helpNavRole__anchors li a:hover {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.03);
}
/*
アンカーナビ

Helpコンテンツページ内の（h1タイトルの下に配置）アンカーナビ
*/
.ec-anchorNav {
  margin: 1rem 0;
}
.ec-anchorNav ul {
  list-style-type: none;
  font-size: 1.066rem;
  line-height: 1.2;
}
.ec-anchorNav ul li a {
  display: inline-block;
  padding: 0.5em 0;
}
.ec-anchorNav ul li a:hover {
  text-decoration: underline;
}
.ec-anchorNavToggle {
  position: absolute;
  top: 1.75rem;
  right: 7.009vw;
}
.ec-anchorNavToggle i {
  font-size: 2em;
  color: #fff;
}
/*
記事スタイル ご利用ガイド用

ご利用ガイドのコンテンツ記事スタイリングになります。
※本来なら「_0.3.article.scss」に含めておくコンポーネントだと思いますが、とりあえず今はヘルプコンテンツ一式でこちらに置いております。
*/
.ec-helpArticle {
  font-size: 1rem;
  line-height: 1.85;
}
.ec-helpArticle h1, .ec-helpArticle .h1 {
  font-size: 1.429rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1em;
  padding: 0 0 0.5em;
  border-bottom: solid 1px #000;
}
.ec-helpArticle h2, .ec-helpArticle .h2, .ec-helpArticle h3, .ec-helpArticle .h3, .ec-helpArticle h4, .ec-helpArticle .h4, .ec-helpArticle h5, .ec-helpArticle .h5, .ec-helpArticle h6, .ec-helpArticle .h6 {
  line-height: 1.2;
  margin: 2rem 0 1rem;
}
.ec-helpArticle h2, .ec-helpArticle .h2 {
  font-size: 1.25em;
  font-weight: 500;
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  padding-bottom: 0.5em;
  margin-bottom: 2rem;
}
.ec-helpArticle h3, .ec-helpArticle .h3 {
  font-size: 1.125em;
  font-weight: 700;
  /*
  background-color: #eee;
  padding: .5em;
  */
}
.ec-helpArticle h3:before, .ec-helpArticle .h3:before {
  content: "- ";
}
.ec-helpArticle h4, .ec-helpArticle .h4 {
  font-size: 1.125em;
  font-weight: 700;
}
.ec-helpArticle h5, .ec-helpArticle .h5 {
  font-size: 1em;
  font-weight: 500;
}
.ec-helpArticle h6, .ec-helpArticle .h6 {
  font-size: 1em;
  font-weight: 500;
}
.ec-helpArticle p {
  font-size: inherit;
  margin: 1rem 0;
}
.ec-helpArticle .pic {
  margin: 1rem 0;
}
.ec-helpArticle .pic img {
  width: auto;
  max-width: 100%;
}
.ec-helpArticle .pic p {
  font-weight: 500;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.ec-helpArticle .pic.center {
  text-align: center;
}
.ec-helpArticle .ec-frame {
  border: solid 1px #ccc;
  padding: 1em;
  margin: 1rem 0;
  border-radius: 8px;
}
.ec-helpArticle .ec-frame > :first-child {
  margin-top: 0;
}
.ec-helpArticle .ec-frame > :last-child {
  margin-bottom: 0;
}
.ec-helpArticle .ec-frame.gray {
  background-color: var(--clrBodyToneBg, #F3F3F3);
  border: none;
}
.ec-helpArticle .pic_text {
  margin: 1rem 0;
}
.ec-helpArticle .pic_text:after {
  content: "";
  display: table;
  clear: both;
}
.ec-helpArticle .pic_text img {
  width: 50%;
  max-width: 400px;
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
}
/*
利用ガイドINDEX
*/
.ec-helpIndexRole .ec-helpIndexRole__item {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  page-break-inside: avoid;
}
.ec-helpIndexRole .ec-helpIndexRole__item:nth-of-type(n+2) {
  margin-top: 2rem;
}
.ec-helpIndexRole .ec-helpIndexRole__item h3, .ec-helpIndexRole .ec-helpIndexRole__item .h3 {
  font-size: 1.143rem;
  font-weight: 500;
  margin: 0;
  border-bottom: solid 2px #CCCBCB;
}
.ec-helpIndexRole .ec-helpIndexRole__item h3 a, .ec-helpIndexRole .ec-helpIndexRole__item .h3 a {
  display: block;
  padding: 0.5em 0;
  transition: 0.5s;
  color: inherit;
}
.ec-helpIndexRole .ec-helpIndexRole__item h3 a:hover, .ec-helpIndexRole .ec-helpIndexRole__item .h3 a:hover {
  text-decoration: none;
  background-color: var(--clrBodyToneBg, #F3F3F3);
  padding-left: 0.75em;
}
.ec-helpIndexRole .ec-helpIndexRole__item ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.ec-helpIndexRole .ec-helpIndexRole__item ul li {
  border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-helpIndexRole .ec-helpIndexRole__item ul li a {
  display: block;
  color: inherit;
  line-height: 1.25;
  padding: 1.25em 0.5em;
  position: relative;
  transition: 0.2s;
}
.ec-helpIndexRole .ec-helpIndexRole__item ul li a:after {
  font-family: "ecpfont";
  font-size: 0.9em;
  content: "\e91d";
  display: block;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0;
}
.ec-helpIndexRole .ec-helpIndexRole__item ul li a:hover {
  text-decoration: none;
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
/*
リーデル：熨斗
*/
.noshiList {
  margin: 2rem 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
}
.noshiList .item {
  text-align: center;
}
.noshiList .item img {
  display: block;
  width: 100%;
  border: solid 1px #707070;
}
.noshiList .item h5, .noshiList .item .h5 {
  margin: 0;
  margin-top: 0.85em;
}
.noshiList .item p {
  margin: 0;
  margin-top: 0.35em;
  line-height: 1.5;
}
/*
規約条文

規約条文の汎用スタイルです。
*/
.ec-provision.with-scroll {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1em;
  max-height: 20em;
  overflow-y: scroll;
  margin: 1em 0;
}
.ec-provision .ec-provision__heading {
  font-size: 1rem;
  margin-bottom: 2em;
}
.ec-provision dl {
  font-size: 1rem;
  margin-bottom: 2em;
}
.ec-provision dl dt {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.ec-provision dl dd {
  font-size: 1em;
  font-weight: normal;
  margin: 0;
}
/*
当サイトについて
*/
.ec-helpMapRole .ec-helpMapRole__map {
  width: 100%;
  padding-top: 460px;
  position: relative;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-helpMapRole .ec-helpMapRole__map iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}
/*
FAQよくある質問
*/
/*
FAQ一覧ページ
*/
.ec-faqIndexRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-faqIndexRole h2, .ec-faqIndexRole .h2 {
  font-size: 1.2rem;
  font-weight: 700;
  border-bottom: solid 2px #000;
  padding: 0.5em 0;
  margin: 1rem 0;
}
/*
FAQ検索ボックス

FAQをキーワード検索するボックスのコンポーネントスタイリングです。
*/
.ec-faqSearch .title {
  font-size: 1.066rem;
  font-weight: 700;
  text-align: center;
}
.ec-faqSearch .ec-faqSearch__input {
  max-width: 368px;
  margin: 1rem auto 0;
  position: relative;
}
.ec-faqSearch .ec-faqSearch__input input[type=text] {
  border-radius: 3em;
  padding-left: 1.5em;
  padding-right: 3em;
}
.ec-faqSearch .ec-faqSearch__input button {
  border: none;
  background: none;
  padding: 0;
  font-size: 1.8em;
  color: #777;
  line-height: 1;
  opacity: 0.65;
  cursor: pointer;
  position: absolute;
  right: 0.5em;
  top: calc(50% - 0.5em);
}
.ec-faqSearch .ec-faqSearch__input button span {
  display: none;
}
.ec-faqSearch.toggleCategory {
  display: none;
}
.ec-faqSearch.toggleCategory .toggleBtn {
  font-size: 1.143rem;
  color: var(--clrDefaultThin, #676464);
  text-align: center;
  border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
  margin: 1rem 0;
  padding: 0.5em;
  position: relative;
}
.ec-faqSearch.toggleCategory .toggleBtn i {
  font-size: 1em;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0;
}
/*
FAQカテゴリ一覧（テーマから探す）
*/
.ec-faqCategory ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: 1.066rem;
}
.ec-faqCategory ul li a {
  display: block;
  color: inherit;
  padding: 0.5em 0;
  padding-right: 1.5em;
  transition: 0.3s;
  position: relative;
}
.ec-faqCategory ul li a:after {
  font-family: "ecpfont";
  content: "\e91d";
  font-size: 0.7em;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0.5em;
}
.ec-faqCategory ul li a:hover {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.05);
}
/*
FAQ質問一覧

カテゴリごとまたは検索結果の質問文一覧スタイリングです。
*/
.ec-faqList .search_keyword {
  font-size: 1.1em;
  font-weight: 500;
  border-bottom: solid 1px #000;
  padding-bottom: 0.5em;
  margin-bottom: 1rem;
}
.ec-faqList ul li {
  font-size: 1.066rem;
  margin-top: 1em;
}
.ec-faqList ul li a {
  display: block;
  color: inherit;
}
/*
パーツ：FAQ質問文（質問文側のみのスタイリングになります。回答文側は「_23.3.blog.scss」にて）
*/
.ec-faqItem {
  line-height: 1.5em;
  padding: 0;
  padding-left: calc(30px + 1em);
  position: relative;
  /*
  @include media_sphone {
    $iconsize: 24px;
    $lineheight: 1.5em;
    line-height: $lineheight;
    padding: calc((30px - 1.5em) * 0.5);// (アイコンサイズ-文字間)/2
    padding-left: calc(30px + 0.5em);// アイコンとテキストとのバランス
  }
  */
}
.ec-faqItem:before {
  content: "";
  font-family: "Century Gothic";
  display: block;
  font-size: 14px;
  font-weight: 700;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 50%;
  background-color: #E6E6E6;
  color: inherit;
  position: absolute;
  top: 0;
  left: 0;
}
.ec-faqItem.question:before {
  content: "Q";
  color: #1396C6;
}
.ec-faqIndexRole .ec-faqItem.question:before {
  transition: 0.3s;
}
.ec-faqIndexRole .ec-faqItem.question:hover:before {
  background-color: #1396C6;
  color: #fff;
}
.ec-faqItem.answer {
  margin-top: 1rem;
}
.ec-faqItem.answer:before {
  content: "A";
  color: #F34F12;
}
/*
FAQ一覧ページ

詳細ページはブログシステムですので「トピックス」と同じく「_23.3.blog.scss」にてスタイリングしています
*/
/*
ブログ系機能ページ

以下は、システム的に同じ設計思想で提供されるブログ系コンテンツになります。
コンテンツによってはデザインに差異のあるケースもあると思いますが、基本レイアウトや記事スタイルなどの共通するスタイリングは整理しておくべきと考えます。

* トピックス管理
* ニュース管理
* 季節のおすすめ（箔一スタイル）
* 新着動画（箔一スタイル）

記事におけるタイトル要素や段落等の基本スタイルは「記事スタイル」として「_0.3.article.scss」にて定義しています。
それら記事スタイルのみで簡単なブログ記事の体裁は整う形となりますが、より細かくレイアウトや見せ方を加味したテンプレートスタイルを別途定義します。

ここでは、各ブログ系ページの一覧・詳細ページといったページ構成と、WYSIWYGテンプレートについてスタイリングします。
※トップページに配置されるブロックについてはまた別scssファイルにて定義しています。

※「FAQ」もシステム的には同じブログ系機能のようですが、FAQはデザインもコンテンツ趣旨もブログ系とは別物と分けて解釈します。
FAQは「_23.2.faq.scss」にて定義しています。
*/
/*
スタイリング項目

* ブログ記事テンプレート
* ブログページレイアウト
* ブログ記事一覧
* ブログ記事一覧グリッドレイアウト
* ブログ記事一覧アイテム
* ブログ記事詳細
* ブログサイド
* FAQよくある質問詳細ページ ←移動予定？
*/
/*
ブログ記事テンプレート

記事スタイルの基本は「.ec-article」（0.3.article.scss）で定義されています。記事スタイルは簡単なHTML構造だけでも体裁が整う基本スタイリングを施したものになります。
ここでは、ブログ記事テンプレートとして記事スタイルを適宜上書き、追加してテンプレートのスタイリングを施します。
*/
.ec-article__blog {
  margin-top: 3rem;
}
.ec-article__blog.style_2 .item {
  position: relative;
  background-color: transparent;
}
.ec-article__blog.style_2 .item > :first-child {
  margin-top: 0 !important;
}
.ec-article__blog.style_2 .item > :last-child {
  margin-bottom: 0 !important;
}
.ec-article__blog.style_2 .item h2, .ec-article__blog.style_2 .item .h2 {
  text-align: center;
  color: inherit;
}
.ec-article__blog.style_2 .item .bg {
  background-position: center center;
  background-repeat: none;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.ec-article__blog.style_10 .item:nth-child(n+2) {
  margin-top: 3rem;
}
.ec-article__blog.style_20 .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--itemMinSize), 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.ec-article__blog.style_20 .list .item {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 10px;
}
.ec-article__blog.style_20 .list .item a {
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-article__blog.style_20 .list .item a * {
  overflow: hidden;
}
.ec-article__blog.style_20 .list .item a img {
  transition: 0.6s;
}
.ec-article__blog.style_20 .list .item a:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-article__blog.style_20 .list .item .title {
  font-size: 1rem;
  font-weight: 500;
  margin: 0.5rem 0;
}
.ec-article__blog.style_20 .list .item p {
  font-size: 0.933rem;
  line-height: 1.5;
  margin: 0;
}
.ec-article__blog.style_21 .list .item {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 10px;
  display: grid;
  grid-template-columns: min(40%, 220px) 1fr;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.ec-article__blog.style_21 .list .item:nth-child(n+2) {
  margin-top: 1rem;
}
.ec-article__blog.style_21 .list .item a {
  grid-row: span 2;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
}
.ec-article__blog.style_21 .list .item a * {
  overflow: hidden;
}
.ec-article__blog.style_21 .list .item a img {
  transition: 0.6s;
}
.ec-article__blog.style_21 .list .item a:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-article__blog.style_21 .list .item .title {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.5rem;
}
.ec-article__blog.style_21 .list .item p {
  font-size: 0.933rem;
  line-height: 1.5;
  margin: 0;
}
.ec-article__blog.style_30 dl {
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: 0.933rem;
  line-height: 1.4285;
  background-color: transparent;
}
.ec-article__blog.style_30 dl:nth-of-type(odd) {
  background-color: var(--clrBodyToneBg, #F3F3F3);
}
.ec-article__blog.style_30 dl dt, .ec-article__blog.style_30 dl dd {
  padding: 0.65em 1em;
  font-weight: 400;
  align-self: center;
}
.ec-article__blog.style_30 dl dt {
  min-width: var(--dtMinSize);
}
.ec-article__blog.style_30 dl dd {
  color: var(--clrDefaultThin, #676464);
}
.ec-article__blog.style_31 table {
  width: 100%;
  font-size: 0.933rem;
}
.ec-article__blog.style_31 table th, .ec-article__blog.style_31 table td {
  padding: 0.75em;
  font-weight: 400;
  vertical-align: top;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
}
.ec-article__blog.style_31 table th {
  background-color: var(--clrBodyToneBg, #F3F3F3);
  text-align: center;
}
.ec-article__blog.style_31 table tbody th {
  min-width: var(--thMinSize);
}
.ec-article__blog.style_31 table tbody td {
  text-align: var(--tdAlign);
}
.ec-article__blog.style_32 .item {
  display: grid;
  grid-template-columns: 1fr 40%;
  grid-template-rows: auto 1fr;
  -moz-column-gap: min(4vw, 40px);
       column-gap: min(4vw, 40px);
  border-top: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 1rem 0;
}
.ec-article__blog.style_32 .item > *:first-child {
  margin-top: 0;
}
.ec-article__blog.style_32 .item > *:last-child {
  margin-bottom: 0;
}
.ec-article__blog.style_32 .item p {
  order: 1;
  margin: 0;
}
.ec-article__blog.style_32 .item p + * {
  margin-top: 1rem;
}
.ec-article__blog.style_32 .item dl {
  order: 3;
}
.ec-article__blog.style_32 .item img {
  order: 2;
  grid-row: span 2;
}
/*
ブログページレイアウト

ブログ詳細ページの基本スタイリングです。
トピックスはもちろん新着情報やその他のブログ系ページにおいても共通して使える形にしていけたらと考えています。
*/
.ec-blogRole {
  margin-top: 0;
}
.ec-blogRole .ec-blogRole__layout {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1280px;
  /*
  ブログページは基本、2カラムレイアウトで構成される前提とします。
  もし、1カラムレイアウトとなる場合は、ブログ記事の枠はみだし記事を実装するにあたりコンテナクエリ「container-type: inline-size;」を指定しておく必要があります。
  指定しないと横スクロールが発生します（デスクトップ時のみ）。
  ただこのコンテナクエリの指定は、例えばドロップメニューや商品詳細ページのビジュアルナビの実装を阻害しますので適材適所に指定する必要があります。
  */
}
/*
ブログ記事一覧

ブログ記事一覧ページの基本スタイリングです。
トピックスはもちろん新着情報やその他のブログ系ページにおいても共通して使える形にしていけたらと考えています。
*/
.ec-blogListRole .ec-blogListRole__title {
  display: flex;
  align-items: center;
  margin: 1rem 0;
}
.ec-blogListRole .ec-blogListRole__title .titleLabel {
  display: block;
  font-size: 1rem;
  color: #BCA46B;
}
.ec-blogListRole .ec-blogListRole__title .title {
  border-left: solid 1px var(--clrBorderColor, #D4D4D4);
  margin: 0;
  margin-left: 0.75rem;
  padding-left: 0.75rem;
  font-family: "Noto Serif JP", serif;
  font-size: min(1.666rem, 6vw);
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}
/*
ブログ記事一覧グリッドレイアウト

※商品一覧グリッドレイアウト「.ec-shelfGrid」と同じ思想で組んでいます。

メモ：
「auto-fit」だと例えば商品点数が1つの場合に全幅に拡大されてしまう。グリッドアイテム（この場合商品アイテム）にmax-widthを指定したとするとそもそもフレキシブルなグリッドにならない。
そういう理由で「auto-fill」で指定するほうが良さそうです。ほかにベストプラクティスがあればご教示ください。
また、例「grid-template-columns: repeat(auto-fill, minmax(min(400px, 100%), 1fr));」とmin()を用いる事で仮にブラウザ幅が狭い場合にスクロールバーが出ない様に制限できます。
上記のように細かく指定することでメディアクエリを書かなくてもレスポンシブ対応は可能になりますが、微調整等の融通さを鑑みてあえてメディアクエリを用いたスタイリングを行います。
*/
.ec-blogShelfGrid {
  display: grid;
}
/*
ブログ記事一覧アイテム

トピックスや新着情報の記事一覧アイテムの単体のスタイリングです。
もし特異のデザインとなる場合は別classを充てて別途スタイリングしてください。
*/
.ec-blogListItem > .inner {
  color: inherit;
  display: block;
  overflow: hidden;
  /* HTML構造によってはIE11でちらつく事があるので保険 */
  display: grid;
  grid-template-areas: "image image" "title title" "date tag" "comment comment";
  grid-template-columns: auto 1fr;
  row-gap: 0;
}
.ec-blogListItem > .inner * {
  overflow: hidden;
}
.ec-blogListItem > .inner img {
  transition: 0.6s;
}
.ec-blogListItem > .inner:hover img {
  transform: scale(1.1);
  filter: brightness(1.05);
}
.ec-blogListItem > .inner.nolink {
  pointer-events: none;
}
.ec-blogListItem .image {
  grid-area: image;
}
.ec-blogListItem .date {
  grid-area: date;
  align-self: center;
  font-size: 0.8em;
  line-height: 1;
}
.ec-blogListItem .tag {
  grid-area: tag;
  align-self: center;
  margin-left: 0.5rem;
}
.ec-blogListItem .tag span {
  display: inline-block;
  font-size: 0.733em;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  padding: 0.5em 1em;
  border-radius: 2em;
}
.ec-blogListItem .tag.notag {
  margin: 0;
}
.ec-blogListItem .tag.notag span {
  display: none;
}
.ec-blogListItem .title {
  grid-area: title;
  font-family: "Noto Serif JP", serif;
  font-size: 1.066rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0.75em 0 0.5em;
}
.ec-blogListItem .comment {
  grid-area: comment;
  font-size: min(0.8rem, 3vw);
  color: var(--clrDefaultThin, #676464);
  line-height: 1.66;
  text-align: justify;
  margin-top: 0.25rem;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
/*
ブログ記事詳細

ブログ詳細ページの基本スタイリングです。
トピックスはもちろん新着情報やその他のブログ系ページにおいても共通して使える形にしていけたらと考えています。
*/
.ec-blogDetailRole .ec-blogDetailRole__head {
  display: grid;
  grid-template-areas: "image image" "title title" "date  tag" "category category" "text  text";
  grid-template-columns: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
}
.ec-blogDetailRole .ec-blogDetailRole__head .headImage {
  grid-area: image;
}
.ec-blogDetailRole .ec-blogDetailRole__head h1, .ec-blogDetailRole .ec-blogDetailRole__head .h1 {
  grid-area: title;
  font-family: "Noto Serif JP", serif;
  font-size: min(1.666rem, 6vw);
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
  margin: 0;
  padding: 0.5em 0 0.25em;
}
.ec-blogDetailRole .ec-blogDetailRole__head .date {
  grid-area: date;
  align-self: center;
}
.ec-blogDetailRole .ec-blogDetailRole__head .date time {
  display: inline-block;
  font-size: 0.8rem;
}
.ec-blogDetailRole .ec-blogDetailRole__head .tag {
  grid-area: tag;
  align-self: center;
}
.ec-blogDetailRole .ec-blogDetailRole__head .tag span {
  display: inline-block;
  font-weight: normal;
  font-size: 0.8rem;
  line-height: 1;
  padding: 0.5em 1em;
  border-radius: 2em;
}
.ec-blogDetailRole .ec-blogDetailRole__head .category {
  grid-area: category;
}
.ec-blogDetailRole .ec-blogDetailRole__head .category ul {
  display: flex;
  -moz-column-gap: 5px;
       column-gap: 5px;
  row-gap: 5px;
}
.ec-blogDetailRole .ec-blogDetailRole__head .category ul li a {
  display: inline-block;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  font-size: 0.866rem;
  line-height: 1.2;
  padding: 0.25em 1em;
  border-radius: 4px;
  color: inherit;
  transition: 0.3s;
}
.ec-blogDetailRole .ec-blogDetailRole__head .category ul li a:hover {
  background-color: #BCA46B;
  border-color: #BCA46B;
  color: #fff;
}
.ec-blogDetailRole .ec-blogDetailRole__head .eyecatchText {
  grid-area: text;
  font-family: "Noto Serif JP", serif;
  font-size: min(16px, 4vw);
  font-weight: 400;
  line-height: 1.5;
}
.ec-blogDetailRole .ec-blogDetailRole__share {
  margin-bottom: 0 !important;
}
.ec-blogDetailRole .ec-blogDetailRole__share ul {
  display: flex;
  justify-content: center;
  -moz-column-gap: 0;
       column-gap: 0;
}
.ec-blogDetailRole .ec-blogDetailRole__share .shareBtn {
  display: block;
  padding: 7px;
  color: #A4A4A4;
  font-size: 1.75rem;
}
.ec-blogDetailRole .ec-blogDetailRole__share .shareBtn i + span {
  display: none;
}
.ec-blogDetailRole .ec-blogDetailRole__share .shareBtn.twitter {
  color: #000000;
}
.ec-blogDetailRole .ec-blogDetailRole__share .shareBtn.facebook {
  color: #3B5999;
}
.ec-blogDetailRole .ec-blogDetailRole__share .shareBtn.pinterest {
  color: #cb2027;
}
/*
ブログサイド
*/
.ec-blogSideRole .ec-blogSideRole__title {
  font-family: "Garamond";
  font-size: min(1.733rem, 7vw);
  text-align: center;
  margin: 0 0 0.25em;
}
.ec-blogSideRole .ec-blogSideRole__body {
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  padding: 10px;
}
.ec-blogSideRole.category ul li:nth-child(n+2) {
  margin-top: 5px;
}
.ec-blogSideRole.category ul li a {
  display: block;
  font-size: 1rem;
  color: inherit;
  text-align: center;
  padding: 0.5em 0.5em;
  border: solid 1px var(--clrBorderColor, #D4D4D4);
  transition: 0.3s;
}
.ec-blogSideRole.category ul li a:hover {
  background-color: #eee;
}
.ec-blogSideRole.category ul li.is-current a {
  background-color: #BCA46B;
  border-color: #BCA46B;
  color: #fff;
}
.ec-blogSideRole.recentpost ul li:nth-child(n+2) {
  margin-top: 0.75rem;
}
.ec-blogSideRole.recentpost ul li a {
  display: grid;
  grid-template-columns: 33% 1fr;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  color: inherit;
  transition: 0.3s;
}
.ec-blogSideRole.recentpost ul li a img {
  grid-row: span 2;
}
.ec-blogSideRole.recentpost ul li a time {
  display: block;
  font-size: 0.866rem;
  color: var(--clrDefaultThin, #676464);
}
.ec-blogSideRole.recentpost ul li a .text {
  font-size: 0.933rem;
}
.ec-blogSideRole.recentpost ul li a:hover {
  filter: brightness(1.1);
}
/*
FAQよくある質問詳細ページ

FAQ詳細ページにおいてはブログ機能のスタイリングよりFAQ独自の色が強くなります。
回答文がWYSIWYGテンプレートではありますが、使用場面としてテンプレートを使わず平文なテキスト、あるいは簡素なHTMLで回答文を登録される事を念頭におきます。
この平文なテキストのスタイリングは「.ec-article」に必要な上書きを行っています。
そのほかテンプレートが使われる事も想定してなるべくスタイリングが合うよう「.blog_template」にも必要な上書きをしています。
*/
.ec-faqDetailRole .ec-faqDetailRole__question {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-faqDetailRole .ec-faqDetailRole__answer {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-faqDetailRole .maintitle {
  font-family: "Century Gothic";
  font-size: 1.2rem;
  font-weight: 700;
  color: #777;
  text-align: center;
  margin-bottom: 1rem;
}
.ec-faqDetailRole .maintitle span {
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  border-radius: 50%;
  background-color: #E6E6E6;
  margin-right: 0.25em;
}
.ec-faqDetailRole .maintitle.question span {
  color: #1396C6;
}
.ec-faqDetailRole .maintitle.answer span {
  color: #F34F12;
}
.ec-faqDetailRole .ec-article {
  font-size: 1.066rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  text-align: center;
}
.ec-faqDetailRole .ec-article .content {
  display: inline-block;
  text-align: left;
}
.ec-faqDetailRole .ec-article .blog_template {
  max-width: 100%;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
}
.ec-faqDetailRole .ec-article .blog_template:first-child {
  margin-top: 1rem;
}
.ec-faqDetailRole .ec-faqDetailRole__search {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-faqDetailRole .ec-faqDetailRole__search > .inner {
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
/*
サイトマップ
*/
.ec-sitemapRole {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  width: auto !important;
  max-width: 1280px;
  max-width: 1408px;
}
.ec-sitemapRole .ec-sitemapRole__item {
  padding: 1rem 0;
}
.ec-sitemapRole .ec-sitemapRole__item:nth-child(n+2) {
  border-top: solid 1px #D8D8D8;
}
.ec-sitemapRole .ec-sitemapRole__item h2, .ec-sitemapRole .ec-sitemapRole__item .h2 {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}
.ec-sitemapRole .ec-sitemapRole__item h3, .ec-sitemapRole .ec-sitemapRole__item .h3 {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 1rem 0;
  margin-left: 1rem;
}
.ec-sitemapRole .ec-sitemapRole__item ul {
  font-size: 1.066rem;
  font-weight: 400;
  margin: 0;
  margin-left: 1rem;
}
.ec-sitemapRole .ec-sitemapRole__item a,
.ec-sitemapRole .ec-sitemapRole__item .nolink {
  display: block;
  background-color: transparent;
  font-size: inherit;
  line-height: 1.3;
  padding: 0.5em 0;
  color: inherit;
  transition: 0.3s;
}
.ec-sitemapRole .ec-sitemapRole__item a:hover,
.ec-sitemapRole .ec-sitemapRole__item .nolink:hover {
  background-color: #f6f7f8;
  padding-left: 0.25em;
}
.ec-sitemapRole .ec-sitemapRole__item .nolink {
  pointer-events: none;
}
/*
ショップインフォメーション

会員登録完了や問い合わせ完了ページ等の下部に表示される店舗情報のスタイリングです。
*/
.ec-shopInformationRole {
  /* ↑コンテナ化させない方向でいきます。完了画面では最後に「HOMEに戻る」ボタンがありこれはプログレスボタンなのでメインコンテナの中に収めておきたいわけですが、
   * デザイン的に、この店舗情報欄は「HOME」ボタンの上に配置されているので、その意味で店舗情報枠もメインコンテナの中に含めざるを得ないという事になります。
   * 店舗情報もプログレスボタン部も全てコンテナ化させればメインコンテナとは分離して記述できますが、プログレスボタン部はショッピングフローやらあちこちに使用され、
   * 機能等によって柔軟に挿入されるべきパーツかなとも思いますので、そういう部分も考慮してコンテナ化させないという方向性でいきたいと思います。
   */
  padding-bottom: 0 !important;
  border-top: 1px solid var(--clrBorderColor, #D4D4D4);
}
.ec-shopInformationRole .shop_name {
  font-size: 1.2rem;
  font-weight: 500;
  margin: 0;
  margin-bottom: 0.5em;
}
.ec-shopInformationRole dl {
  margin: 0;
  padding: 0;
}
.ec-shopInformationRole dl:nth-child(n+2) {
  margin-top: 0.25rem;
}
.ec-shopInformationRole dl dt,
.ec-shopInformationRole dl dd {
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  font-size: 1rem;
}
.ec-shopInformationRole dl dt {
  font-weight: 400;
}
.ec-shopInformationRole dl dt:after {
  content: "：";
}
.ec-shopInformationRole dl dt i {
  font-size: 1.2em;
  margin-right: 0.25em;
}
/*
ポップアップコンテナ
*/
/*
ポップアップ（HTMLコンテンツ向け）

画像のポップアップはライブラリ「luminous」を使いますが、HTMLコンテンツのポップアップは独自js（jeia_function.js）を使用します。
そのポップアップ表示のスタイリングになります。
*/
.ec-popupWindow {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  display: grid;
  place-items: center;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: 0.6s;
}
.ec-popupWindow .ec-popupWindow__body {
  width: 90vw;
  max-width: 1280px;
  height: auto;
  padding: 0;
  background-color: #fff;
  border: solid 1px #707070;
  margin-top: 70px;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 5rem, 0);
  transition: 0.3s;
  position: relative;
}
.ec-popupWindow .ec-popupWindow__body:after {
  font-family: "jeiafont";
  content: "\e909";
  font-size: min(7vw, 2.5rem);
  position: absolute;
  bottom: calc(100% + 0.25em);
  right: 0;
  color: #fff;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 30%, 0);
  transition: 0.5s;
  transition-delay: 0.3s;
}
.ec-popupWindow .ec-popupWindow__inner {
  max-height: 80vh;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.ec-popupWindow .ec-popupWindow__title .title {
  font-size: 1.333rem;
  font-weight: 500;
  text-align: center;
  padding: 1.5em 1em;
  margin: 0;
  background-color: #000;
  color: #fff;
}
.ec-popupWindow .ec-popupWindow__content {
  padding: min(5vw, 40px);
}
.ec-popupWindow .ec-popupWindow__content > *:first-child {
  margin-top: 0 !important;
}
.ec-popupWindow .ec-popupWindow__content > *:last-child {
  margin-bottom: 0 !important;
}
.ec-popupWindow.is-open {
  opacity: 1;
  visibility: visible;
}
.ec-popupWindow.is-open .ec-popupWindow__body {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.ec-popupWindow.is-open .ec-popupWindow__body:after {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
  .col-sm {
    flex: 1 0 0%;
  }

  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.33333333%;
  }

  .offset-sm-2 {
    margin-left: 16.66666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.33333333%;
  }

  .offset-sm-5 {
    margin-left: 41.66666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.33333333%;
  }

  .offset-sm-8 {
    margin-left: 66.66666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.33333333%;
  }

  .offset-sm-11 {
    margin-left: 91.66666667%;
  }

  .g-sm-0,
.gx-sm-0 {
    --bs-gutter-x: 0;
  }

  .g-sm-0,
.gy-sm-0 {
    --bs-gutter-y: 0;
  }

  .g-sm-1,
.gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-sm-1,
.gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-sm-2,
.gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-sm-2,
.gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-sm-3,
.gx-sm-3 {
    --bs-gutter-x: 1rem;
  }

  .g-sm-3,
.gy-sm-3 {
    --bs-gutter-y: 1rem;
  }

  .g-sm-4,
.gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-sm-4,
.gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-sm-5,
.gx-sm-5 {
    --bs-gutter-x: 3rem;
  }

  .g-sm-5,
.gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }

  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    flex-grow: 1;
    visibility: visible !important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    transform: none;
  }
  .navbar-expand-sm .offcanvas-top,
.navbar-expand-sm .offcanvas-bottom {
    height: auto;
    border-top: 0;
    border-bottom: 0;
  }
  .navbar-expand-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
.card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
.card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
.card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
.card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }

  .modal-dialog-scrollable {
    height: calc(100% - 3.5rem);
  }

  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }

  .modal-sm {
    max-width: 300px;
  }
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .float-sm-start {
    float: left !important;
  }

  .float-sm-end {
    float: right !important;
  }

  .float-sm-none {
    float: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-grid {
    display: grid !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: inline-flex !important;
  }

  .d-sm-none {
    display: none !important;
  }

  .flex-sm-fill {
    flex: 1 1 auto !important;
  }

  .flex-sm-row {
    flex-direction: row !important;
  }

  .flex-sm-column {
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }

  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .gap-sm-0 {
    gap: 0 !important;
  }

  .gap-sm-1 {
    gap: 0.25rem !important;
  }

  .gap-sm-2 {
    gap: 0.5rem !important;
  }

  .gap-sm-3 {
    gap: 1rem !important;
  }

  .gap-sm-4 {
    gap: 1.5rem !important;
  }

  .gap-sm-5 {
    gap: 3rem !important;
  }

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    justify-content: center !important;
  }

  .justify-content-sm-between {
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }

  .align-items-sm-start {
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    align-items: center !important;
  }

  .align-items-sm-baseline {
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    align-items: stretch !important;
  }

  .align-content-sm-start {
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

  .align-self-sm-start {
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    align-self: center !important;
  }

  .align-self-sm-baseline {
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    align-self: stretch !important;
  }

  .order-sm-first {
    order: -1 !important;
  }

  .order-sm-0 {
    order: 0 !important;
  }

  .order-sm-1 {
    order: 1 !important;
  }

  .order-sm-2 {
    order: 2 !important;
  }

  .order-sm-3 {
    order: 3 !important;
  }

  .order-sm-4 {
    order: 4 !important;
  }

  .order-sm-5 {
    order: 5 !important;
  }

  .order-sm-last {
    order: 6 !important;
  }

  .m-sm-0 {
    margin: 0 !important;
  }

  .m-sm-1 {
    margin: 0.25rem !important;
  }

  .m-sm-2 {
    margin: 0.5rem !important;
  }

  .m-sm-3 {
    margin: 1rem !important;
  }

  .m-sm-4 {
    margin: 1.5rem !important;
  }

  .m-sm-5 {
    margin: 3rem !important;
  }

  .m-sm-auto {
    margin: auto !important;
  }

  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  .mt-sm-0 {
    margin-top: 0 !important;
  }

  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }

  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }

  .mt-sm-3 {
    margin-top: 1rem !important;
  }

  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }

  .mt-sm-5 {
    margin-top: 3rem !important;
  }

  .mt-sm-auto {
    margin-top: auto !important;
  }

  .me-sm-0 {
    margin-right: 0 !important;
  }

  .me-sm-1 {
    margin-right: 0.25rem !important;
  }

  .me-sm-2 {
    margin-right: 0.5rem !important;
  }

  .me-sm-3 {
    margin-right: 1rem !important;
  }

  .me-sm-4 {
    margin-right: 1.5rem !important;
  }

  .me-sm-5 {
    margin-right: 3rem !important;
  }

  .me-sm-auto {
    margin-right: auto !important;
  }

  .mb-sm-0 {
    margin-bottom: 0 !important;
  }

  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }

  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }

  .mb-sm-auto {
    margin-bottom: auto !important;
  }

  .ms-sm-0 {
    margin-left: 0 !important;
  }

  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }

  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }

  .ms-sm-3 {
    margin-left: 1rem !important;
  }

  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }

  .ms-sm-5 {
    margin-left: 3rem !important;
  }

  .ms-sm-auto {
    margin-left: auto !important;
  }

  .p-sm-0 {
    padding: 0 !important;
  }

  .p-sm-1 {
    padding: 0.25rem !important;
  }

  .p-sm-2 {
    padding: 0.5rem !important;
  }

  .p-sm-3 {
    padding: 1rem !important;
  }

  .p-sm-4 {
    padding: 1.5rem !important;
  }

  .p-sm-5 {
    padding: 3rem !important;
  }

  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .pt-sm-0 {
    padding-top: 0 !important;
  }

  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }

  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }

  .pt-sm-3 {
    padding-top: 1rem !important;
  }

  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }

  .pt-sm-5 {
    padding-top: 3rem !important;
  }

  .pe-sm-0 {
    padding-right: 0 !important;
  }

  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }

  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }

  .pe-sm-3 {
    padding-right: 1rem !important;
  }

  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }

  .pe-sm-5 {
    padding-right: 3rem !important;
  }

  .pb-sm-0 {
    padding-bottom: 0 !important;
  }

  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }

  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }

  .ps-sm-0 {
    padding-left: 0 !important;
  }

  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }

  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }

  .ps-sm-3 {
    padding-left: 1rem !important;
  }

  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }

  .ps-sm-5 {
    padding-left: 3rem !important;
  }

  .text-sm-start {
    text-align: left !important;
  }

  .text-sm-end {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
  .col-md {
    flex: 1 0 0%;
  }

  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.33333333%;
  }

  .offset-md-2 {
    margin-left: 16.66666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.33333333%;
  }

  .offset-md-5 {
    margin-left: 41.66666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.33333333%;
  }

  .offset-md-8 {
    margin-left: 66.66666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.33333333%;
  }

  .offset-md-11 {
    margin-left: 91.66666667%;
  }

  .g-md-0,
.gx-md-0 {
    --bs-gutter-x: 0;
  }

  .g-md-0,
.gy-md-0 {
    --bs-gutter-y: 0;
  }

  .g-md-1,
.gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-md-1,
.gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-md-2,
.gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-md-2,
.gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-md-3,
.gx-md-3 {
    --bs-gutter-x: 1rem;
  }

  .g-md-3,
.gy-md-3 {
    --bs-gutter-y: 1rem;
  }

  .g-md-4,
.gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-md-4,
.gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-md-5,
.gx-md-5 {
    --bs-gutter-x: 3rem;
  }

  .g-md-5,
.gy-md-5 {
    --bs-gutter-y: 3rem;
  }
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }

  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    flex-grow: 1;
    visibility: visible !important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    transform: none;
  }
  .navbar-expand-md .offcanvas-top,
.navbar-expand-md .offcanvas-bottom {
    height: auto;
    border-top: 0;
    border-bottom: 0;
  }
  .navbar-expand-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .float-md-start {
    float: left !important;
  }

  .float-md-end {
    float: right !important;
  }

  .float-md-none {
    float: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-grid {
    display: grid !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-inline-flex {
    display: inline-flex !important;
  }

  .d-md-none {
    display: none !important;
  }

  .flex-md-fill {
    flex: 1 1 auto !important;
  }

  .flex-md-row {
    flex-direction: row !important;
  }

  .flex-md-column {
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }

  .flex-md-wrap {
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .gap-md-0 {
    gap: 0 !important;
  }

  .gap-md-1 {
    gap: 0.25rem !important;
  }

  .gap-md-2 {
    gap: 0.5rem !important;
  }

  .gap-md-3 {
    gap: 1rem !important;
  }

  .gap-md-4 {
    gap: 1.5rem !important;
  }

  .gap-md-5 {
    gap: 3rem !important;
  }

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    justify-content: center !important;
  }

  .justify-content-md-between {
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    justify-content: space-around !important;
  }

  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }

  .align-items-md-start {
    align-items: flex-start !important;
  }

  .align-items-md-end {
    align-items: flex-end !important;
  }

  .align-items-md-center {
    align-items: center !important;
  }

  .align-items-md-baseline {
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    align-items: stretch !important;
  }

  .align-content-md-start {
    align-content: flex-start !important;
  }

  .align-content-md-end {
    align-content: flex-end !important;
  }

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

  .align-self-md-start {
    align-self: flex-start !important;
  }

  .align-self-md-end {
    align-self: flex-end !important;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .align-self-md-baseline {
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    align-self: stretch !important;
  }

  .order-md-first {
    order: -1 !important;
  }

  .order-md-0 {
    order: 0 !important;
  }

  .order-md-1 {
    order: 1 !important;
  }

  .order-md-2 {
    order: 2 !important;
  }

  .order-md-3 {
    order: 3 !important;
  }

  .order-md-4 {
    order: 4 !important;
  }

  .order-md-5 {
    order: 5 !important;
  }

  .order-md-last {
    order: 6 !important;
  }

  .m-md-0 {
    margin: 0 !important;
  }

  .m-md-1 {
    margin: 0.25rem !important;
  }

  .m-md-2 {
    margin: 0.5rem !important;
  }

  .m-md-3 {
    margin: 1rem !important;
  }

  .m-md-4 {
    margin: 1.5rem !important;
  }

  .m-md-5 {
    margin: 3rem !important;
  }

  .m-md-auto {
    margin: auto !important;
  }

  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  .mt-md-0 {
    margin-top: 0 !important;
  }

  .mt-md-1 {
    margin-top: 0.25rem !important;
  }

  .mt-md-2 {
    margin-top: 0.5rem !important;
  }

  .mt-md-3 {
    margin-top: 1rem !important;
  }

  .mt-md-4 {
    margin-top: 1.5rem !important;
  }

  .mt-md-5 {
    margin-top: 3rem !important;
  }

  .mt-md-auto {
    margin-top: auto !important;
  }

  .me-md-0 {
    margin-right: 0 !important;
  }

  .me-md-1 {
    margin-right: 0.25rem !important;
  }

  .me-md-2 {
    margin-right: 0.5rem !important;
  }

  .me-md-3 {
    margin-right: 1rem !important;
  }

  .me-md-4 {
    margin-right: 1.5rem !important;
  }

  .me-md-5 {
    margin-right: 3rem !important;
  }

  .me-md-auto {
    margin-right: auto !important;
  }

  .mb-md-0 {
    margin-bottom: 0 !important;
  }

  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-md-3 {
    margin-bottom: 1rem !important;
  }

  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-md-5 {
    margin-bottom: 3rem !important;
  }

  .mb-md-auto {
    margin-bottom: auto !important;
  }

  .ms-md-0 {
    margin-left: 0 !important;
  }

  .ms-md-1 {
    margin-left: 0.25rem !important;
  }

  .ms-md-2 {
    margin-left: 0.5rem !important;
  }

  .ms-md-3 {
    margin-left: 1rem !important;
  }

  .ms-md-4 {
    margin-left: 1.5rem !important;
  }

  .ms-md-5 {
    margin-left: 3rem !important;
  }

  .ms-md-auto {
    margin-left: auto !important;
  }

  .p-md-0 {
    padding: 0 !important;
  }

  .p-md-1 {
    padding: 0.25rem !important;
  }

  .p-md-2 {
    padding: 0.5rem !important;
  }

  .p-md-3 {
    padding: 1rem !important;
  }

  .p-md-4 {
    padding: 1.5rem !important;
  }

  .p-md-5 {
    padding: 3rem !important;
  }

  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .pt-md-0 {
    padding-top: 0 !important;
  }

  .pt-md-1 {
    padding-top: 0.25rem !important;
  }

  .pt-md-2 {
    padding-top: 0.5rem !important;
  }

  .pt-md-3 {
    padding-top: 1rem !important;
  }

  .pt-md-4 {
    padding-top: 1.5rem !important;
  }

  .pt-md-5 {
    padding-top: 3rem !important;
  }

  .pe-md-0 {
    padding-right: 0 !important;
  }

  .pe-md-1 {
    padding-right: 0.25rem !important;
  }

  .pe-md-2 {
    padding-right: 0.5rem !important;
  }

  .pe-md-3 {
    padding-right: 1rem !important;
  }

  .pe-md-4 {
    padding-right: 1.5rem !important;
  }

  .pe-md-5 {
    padding-right: 3rem !important;
  }

  .pb-md-0 {
    padding-bottom: 0 !important;
  }

  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-md-3 {
    padding-bottom: 1rem !important;
  }

  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-md-5 {
    padding-bottom: 3rem !important;
  }

  .ps-md-0 {
    padding-left: 0 !important;
  }

  .ps-md-1 {
    padding-left: 0.25rem !important;
  }

  .ps-md-2 {
    padding-left: 0.5rem !important;
  }

  .ps-md-3 {
    padding-left: 1rem !important;
  }

  .ps-md-4 {
    padding-left: 1.5rem !important;
  }

  .ps-md-5 {
    padding-left: 3rem !important;
  }

  .text-md-start {
    text-align: left !important;
  }

  .text-md-end {
    text-align: right !important;
  }

  .text-md-center {
    text-align: center !important;
  }
  .ec-progressFlowPicture {
    line-height: 1;
    display: table;
    table-layout: fixed;
    width: 500px;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item {
    display: table-cell;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #bbb;
    position: absolute;
    top: 47.5px;
    left: 50%;
    z-index: -1;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item:last-child:after {
    display: none;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item.is-current .ec-progressFlowPicture__number {
    background-color: #888;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item.is-current .ec-progressFlowPicture__label {
    opacity: 1;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__number {
    display: inline-block;
    background-color: var(--clrNoactive, #DBDBDB);
    color: #fff;
    width: 95px;
    height: 95px;
    text-align: center;
    border-radius: 50%;
    margin-bottom: 0.5em;
    border: solid 5px #fff;
    box-sizing: border-box;
    font-family: "Poppins";
    font-size: 16px;
    padding-top: 14.25px;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__image {
    width: 50px;
    position: absolute;
    top: 41.8px;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__image img {
    width: 100%;
    height: auto;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__label {
    font-size: 11px;
    padding: 0;
    white-space: nowrap;
    opacity: 0.5;
  }
}
@media only screen and (min-width: 768px) {
  .dl_table.type_order > dl {
    background: none !important;
  }
  .dl_table.type_order > dl > dt {
    flex: 0 0 auto;
    width: 15em;
  }
  .dl_table.type_delivery > dl > dt {
    width: 20%;
    white-space: nowrap;
  }
  .dl_table.type_delivery > dl > dd:last-of-type {
    margin-left: auto;
    margin-right: 0;
  }
  .ec-newsListItem > .inner {
    display: grid;
  }
  .ec-newsListItem .image {
    order: 1;
  }
  .ec-newsListItem .tag {
    order: 2;
  }
  .ec-newsListItem .date {
    order: 3;
  }
  .ec-newsListItem .title {
    order: 4;
  }
  .ec-newpostTopTopicsRole .slideScroll {
    display: none;
  }
  .ec-productRole__visual .ec-productVisualNav.sphone {
    display: none;
  }
  .ec-productRole .ec-productRole__feature .feature_content {
    display: none;
    opacity: 0;
    visibility: hidden;
    animation: fadeOut 300 linear 0s;
  }
  .ec-productRole .ec-productRole__feature .feature_content.is-active {
    display: block;
    opacity: 1;
    visibility: visible;
    animation: fadeIn 300ms linear 0s;
  }
  .ec-productRole .ec-productRole__feature .feature_toggle {
    display: none;
  }
  .ec-ecpCartRole .pointAnnounce.sphone {
    display: none;
  }
  .ec-ecpCartRole .ec-ecpCartRole__util.sphone {
    display: none;
  }
  .ec-orderReceipt .ecp_form_group .ec-input, .ec-orderReceipt .ecp_form_group .ec-halfInput, .ec-orderReceipt .ecp_form_group .ec-numberInput, .ec-orderReceipt .ecp_form_group .ec-zipInput, .ec-orderReceipt .ecp_form_group .ec-telInput {
    display: flex;
    align-items: center;
  }
  .ec-orderReceipt .ecp_form_group .ec-input label, .ec-orderReceipt .ecp_form_group .ec-halfInput label, .ec-orderReceipt .ecp_form_group .ec-numberInput label, .ec-orderReceipt .ecp_form_group .ec-zipInput label, .ec-orderReceipt .ecp_form_group .ec-telInput label {
    margin: 0;
    width: 6rem;
  }
  .ec-orderReceipt .ecp_form_group .ec-input input, .ec-orderReceipt .ecp_form_group .ec-halfInput input, .ec-orderReceipt .ecp_form_group .ec-numberInput input, .ec-orderReceipt .ecp_form_group .ec-zipInput input, .ec-orderReceipt .ecp_form_group .ec-telInput input {
    width: 20em;
  }
  .ec-orderReceipt .ecp_form_group .ec-input + p, .ec-orderReceipt .ecp_form_group .ec-halfInput + p, .ec-orderReceipt .ecp_form_group .ec-numberInput + p, .ec-orderReceipt .ecp_form_group .ec-zipInput + p, .ec-orderReceipt .ecp_form_group .ec-telInput + p {
    margin-left: 6rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px) {
  html {
    font-size: 15px;
  }
  .ec-debugRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-debugRole {
    margin-top: 7.812vw;
  }
  .ec-article .ec-stickout {
    margin-inline: -3.906vw;
    padding: 3.906vw;
  }
  .ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
    /*
    // 背景に色がある場合はネガティブマージンによる左右余白相殺で背景色をブラウザ幅フルに
    margin-left: $padding-tablet * -1;
    margin-right: $padding-tablet * -1;
    margin-top: 0;
    padding: $padding-tablet;
    */
    font-size: 1.6rem;
  }
  .ec-reportHeading {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-secHeading {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-borderedDefs > dl:nth-of-type(n+2) {
    margin-top: 2.601396vw;
    margin-bottom: 2.601396vw;
  }
  .ec-borderedDefs.horizon > dl {
    display: flex;
    align-items: center;
  }
  .ec-borderedDefs.horizon > dl > dt,
.ec-borderedDefs.horizon > dl > dd {
    margin: 0;
    padding: 0;
  }
  .ec-borderedDefs.horizon > dl > dt {
    flex: 0 0 33%;
  }
  .ec-borderedDefs.horizon > dl > dd {
    flex: 0 1 auto;
  }
  .ec-blockBtn--action {
    width: 280px;
  }
  .ec-blockBtn--cancel {
    width: 280px;
  }
  .ec-blockBtn--home {
    width: 280px;
  }
  .ec-blockBtn--login {
    width: 280px;
  }
  .ec-blockBtn--entry {
    width: 280px;
  }
  .ec-blockBtn--guest {
    width: 280px;
  }
  .ec-blockBtn--refusal {
    width: 280px;
  }
  .ec-blockBtn--refusal_do {
    width: 280px;
  }
  .ec-pageGoBack {
    margin-top: 3.906vw;
  }
  .ec-closeBtn--circle {
    top: 3.906vw;
    right: 3.906vw;
  }
  .ec-variableForm {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-off2Grid,
.ec-off3Grid,
.ec-off4Grid {
    display: block;
    margin: 0;
  }
  .ec-off2Grid .ec-off2Grid__cell,
.ec-off2Grid .ec-off3Grid__cell,
.ec-off2Grid .ec-off4Grid__cell,
.ec-off3Grid .ec-off2Grid__cell,
.ec-off3Grid .ec-off3Grid__cell,
.ec-off3Grid .ec-off4Grid__cell,
.ec-off4Grid .ec-off2Grid__cell,
.ec-off4Grid .ec-off3Grid__cell,
.ec-off4Grid .ec-off4Grid__cell {
    width: 450px;
    margin: 0 auto;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__login {
    margin-left: -3.906vw;
    margin-right: -3.906vw;
    padding: 3.906vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest:before {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .box .ec-blockBtn--guest {
    margin-left: auto;
    margin-right: auto;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .box:nth-child(n+2) {
    margin-top: 3.906vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner .box:nth-child(n+2) {
    margin-top: 3.906vw;
  }
  .ec-totalBox {
    padding: 20px;
  }
  body.LC_Page_Checkout_Member .ec-amazonpayLogin, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin {
    padding: 3.906vw;
    padding-top: 0;
  }
  .ec-cookieConsentRole .ec-cookieConsentRole__inner {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-mypageRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-mypageRole .ec-mypageReport {
    margin-top: 2.601396vw;
    margin-bottom: 2.601396vw;
  }
  .ec-mypageNavRole {
    display: none;
  }
  .ec-mypageIndexRole ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    margin-top: 0px;
  }
  .ec-mypageIndexRole ul > * {
    flex: 0 0 auto;
    width: calc((100% - 0px ) / 2);
    margin-left: 0px;
    margin-top: 0px;
  }
  .ec-mypageIndexRole ul > *:nth-child(2n+1) {
    margin-left: 0;
  }
  .ec-progressFlow {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-progressAction {
    margin-top: 3.906vw;
  }
  .ec-progressAction .ec-progressAction__message {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-progressAction .ecp_form_group {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-progressAction .ec-progressAction__actions {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-progressAction .ec-progressAction__actions > *:nth-child(n+2) {
    margin-left: 20px;
  }
  .ec-dropSelect .ec-dropSelect__body {
    padding: 3.906vw;
  }
  .ec-dropSelect .closeBtn {
    top: 3.906vw;
    right: 3.906vw;
  }
  .ec-layoutRole .ec-layoutRole__contentBottom {
    padding-top: 3.906vw;
  }
  .ec-layoutRole__contents.col_2 {
    /*
    // 左カラム（非表示）
    .ec-layoutRole__left {
      display: none;
    }
    */
  }
  .ec-role {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-headerRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-headerRole {
    height: 64px;
    padding: 0;
  }
  .ec-headerRole .ec-headerRole__left {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-start;
  }
  .ec-headerRole .ec-headerRole__center {
    display: none;
  }
  .ec-headerRole .ec-headerRole__right {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    padding-right: 10px;
  }
  .ec-headerTitle {
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .ec-headerTitle a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
  }
  .ec-headerTitle a img {
    height: 33px;
    margin-top: 3px;
  }
  .ec-headerMenu .ec-headerMenu__itemPopup {
    display: none;
  }
  .ec-headerSearch .ec-headerSearch__inner {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-headerSearch .ec-headerSearch__inner {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-headerSearch .ec-headerSearch__util {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a {
    top: 3.906vw;
    right: 3.906vw;
  }
  .ec-footerGuide .ec-footerGuide__wrap {
    display: flex;
  }
  .ec-footerGuide .ec-footerGuide__item {
    flex: 0 0 50%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 3.906vw;
  }
  .ec-footerContactRole .content1,
.ec-footerContactRole .content2 {
    margin-top: 2rem;
    text-align: center;
  }
  .ec-footerContactRole .content1 .box1,
.ec-footerContactRole .content2 .box1 {
    font-size: 0.75rem;
  }
  .ec-footerContactRole .content1 .box2,
.ec-footerContactRole .content2 .box2 {
    margin-top: 0.5em;
  }
  .ec-footerGuide2 {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-footerGuide2 {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-footerGuide2 ul {
    display: flex;
    justify-content: center;
  }
  .ec-footerLogoAndSocial {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-footerLogoAndSocial {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-footerNavi {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-footerTitle {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-footerTitle {
    padding-top: 5.859vw;
    padding-bottom: 5.859vw;
  }
  .ec-topicPathRole {
    padding: 0.5em 10px;
  }
  .ec-megamenu .ec-megamenu__body {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-megamenu .ec-megamenu__body {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-drawerButton {
    width: 64px;
    height: 64px;
    padding: 22px;
  }
  .ec-drawerRole {
    max-width: 400px;
    height: calc(100vh - 64px);
    top: 64px;
  }
  .ec-overlayRole {
    height: calc(100vh - 64px);
    top: 64px;
  }
  .ec-drawerMenu .nav_item > a {
    padding-left: 3.906vw;
    font-size: 1rem;
  }
  .ec-drawerMenu .nav_item.has-child ul.child {
    margin-inline: 3.906vw;
  }
  .ec-drawerMember {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-drawerMember {
    padding-top: 3.906vw;
    padding-bottom: 3.906vw;
  }
  .ec-drawerGuide {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-drawerGuide {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-drawerBanner {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-drawerBanner {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-slickShift .slick-list {
    transform: translateX(3.906vw);
  }
  .ec-newpostTopNewsRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-newpostTopNewsRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-newpostTopNewsRole .ec-newpostTopNewsRole__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
  .ec-newpostTopNewsRole .btnbox {
    margin-top: 3.906vw;
  }
  .ec-newsListRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-newsListRole .ec-newsListRole__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 35px;
         column-gap: 35px;
    row-gap: 30px;
  }
  .ec-newpostTopTopicsRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-newpostTopTopicsRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > *:nth-child(-n+3) {
    grid-column: span 4;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > *:nth-child(n+4) {
    grid-column: span 3;
  }
  .ec-newpostTopTopicsRole .slideScroll {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-newpostTopTopicsRole .btnbox {
    margin-top: 3.906vw;
  }
  .ec-newpostTopDougaRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-newpostTopDougaRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 15px;
         column-gap: 15px;
    row-gap: 15px;
  }
  .ec-newpostTopDougaRole .btnbox {
    margin-top: 3.906vw;
  }
  .ec-newpostTopOsusumeRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-newpostTopOsusumeRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-newpostTopOsusumeRole .slick-list {
    margin-left: -20px;
    -webkit-clip-path: inset(0 0 0 20px);
            clip-path: inset(0 0 0 20px);
  }
  .ec-newpostTopOsusumeRole .slick-list .slick-slide {
    margin-left: 20px;
  }
  .ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-topRecommendMultiRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topRecommendMultiRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topRecommendMultiRole .ec-topRecommendMultiRole__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
  .ec-topRecommendMultiRole .btnbox {
    margin-top: 3.906vw;
  }
  .ec-topRecommendMultiSlickRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topRecommendMultiSlickRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topRecommendMultiSlickRole .btnbox {
    margin-top: 3.906vw;
  }
  .ec-topPopularItemRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topPopularItemRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topPopularItemRole .ec-topPopularItemRole__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
  .ec-topPopularItemRole .btnbox {
    margin-top: 3.906vw;
  }
  .ec-topCategoryRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topCategoryRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
  .ec-topBrandRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topBrandRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topSeriesRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topSeriesRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topSidemenuRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topSidemenuRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topGiftPriceRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-topGiftPriceRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-topGiftPriceRole {
    padding-top: 5.859vw;
    padding-bottom: 5.859vw;
  }
  .ec-topGiftPriceRole .ec-topGiftPriceRole__list ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
  .ec-searchnavRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-searchnavRole {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-childCategoryRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-childCategoryRole {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-shelfRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-shelfRole {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-shelfGrid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .ec-pagerRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    padding-top: 3.906vw;
    padding-bottom: 3.906vw;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article .ec-article {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-crossSearchRole {
    padding: 3.906vw;
    padding-bottom: 10rem;
  }
  .ec-crossSearchRole .crossSearchClose {
    top: 3.906vw;
    right: 3.906vw;
  }
  .ec-crossSearchRole .ec-crossSearchRole__action {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 1.5rem 3.906vw;
    margin: 0;
  }
  .ec-crossSearchRole .ec-crossSearchRole__action > .inner {
    max-width: 500px;
    margin: 0 auto;
  }
  .ec-crossSearchItem .item_dialog .dialog {
    top: 50%;
    left: 50%;
    width: 80vw;
    max-height: 70vh;
    transform: translate(-50%, -50%);
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_body {
    padding: 1rem 3rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_body .item.item_parent {
    grid-column-end: span 2;
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_close {
    font-size: 30px;
  }
  .ec-categoryRankingRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-categoryRankingRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-categoryRankingRole {
    padding-bottom: 3.906vw;
  }
  .ec-categoryRankingRole .ec-categoryRankingRole__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
  .ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item:nth-child(n+5) {
    display: none;
  }
  .ec-productRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-productRole .ec-productRole__gridCell.cellLeft {
    margin-left: -3.906vw;
    margin-right: -3.906vw;
  }
  .ec-productRole .ec-productRole__gridCell.cellRight {
    margin-top: 30px;
  }
  .ec-productRole__visual {
    margin: 10px;
    display: grid;
    grid-template-columns: calc((100% - 50px) / 6) auto;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .ec-productRole__visual .ec-productVisualNav {
    order: 1;
  }
  .ec-productRole__visual .ec-productVisualNav .slideThumb {
    margin-bottom: 10px;
  }
  .ec-productRole__visual .ec-productVisualMain {
    order: 2;
  }
  .ec-productRole__visual .sideInNavToggleBtn {
    display: none;
  }
  .ec-productRole .ec-productRole__utilBox {
    margin-left: -3.906vw !important;
    margin-right: -3.906vw !important;
  }
  .ec-productRole .ec-productRole__feature {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-productReviewPostRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-cloneCartinRole {
    padding: 30px 3.906vw;
  }
  .ec-productReviewRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-productReviewRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-productReviewRole .ec-productReviewRole__content {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-productReviewRole .ec-productReviewRole__content {
    -moz-columns: 2 auto;
         columns: 2 auto;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
  .ec-productsDetailRelatedRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-productsDetailRelatedRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-productsDetailRelatedRole .ec-productsDetailRelatedRole__list {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .ec-productsDetailAlsoBoughtRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-productsDetailAlsoBoughtRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-productsDetailAlsoBoughtRole .ec-productsDetailAlsoBoughtRole__list {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .ec_recentlyViewedProductsRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec_recentlyViewedProductsRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-ecpCartRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-ecpCartRole .ec-ecpCartRole__detail {
    flex: 1 1 auto;
    padding-right: 30px;
  }
  .ec-ecpCartRole .ec-ecpCartRole__summary {
    flex: 0 0 250px;
  }
  .ec-orderRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-orderAccount,
.ec-orderDelivery,
.ec-orderPayment,
.ec-orderPoint,
.ec-orderCoupon,
.ec-orderMessage,
.ec-orderKiyaku,
.ec-orderNoshi,
.ec-orderWrapping,
.ec-orderReceipt {
    margin-top: 2.601396vw;
    margin-bottom: 2.601396vw;
  }
  .ec-orderNoshi .ec-orderNoshi__layout,
.ec-orderNoshi .ec-orderWrapping__layout,
.ec-orderWrapping .ec-orderNoshi__layout,
.ec-orderWrapping .ec-orderWrapping__layout {
    display: grid;
    grid-template-columns: 50% 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
  .ec-orderNoshi .ec-orderNoshi__image,
.ec-orderNoshi .ec-orderWrapping__image,
.ec-orderWrapping .ec-orderNoshi__image,
.ec-orderWrapping .ec-orderWrapping__image {
    padding: 10px;
    grid-template-columns: repeat(3, 1fr);
  }
  .ec-orderConfirmRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-orderConfirmCart {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-creditRole .ec-creditRole__enter {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-creditRole .ec-creditEnter {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-creditRole .ec-creditRole__footer {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-orderCompleteRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-confirmCancelMessage {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-confirmRegularlyMessage {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-historyShipping {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-orderMails {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-forgotRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-registerRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-contactRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-customerRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-customerRole #shipping_form_area {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-404Role .ec-off4Grid {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-404Role .ec-off4Grid {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-notFoundRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-withdrawRole {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-helpRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-helpGridRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-helpIndexRole {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 3.906vw;
         column-gap: 3.906vw;
  }
  .noshiList {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
  .ec-helpMapRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-faqIndexRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-faqSearch {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-faqCategory {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-faqCategory ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 3.906vw;
         column-gap: 3.906vw;
  }
  .ec-faqList {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-article__blog.style_11 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    row-gap: 3vw;
  }
  .ec-article__blog.style_11 .item > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_11 .item > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_11 .item h2, .ec-article__blog.style_11 .item .h2, .ec-article__blog.style_11 .item h3, .ec-article__blog.style_11 .item .h3, .ec-article__blog.style_11 .item h4, .ec-article__blog.style_11 .item .h4, .ec-article__blog.style_11 .item h5, .ec-article__blog.style_11 .item .h5 {
    margin: 1rem 0 0.5rem;
  }
  .ec-article__blog.style_11 .item p {
    margin-top: 0.5rem;
    line-height: 1.5;
  }
  .ec-article__blog.style_12 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    row-gap: 3vw;
  }
  .ec-article__blog.style_12 .item > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_12 .item > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_12 .item h2, .ec-article__blog.style_12 .item .h2, .ec-article__blog.style_12 .item h3, .ec-article__blog.style_12 .item .h3, .ec-article__blog.style_12 .item h4, .ec-article__blog.style_12 .item .h4, .ec-article__blog.style_12 .item h5, .ec-article__blog.style_12 .item .h5 {
    margin: 1rem 0 0.5rem;
  }
  .ec-article__blog.style_12 .item p {
    margin-top: 0.5rem;
    line-height: 1.5;
  }
  .ec-article__blog.style_13 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 3vw;
         column-gap: 3vw;
    row-gap: 3vw;
  }
  .ec-article__blog.style_13 .item > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_13 .item > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_13 .item h2, .ec-article__blog.style_13 .item .h2, .ec-article__blog.style_13 .item h3, .ec-article__blog.style_13 .item .h3, .ec-article__blog.style_13 .item h4, .ec-article__blog.style_13 .item .h4, .ec-article__blog.style_13 .item h5, .ec-article__blog.style_13 .item .h5 {
    margin: 1rem 0 0.5rem;
  }
  .ec-article__blog.style_13 .item p {
    margin-top: 0.5rem;
    line-height: 1.5;
  }
  .ec-blogRole .ec-blogRole__layout {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-blogRole .ec-blogRole__side {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-blogListRole .ec-blogListRole__foot {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-blogShelfGrid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
  .ec-blogDetailRole .ec-blogDetailRole__head .headImage {
    margin-left: -3.906vw;
    margin-right: -3.906vw;
  }
  .ec-blogDetailRole .ec-blogDetailRole__body {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-blogDetailRole .ec-blogDetailRole__share {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-blogSideRole:nth-child(n+2) {
    margin-top: 3.906vw;
    margin-bottom: 3.906vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__question {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__question {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__answer {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__answer {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__search {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__search {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-sitemapRole {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
  .ec-sitemapRole .ec-sitemapRole__item ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0;
  }
  .ec-shopInformationRole {
    margin-top: 5.859vw;
    margin-bottom: 5.859vw;
  }
  .ec-shopInformationRole {
    padding-top: 5.859vw;
    padding-bottom: 5.859vw;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1280px) {
  .ec-progressFlowPicture {
    margin: 0 auto 40px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1279px) {
  .ec-progressFlowPicture {
    margin: 3.906vw auto;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
  .col-lg {
    flex: 1 0 0%;
  }

  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.33333333%;
  }

  .offset-lg-2 {
    margin-left: 16.66666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.33333333%;
  }

  .offset-lg-5 {
    margin-left: 41.66666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.33333333%;
  }

  .offset-lg-8 {
    margin-left: 66.66666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.33333333%;
  }

  .offset-lg-11 {
    margin-left: 91.66666667%;
  }

  .g-lg-0,
.gx-lg-0 {
    --bs-gutter-x: 0;
  }

  .g-lg-0,
.gy-lg-0 {
    --bs-gutter-y: 0;
  }

  .g-lg-1,
.gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-lg-1,
.gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-lg-2,
.gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-lg-2,
.gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-lg-3,
.gx-lg-3 {
    --bs-gutter-x: 1rem;
  }

  .g-lg-3,
.gy-lg-3 {
    --bs-gutter-y: 1rem;
  }

  .g-lg-4,
.gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-lg-4,
.gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-lg-5,
.gx-lg-5 {
    --bs-gutter-x: 3rem;
  }

  .g-lg-5,
.gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }

  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    flex-grow: 1;
    visibility: visible !important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    transform: none;
  }
  .navbar-expand-lg .offcanvas-top,
.navbar-expand-lg .offcanvas-bottom {
    height: auto;
    border-top: 0;
    border-bottom: 0;
  }
  .navbar-expand-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
  .modal-lg,
.modal-xl {
    max-width: 800px;
  }
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .float-lg-start {
    float: left !important;
  }

  .float-lg-end {
    float: right !important;
  }

  .float-lg-none {
    float: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-grid {
    display: grid !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: inline-flex !important;
  }

  .d-lg-none {
    display: none !important;
  }

  .flex-lg-fill {
    flex: 1 1 auto !important;
  }

  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }

  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .gap-lg-0 {
    gap: 0 !important;
  }

  .gap-lg-1 {
    gap: 0.25rem !important;
  }

  .gap-lg-2 {
    gap: 0.5rem !important;
  }

  .gap-lg-3 {
    gap: 1rem !important;
  }

  .gap-lg-4 {
    gap: 1.5rem !important;
  }

  .gap-lg-5 {
    gap: 3rem !important;
  }

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    justify-content: center !important;
  }

  .justify-content-lg-between {
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }

  .align-items-lg-start {
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    align-items: center !important;
  }

  .align-items-lg-baseline {
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    align-items: stretch !important;
  }

  .align-content-lg-start {
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

  .align-self-lg-start {
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    align-self: center !important;
  }

  .align-self-lg-baseline {
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    align-self: stretch !important;
  }

  .order-lg-first {
    order: -1 !important;
  }

  .order-lg-0 {
    order: 0 !important;
  }

  .order-lg-1 {
    order: 1 !important;
  }

  .order-lg-2 {
    order: 2 !important;
  }

  .order-lg-3 {
    order: 3 !important;
  }

  .order-lg-4 {
    order: 4 !important;
  }

  .order-lg-5 {
    order: 5 !important;
  }

  .order-lg-last {
    order: 6 !important;
  }

  .m-lg-0 {
    margin: 0 !important;
  }

  .m-lg-1 {
    margin: 0.25rem !important;
  }

  .m-lg-2 {
    margin: 0.5rem !important;
  }

  .m-lg-3 {
    margin: 1rem !important;
  }

  .m-lg-4 {
    margin: 1.5rem !important;
  }

  .m-lg-5 {
    margin: 3rem !important;
  }

  .m-lg-auto {
    margin: auto !important;
  }

  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  .mt-lg-0 {
    margin-top: 0 !important;
  }

  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }

  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }

  .mt-lg-3 {
    margin-top: 1rem !important;
  }

  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }

  .mt-lg-5 {
    margin-top: 3rem !important;
  }

  .mt-lg-auto {
    margin-top: auto !important;
  }

  .me-lg-0 {
    margin-right: 0 !important;
  }

  .me-lg-1 {
    margin-right: 0.25rem !important;
  }

  .me-lg-2 {
    margin-right: 0.5rem !important;
  }

  .me-lg-3 {
    margin-right: 1rem !important;
  }

  .me-lg-4 {
    margin-right: 1.5rem !important;
  }

  .me-lg-5 {
    margin-right: 3rem !important;
  }

  .me-lg-auto {
    margin-right: auto !important;
  }

  .mb-lg-0 {
    margin-bottom: 0 !important;
  }

  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }

  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }

  .mb-lg-auto {
    margin-bottom: auto !important;
  }

  .ms-lg-0 {
    margin-left: 0 !important;
  }

  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }

  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }

  .ms-lg-3 {
    margin-left: 1rem !important;
  }

  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }

  .ms-lg-5 {
    margin-left: 3rem !important;
  }

  .ms-lg-auto {
    margin-left: auto !important;
  }

  .p-lg-0 {
    padding: 0 !important;
  }

  .p-lg-1 {
    padding: 0.25rem !important;
  }

  .p-lg-2 {
    padding: 0.5rem !important;
  }

  .p-lg-3 {
    padding: 1rem !important;
  }

  .p-lg-4 {
    padding: 1.5rem !important;
  }

  .p-lg-5 {
    padding: 3rem !important;
  }

  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .pt-lg-0 {
    padding-top: 0 !important;
  }

  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }

  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }

  .pt-lg-3 {
    padding-top: 1rem !important;
  }

  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }

  .pt-lg-5 {
    padding-top: 3rem !important;
  }

  .pe-lg-0 {
    padding-right: 0 !important;
  }

  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pe-lg-3 {
    padding-right: 1rem !important;
  }

  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pe-lg-5 {
    padding-right: 3rem !important;
  }

  .pb-lg-0 {
    padding-bottom: 0 !important;
  }

  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }

  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }

  .ps-lg-0 {
    padding-left: 0 !important;
  }

  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }

  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }

  .ps-lg-3 {
    padding-left: 1rem !important;
  }

  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }

  .ps-lg-5 {
    padding-left: 3rem !important;
  }

  .text-lg-start {
    text-align: left !important;
  }

  .text-lg-end {
    text-align: right !important;
  }

  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
  h2, .h2 {
    font-size: 2rem;
  }
  h3, .h3 {
    font-size: 1.75rem;
  }
  h4, .h4 {
    font-size: 1.5rem;
  }
  legend {
    font-size: 1.5rem;
  }
  .display-1 {
    font-size: 5rem;
  }
  .display-2 {
    font-size: 4.5rem;
  }
  .display-3 {
    font-size: 4rem;
  }
  .display-4 {
    font-size: 3.5rem;
  }
  .display-5 {
    font-size: 3rem;
  }
  .display-6 {
    font-size: 2.5rem;
  }
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
  .col-xl {
    flex: 1 0 0%;
  }

  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.33333333%;
  }

  .offset-xl-2 {
    margin-left: 16.66666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.33333333%;
  }

  .offset-xl-5 {
    margin-left: 41.66666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.33333333%;
  }

  .offset-xl-8 {
    margin-left: 66.66666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.33333333%;
  }

  .offset-xl-11 {
    margin-left: 91.66666667%;
  }

  .g-xl-0,
.gx-xl-0 {
    --bs-gutter-x: 0;
  }

  .g-xl-0,
.gy-xl-0 {
    --bs-gutter-y: 0;
  }

  .g-xl-1,
.gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-xl-1,
.gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-xl-2,
.gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-xl-2,
.gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-xl-3,
.gx-xl-3 {
    --bs-gutter-x: 1rem;
  }

  .g-xl-3,
.gy-xl-3 {
    --bs-gutter-y: 1rem;
  }

  .g-xl-4,
.gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-xl-4,
.gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-xl-5,
.gx-xl-5 {
    --bs-gutter-x: 3rem;
  }

  .g-xl-5,
.gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }

  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    flex-grow: 1;
    visibility: visible !important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    transform: none;
  }
  .navbar-expand-xl .offcanvas-top,
.navbar-expand-xl .offcanvas-bottom {
    height: auto;
    border-top: 0;
    border-bottom: 0;
  }
  .navbar-expand-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
  .modal-xl {
    max-width: 1140px;
  }
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .float-xl-start {
    float: left !important;
  }

  .float-xl-end {
    float: right !important;
  }

  .float-xl-none {
    float: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-grid {
    display: grid !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: inline-flex !important;
  }

  .d-xl-none {
    display: none !important;
  }

  .flex-xl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xl-row {
    flex-direction: row !important;
  }

  .flex-xl-column {
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .gap-xl-0 {
    gap: 0 !important;
  }

  .gap-xl-1 {
    gap: 0.25rem !important;
  }

  .gap-xl-2 {
    gap: 0.5rem !important;
  }

  .gap-xl-3 {
    gap: 1rem !important;
  }

  .gap-xl-4 {
    gap: 1.5rem !important;
  }

  .gap-xl-5 {
    gap: 3rem !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    align-self: stretch !important;
  }

  .order-xl-first {
    order: -1 !important;
  }

  .order-xl-0 {
    order: 0 !important;
  }

  .order-xl-1 {
    order: 1 !important;
  }

  .order-xl-2 {
    order: 2 !important;
  }

  .order-xl-3 {
    order: 3 !important;
  }

  .order-xl-4 {
    order: 4 !important;
  }

  .order-xl-5 {
    order: 5 !important;
  }

  .order-xl-last {
    order: 6 !important;
  }

  .m-xl-0 {
    margin: 0 !important;
  }

  .m-xl-1 {
    margin: 0.25rem !important;
  }

  .m-xl-2 {
    margin: 0.5rem !important;
  }

  .m-xl-3 {
    margin: 1rem !important;
  }

  .m-xl-4 {
    margin: 1.5rem !important;
  }

  .m-xl-5 {
    margin: 3rem !important;
  }

  .m-xl-auto {
    margin: auto !important;
  }

  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  .mt-xl-0 {
    margin-top: 0 !important;
  }

  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }

  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }

  .mt-xl-3 {
    margin-top: 1rem !important;
  }

  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }

  .mt-xl-5 {
    margin-top: 3rem !important;
  }

  .mt-xl-auto {
    margin-top: auto !important;
  }

  .me-xl-0 {
    margin-right: 0 !important;
  }

  .me-xl-1 {
    margin-right: 0.25rem !important;
  }

  .me-xl-2 {
    margin-right: 0.5rem !important;
  }

  .me-xl-3 {
    margin-right: 1rem !important;
  }

  .me-xl-4 {
    margin-right: 1.5rem !important;
  }

  .me-xl-5 {
    margin-right: 3rem !important;
  }

  .me-xl-auto {
    margin-right: auto !important;
  }

  .mb-xl-0 {
    margin-bottom: 0 !important;
  }

  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }

  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }

  .mb-xl-auto {
    margin-bottom: auto !important;
  }

  .ms-xl-0 {
    margin-left: 0 !important;
  }

  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }

  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }

  .ms-xl-3 {
    margin-left: 1rem !important;
  }

  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }

  .ms-xl-5 {
    margin-left: 3rem !important;
  }

  .ms-xl-auto {
    margin-left: auto !important;
  }

  .p-xl-0 {
    padding: 0 !important;
  }

  .p-xl-1 {
    padding: 0.25rem !important;
  }

  .p-xl-2 {
    padding: 0.5rem !important;
  }

  .p-xl-3 {
    padding: 1rem !important;
  }

  .p-xl-4 {
    padding: 1.5rem !important;
  }

  .p-xl-5 {
    padding: 3rem !important;
  }

  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .pt-xl-0 {
    padding-top: 0 !important;
  }

  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }

  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }

  .pt-xl-3 {
    padding-top: 1rem !important;
  }

  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }

  .pt-xl-5 {
    padding-top: 3rem !important;
  }

  .pe-xl-0 {
    padding-right: 0 !important;
  }

  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pe-xl-3 {
    padding-right: 1rem !important;
  }

  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pe-xl-5 {
    padding-right: 3rem !important;
  }

  .pb-xl-0 {
    padding-bottom: 0 !important;
  }

  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }

  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }

  .ps-xl-0 {
    padding-left: 0 !important;
  }

  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }

  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }

  .ps-xl-3 {
    padding-left: 1rem !important;
  }

  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }

  .ps-xl-5 {
    padding-left: 3rem !important;
  }

  .text-xl-start {
    text-align: left !important;
  }

  .text-xl-end {
    text-align: right !important;
  }

  .text-xl-center {
    text-align: center !important;
  }
  .fs-1 {
    font-size: 2.5rem !important;
  }

  .fs-2 {
    font-size: 2rem !important;
  }

  .fs-3 {
    font-size: 1.75rem !important;
  }

  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media only screen and (min-width: 1280px) {
  html {
    font-size: 15px;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  .ec-debugRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-debugRole, .ec-layoutRole__mainBetweenColumn .ec-debugRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-debugRole {
    margin-top: 80px;
  }
  .ec-article .ec-stickout {
    margin-inline: calc(50% - 50cqi);
    padding-inline: calc(50cqi - 50%);
    padding-top: 40px;
    padding-bottom: 40px;
  }
  *.col_2 .ec-article .ec-stickout {
    margin-inline: 0;
    padding-inline: 1.5rem;
  }
  .ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
    font-size: 2.53rem;
    padding: 0.78em 0;
    margin-top: 70px;
    margin-bottom: 50px;
  }
  .ec-heading {
    font-size: 1.4rem;
  }
  .ec-reportHeading {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-secHeading {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-secHeading {
    margin-bottom: 35px;
  }
  .ec-issueCoupon .coupon_body {
    margin: 60px 0;
    padding: 2rem;
  }
  .ec-issueCoupon .coupon_body .code {
    font-size: 2.53rem;
  }
  .ec-reportDescription {
    text-align: center;
  }
  .ec-borderedDefs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .ec-borderedDefs > dl:not(.halfbox) {
    grid-column: span 2;
  }
  .ec-borderedDefs > dl:nth-of-type(n+2) {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-borderedDefs > dl.withBorder {
    margin-top: 50px;
    padding-top: 80px;
  }
  .ec-borderedDefs.horizon > dl {
    display: flex;
    align-items: center;
    padding: 1.5rem 0;
  }
  .ec-borderedDefs.horizon > dl > dt,
.ec-borderedDefs.horizon > dl > dd {
    margin: 0;
    padding: 0;
  }
  .ec-borderedDefs.horizon > dl > dt {
    flex: 0 0 25%;
  }
  .ec-borderedDefs.horizon > dl > dd {
    flex: 0 1 auto;
    font-size: 1.066rem;
  }
  .ec-blockBtn--action {
    width: 368px;
  }
  .ec-blockBtn--cancel {
    width: 368px;
  }
  .ec-blockBtn--home {
    width: 368px;
  }
  .ec-blockBtn--login {
    width: 368px;
  }
  .ec-blockBtn--entry {
    width: 368px;
  }
  .ec-blockBtn--guest {
    width: 368px;
  }
  .ec-blockBtn--refusal {
    width: 368px;
  }
  .ec-blockBtn--refusal_do {
    width: 368px;
  }
  .ec-pageGoBack {
    margin-top: 40px;
  }
  .ec-closeBtn--circle {
    top: 40px;
    right: 40px;
  }
  .ec-input input, .ec-telInput input, .ec-zipInput input, .ec-numberInput input, .ec-halfInput input {
    font-size: 1rem;
    padding: 0.9em 1em;
  }
  .ec-input textarea, .ec-telInput textarea, .ec-zipInput textarea, .ec-numberInput textarea, .ec-halfInput textarea {
    font-size: 1rem;
    padding: 0.9em 1em;
  }
  .ec-input + p, .ec-telInput + p, .ec-zipInput + p, .ec-numberInput + p, .ec-halfInput + p,
.ec-birth + p,
.ec-radio + p,
.ec-blockRadio + p {
    margin-top: 1.5rem;
  }
  .ec-halfInput > .input_item {
    width: calc(( 100% - 40px ) / 2);
    margin-left: 40px;
  }
  .ec-select select, .ec-birth select {
    font-size: 1rem;
    padding: 0.9em 1em;
  }
  .ec-reminderInput {
    display: flex;
    justify-content: flex-start;
  }
  .ec-reminderInput > .ec-select, .ec-reminderInput > .ec-birth,
.ec-reminderInput > .ec-input,
.ec-reminderInput > .ec-halfInput,
.ec-reminderInput > .ec-numberInput,
.ec-reminderInput > .ec-zipInput,
.ec-reminderInput > .ec-telInput {
    margin: 0;
    width: calc(( 100% - 40px ) / 2);
    margin-left: 40px;
  }
  .ec-reminderInput > .ec-select:first-of-type, .ec-reminderInput > .ec-birth:first-of-type,
.ec-reminderInput > .ec-input:first-of-type,
.ec-reminderInput > .ec-halfInput:first-of-type,
.ec-reminderInput > .ec-numberInput:first-of-type,
.ec-reminderInput > .ec-zipInput:first-of-type,
.ec-reminderInput > .ec-telInput:first-of-type {
    margin-left: 0;
  }
  .ec-select .customer-address_pref input, .ec-birth .customer-address_pref input {
    font-size: 1rem;
    padding: 0.9em 1em;
  }
  .ec-variableForm {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-grid2 {
    display: flex;
    justify-content: center;
  }
  .ec-grid2 .ec-grid2__cell {
    width: 50%;
  }
  .ec-grid2 .ec-grid2__cell2 {
    width: 100%;
  }
  .ec-grid3 {
    display: flex;
    justify-content: center;
  }
  .ec-grid3 .ec-grid3__cell {
    width: 33.3333333333%;
  }
  .ec-grid3 .ec-grid3__cell2 {
    width: 66.6666666667%;
  }
  .ec-grid3 .ec-grid3__cell3 {
    width: 100%;
  }
  .ec-grid4 {
    display: flex;
    justify-content: center;
  }
  .ec-grid4 .ec-grid4__cell {
    width: 25%;
  }
  .ec-grid6 {
    display: flex;
    justify-content: center;
  }
  .ec-grid6 .ec-grid6__cell {
    width: 16.6666666667%;
  }
  .ec-grid6 .ec-grid6__cell2 {
    width: 33.3333333333%;
  }
  .ec-grid6 .ec-grid6__cell3 {
    width: 50%;
  }
  .ec-off2Grid {
    display: flex;
    justify-content: center;
  }
  .ec-off2Grid .ec-off2Grid__cell {
    min-height: 1px;
  }
  .ec-off3Grid {
    display: flex;
    justify-content: center;
  }
  .ec-off3Grid .ec-off3Grid__cell {
    min-height: 1px;
  }
  .ec-off4Grid {
    display: flex;
    justify-content: center;
  }
  .ec-off4Grid .ec-off4Grid__cell {
    min-height: 1px;
  }
  .ec-loginRole .ec-loginRole__guest {
    margin-top: 60px;
    padding-top: 60px;
  }
  .ec-loginRole h3, .ec-loginRole .h3 {
    margin-bottom: 2em;
  }
  .ec-loginRole .ec-loginRole__input {
    display: flex;
    justify-content: flex-start;
  }
  .ec-loginRole .ec-loginRole__input > dl {
    margin: 0;
    width: calc(( 100% - 40px ) / 2);
    margin-left: 40px;
  }
  .ec-loginRole .ec-loginRole__input > dl:first-of-type {
    margin-left: 0;
  }
  .ec-loginRole .ec-loginRole__input > dl:nth-child(n+2) {
    margin-top: 0;
  }
  .ec-loginRole .ec-list-rice {
    margin-top: 2rem;
  }
  .ec-loginRole .ec-blockBtn--login,
.ec-loginRole .ec-blockBtn--entry,
.ec-loginRole .ec-blockBtn--guest {
    margin-top: 60px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__login {
    padding: 40px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__input > dl:nth-of-type(n+2) {
    margin-top: 1.5rem;
  }
  .ec-shoppingLoginRole .caution {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
  }
  .ec-shoppingLoginRole .ec-blockBtn--action {
    width: 370px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest:before {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner {
    display: flex;
    justify-content: center;
    margin-top: 60px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .box {
    flex: 0 0 auto;
    width: 370px;
    display: flex;
    flex-flow: column;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .box .action {
    margin: auto 0 0;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .box:nth-child(n+2) {
    margin-left: 40px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other {
    margin-top: 80px;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner {
    max-width: 600px;
    margin: 0 auto;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner .box:nth-child(n+2) {
    margin-top: 40px;
  }
  .ec-pager {
    margin-top: 60px;
  }
  .ec-totalBox {
    padding: 25px;
  }
  body.LC_Page_Checkout_Member .ec-amazonpayLogin, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin {
    padding: 40px;
    padding-top: 0;
  }
  .ec-amazonpayConfirmBox .ec-borderedDefs {
    margin-top: 2rem;
    padding-inline: 1rem;
  }
  .ec-cookieConsentRole {
    padding: 2rem 0;
  }
  .ec-cookieConsentRole .ec-cookieConsentRole__inner {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-cookieConsentRole .ec-cookieConsentRole__inner, .ec-layoutRole__mainBetweenColumn .ec-cookieConsentRole .ec-cookieConsentRole__inner {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-mypageRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-mypageRole, .ec-layoutRole__mainBetweenColumn .ec-mypageRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-mypageRole {
    display: flex;
  }
  .ec-mypageRole .ec-mypageRole__nav {
    flex: 0 0 auto;
    width: 265px;
    margin-right: 80px;
  }
  .ec-mypageRole .ec-mypageRole__body {
    flex: 1 1 auto;
  }
  .ec-logoutBtn {
    font-size: 0.733rem;
  }
  .ec-mypageRole {
    margin-top: 60px;
  }
  .ec-mypageRole .ec-pageHeader h1, .ec-mypageRole .ec-pageHeader .h1 {
    font-size: 1.866rem;
    padding: 0;
    margin: 0;
    margin-bottom: 80px;
  }
  .ec-mypageRole .ec-mypageReport {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-mypageRole .ec-mypageReport {
    margin: 80px 0;
  }
  .ec-mypageIndexRole ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    margin-top: 0px;
  }
  .ec-mypageIndexRole ul > * {
    flex: 0 0 auto;
    width: calc((100% - 0px ) / 3);
    margin-left: 0px;
    margin-top: 0px;
  }
  .ec-mypageIndexRole ul > *:nth-child(3n+1) {
    margin-left: 0;
  }
  .ec-mypageIndexRole ul li a {
    padding: 40px 40px;
  }
  .ec-newsletterRole {
    max-width: 800px;
    margin: 0 auto;
  }
  .ec-newsletterRole .content2 .ec-input, .ec-newsletterRole .content2 .ec-halfInput, .ec-newsletterRole .content2 .ec-numberInput, .ec-newsletterRole .content2 .ec-zipInput, .ec-newsletterRole .content2 .ec-telInput {
    font-size: 1.33rem;
  }
  .ec-progressFlow {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-progressFlow {
    margin: 100px auto;
  }
  .ec-progressAction {
    margin-top: 70px;
  }
  .ec-progressAction .ec-progressAction__message {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-progressAction .ecp_form_group {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-progressAction .ec-progressAction__actions {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-progressAction .ec-progressAction__actions > *:nth-child(n+2) {
    margin-left: 30px;
  }
  .ec-dropSelect .ec-dropSelect__body {
    padding: 40px;
  }
  .ec-dropSelect .ec-dropSelect__select {
    max-width: none;
  }
  .ec-dropSelect .ec-dropSelect__select > ul,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox {
    margin-top: -10px;
    margin-left: -10px;
    text-align: center;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li {
    display: inline-block;
    padding: 1em 2.25em;
    border: solid 1px var(--clrBorderColor, #D4D4D4);
    border-radius: 2em;
    text-align: center;
    margin-top: 10px;
    margin-left: 10px;
    cursor: pointer;
    position: relative;
    transition: 0.3s;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li:after,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li:after {
    font-family: "ecpfont";
    content: "\e913";
    font-size: 1.25em;
    position: absolute;
    top: calc(50% - 0.6em);
    right: 0.5em;
    opacity: 0;
    transition: 0.3s;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li.selected,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li.selected {
    pointer-events: none;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li.selected:after,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li.selected:after {
    opacity: 1;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li:not(.is-disabled):hover,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li:not(.is-disabled):hover {
    background-color: rgba(0, 0, 0, 0.03);
  }
  .ec-dropSelect .ec-dropSelect__select > ul li:not(.is-disabled):hover:after,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li:not(.is-disabled):hover:after {
    opacity: 0.3;
  }
  .ec-dropSelect .closeBtn {
    top: 40px;
    right: 40px;
  }
  .ec-layoutRole .ec-layoutRole__contentBottom {
    padding-top: 100px;
  }
  .ec-layoutRole__contents.col_2 {
    margin-left: auto;
    margin-right: auto;
    box-sizing: content-box;
    width: auto !important;
    max-width: 1280px;
    padding-left: 40px;
    padding-right: 40px;
    max-width: 1200px;
    width: 100% !important;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: 196px auto;
    -moz-column-gap: 45px;
         column-gap: 45px;
  }
  .ec-layoutRole__contents.col_2 .ec-layoutRole__mainWithColumn {
    order: 2;
    /*
    2カラムレイアウト時にslickスライダーを含むコンテンツがある場合、slickスライダーが正常に生成されない問題があります。
    この場合、gridボックスに「min-height:0; と min-width:0;」を入れておくと動作する様子です。
    */
    min-width: 0;
    min-height: 0;
  }
  .ec-layoutRole__contents.col_2 .ec-layoutRole__left {
    order: 1;
    min-width: 0;
    min-height: 0;
  }
  .ec-layoutRole__contents.col_2 .ec-layoutRole__left > * {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
    width: 100%;
  }
  .ec-role {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-role, .ec-layoutRole__mainBetweenColumn .ec-role {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-layoutRole__header {
    height: 70px;
    pointer-events: none;
  }
  .ec-layoutRole__header > * {
    pointer-events: auto;
  }
  .ec-headerRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-headerRole, .ec-layoutRole__mainBetweenColumn .ec-headerRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-headerRole {
    height: 70px;
    /* 各ボタンなど改行されないよう幅調整をしてください（中央枠のサイズを決定してそれをもとに、左枠と右枠の幅が同一になるようにして中央枠をセンタリングしています） */
  }
  .ec-headerRole .ec-headerRole__left {
    flex: 1 1 15%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .ec-headerRole .ec-headerRole__center {
    flex: 1 1 70%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .ec-headerRole .ec-headerRole__right {
    flex: 1 1 15%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .ec-headerTitle {
    height: 100%;
  }
  .ec-headerTitle a {
    display: flex;
    height: 100%;
    justify-content: flex-start;
    align-items: center;
    padding: 3px 0;
  }
  .ec-headerTitle a img {
    width: auto;
    height: 100%;
    max-height: var(--headerLogoHeight, 32px);
  }
  .ec-headerMenu .ec-headerMenu__item {
    padding: 0 3px;
  }
  .ec-headerMenu .ec-headerMenu__itemIcon {
    font-size: 22px;
  }
  .ec-headerSearch .ec-headerSearch__inner {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-headerSearch .ec-headerSearch__inner, .ec-layoutRole__mainBetweenColumn .ec-headerSearch .ec-headerSearch__inner {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-headerSearch .ec-headerSearch__inner {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-headerSearch .ec-headerSearch__wrap {
    display: flex;
  }
  .ec-headerSearch .ec-headerSearch__wrap > * {
    flex: 1 0 auto;
  }
  .ec-headerSearch .ec-headerSearch__wrap > *:nth-child(n+2) {
    margin-left: 1rem;
  }
  .ec-headerSearch .ec-headerSearch__wrap > * .select_ui {
    width: 100%;
  }
  .ec-headerSearch .ec-headerSearch__label {
    font-size: 1rem;
  }
  .ec-headerSearch .ec-headerSearch__util {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a {
    top: 40px;
    right: 40px;
  }
  .ec-layoutRole .ec-layoutRole__header .ec-headerRole {
    transition: 0.3s;
  }
  .ec-layoutRole .ec-layoutRole__header .ec-headerRole:after {
    transition: 0.3s;
  }
  body.scrolled .ec-layoutRole .ec-layoutRole__header .ec-headerRole {
    height: 35px;
  }
  body.scrolled .ec-layoutRole .ec-layoutRole__header .ec-headerRole:after {
    height: 1px;
  }
  body.LC_Page_Index .ec-layoutRole .ec-layoutRole__header {
    margin-bottom: 0;
  }

  /*
  body#page_homepage {
    .ec-headPromotionRole {
      // トップページのみヘッダーがトップスライダーと被るデザインなのでネガティブマージンします（※トップスライダーが最上部にないレイアウトに変更した場合はここを削除）
      margin-top: $desktop-header-height * -1;
    }

    .ec-layoutRole {

      .ec-layoutRole__header {
        // ヘッダーとメインコンテンツとの余白を解除
        margin-bottom: 0;
      }
    }

    // 状態が「ページがスクロールされていない」場合のみヘッダー背景を透過とします
    &:not( .scrolled ) {

      .ec-layoutRole__header {

        .ec-headerRole {
          // ヘッダーを透過
          background-color: transparent;

          // プロモーションの色合いにより透過されたヘッダーが識字しづらい事があるのでhover時に背景色を敷きます
          &:hover {
            background-color: rgba($clrHeaderBgRGB, $clrHeaderBgAlfa);
          }
        }
      }
    }
  }
  */
  .ec-footerGuide .ec-footerGuide__wrap {
    display: flex;
  }
  .ec-footerGuide .ec-footerGuide__item {
    flex: 0 0 50%;
    display: flex;
    padding: 4.7vw 7vw;
  }
  .ec-footerGuide .ec-footerGuide__item > .inner {
    max-width: 840px;
    flex: 0 0 100%;
  }
  .ec-footerGuide .ec-footerGuide__item:nth-child(1) {
    padding-right: 0;
    justify-content: flex-end;
  }
  .ec-footerGuide .ec-footerGuide__item:nth-child(1) > .inner {
    padding-right: 7vw;
  }
  .ec-footerGuide .ec-footerGuide__item:nth-child(2) {
    padding-left: 0;
    justify-content: flex-start;
  }
  .ec-footerGuide .ec-footerGuide__item:nth-child(2) > .inner {
    padding-left: 7vw;
  }
  .ec-footerGuide .ec-footerGuide__item .title {
    text-align: left;
  }
  .ec-footerGuide .ec-footerGuide__item .text {
    text-align: left;
  }
  .ec-footerContactRole .content1,
.ec-footerContactRole .content2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .ec-footerContactRole .content1 .box1,
.ec-footerContactRole .content2 .box1 {
    flex: 0 1 auto;
    width: auto;
    font-size: 0.8rem;
  }
  .ec-footerContactRole .content1 .box2,
.ec-footerContactRole .content2 .box2 {
    flex: 1 1 auto;
    margin-left: 1rem;
    text-align: right;
  }
  .ec-footerContactRole .content1 .ec-blockBtn[href^=tel],
.ec-footerContactRole .content2 .ec-blockBtn[href^=tel] {
    font-size: 1.6rem;
    border: none;
    padding: 0;
    line-height: 1.5;
    height: auto;
  }
  .ec-footerContactRole .content1 .ec-blockBtn[href^=tel] i,
.ec-footerContactRole .content2 .ec-blockBtn[href^=tel] i {
    font-size: 1em;
    margin-right: 0;
  }
  .ec-footerContactRole .content2 {
    border-top: solid 1px rgba(255, 255, 255, 0.3);
    margin-top: 2rem;
    padding-top: 1.5rem;
  }
  .ec-footerGuide2 {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-footerGuide2, .ec-layoutRole__mainBetweenColumn .ec-footerGuide2 {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-footerGuide2 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-footerGuide2 ul {
    display: flex;
    justify-content: center;
  }
  .ec-footerGuide2 ul li a {
    min-width: 16em;
  }
  .ec-footerLogoAndSocial {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-footerLogoAndSocial, .ec-layoutRole__mainBetweenColumn .ec-footerLogoAndSocial {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-footerLogoAndSocial {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-footerNavi {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-footerNavi, .ec-layoutRole__mainBetweenColumn .ec-footerNavi {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-footerTitle {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-footerTitle, .ec-layoutRole__mainBetweenColumn .ec-footerTitle {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-footerTitle {
    padding-top: 95px;
    padding-bottom: 95px;
  }
  .ec-footerTitle {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .ec-topicPathRole {
    padding: 0.75em 40px;
    /* EC-PACK7：フッター枠の上にパンくずブロックが配置されるのでこの余白は解除
    margin-bottom: 30px;
    */
  }
  .ec-megamenu .ec-megamenu__body {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-megamenu .ec-megamenu__body, .ec-layoutRole__mainBetweenColumn .ec-megamenu .ec-megamenu__body {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-megamenu .ec-megamenu__body {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-drawerButton {
    display: none;
  }
  .ec-drawerRole {
    display: none;
  }
  .ec-overlayRole {
    display: none;
  }
  .ec-drawerMember {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-drawerMember, .ec-layoutRole__mainBetweenColumn .ec-drawerMember {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-drawerMember {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .ec-drawerGuide {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-drawerGuide, .ec-layoutRole__mainBetweenColumn .ec-drawerGuide {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-drawerGuide {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-drawerBanner {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-drawerBanner, .ec-layoutRole__mainBetweenColumn .ec-drawerBanner {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-drawerBanner {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .slickGutter .slick-list {
    margin-left: -20px;
    -webkit-clip-path: inset(0 0 0 20px);
            clip-path: inset(0 0 0 20px);
  }
  .slickGutter .slick-list .slick-slide {
    margin-left: 20px;
  }
  .ec-slickShift .slick-list {
    transform: translateX(70px);
  }
  .ec-newpostTopNewsRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-newpostTopNewsRole, .ec-layoutRole__mainBetweenColumn .ec-newpostTopNewsRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-newpostTopNewsRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-newpostTopNewsRole .ec-newpostTopNewsRole__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 35px;
         column-gap: 35px;
  }
  .ec-newpostTopNewsRole .btnbox {
    margin-top: 40px;
  }
  .ec-newsListRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-newsListRole, .ec-layoutRole__mainBetweenColumn .ec-newsListRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-newsListRole .ec-newsListRole__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 35px;
         column-gap: 35px;
    row-gap: 40px;
  }
  .ec-newpostTopTopicsRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-newpostTopTopicsRole, .ec-layoutRole__mainBetweenColumn .ec-newpostTopTopicsRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-newpostTopTopicsRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 25px;
         column-gap: 25px;
    row-gap: 35px;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > *:nth-child(-n+3) {
    grid-column: span 4;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list > *:nth-child(n+4) {
    grid-column: span 3;
  }
  .ec-newpostTopTopicsRole .slideScroll {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-newpostTopTopicsRole .btnbox {
    margin-top: 40px;
  }
  .ec-newpostTopDougaRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-newpostTopDougaRole, .ec-layoutRole__mainBetweenColumn .ec-newpostTopDougaRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-newpostTopDougaRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 15px;
         column-gap: 15px;
    row-gap: 15px;
  }
  .ec-newpostTopDougaRole .btnbox {
    margin-top: 40px;
  }
  .ec-newpostTopOsusumeRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-newpostTopOsusumeRole, .ec-layoutRole__mainBetweenColumn .ec-newpostTopOsusumeRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-newpostTopOsusumeRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-newpostTopOsusumeRole .slick-list {
    margin: 0;
    -webkit-clip-path: none;
            clip-path: none;
    transform: none;
  }
  .ec-newpostTopOsusumeRole .slick-list .slick-track {
    transform: none !important;
    width: 100% !important;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 25px;
         column-gap: 25px;
    row-gap: 50px;
  }
  .ec-newpostTopOsusumeRole .slick-list .slick-track:before, .ec-newpostTopOsusumeRole .slick-list .slick-track:after {
    display: none;
  }
  .ec-newpostTopOsusumeRole .slick-list .slick-track .slick-slide {
    margin: 0;
    width: auto !important;
  }
  .ec-newpostTopOsusumeRole .slick-list .slick-track .slick-cloned {
    display: none;
  }
  .ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume {
    display: none;
  }
  .ec-topRecommendMultiRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topRecommendMultiRole, .ec-layoutRole__mainBetweenColumn .ec-topRecommendMultiRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topRecommendMultiRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topRecommendMultiRole .ec-topRecommendMultiRole__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
  .ec-topRecommendMultiRole .btnbox {
    margin-top: 40px;
  }
  .ec-topRecommendMultiSlickRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topRecommendMultiSlickRole, .ec-layoutRole__mainBetweenColumn .ec-topRecommendMultiSlickRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topRecommendMultiSlickRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topRecommendMultiSlickRole .btnbox {
    margin-top: 40px;
  }
  .ec-topPopularItemRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topPopularItemRole, .ec-layoutRole__mainBetweenColumn .ec-topPopularItemRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topPopularItemRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topPopularItemRole .ec-topPopularItemRole__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
  .ec-topPopularItemRole .btnbox {
    margin-top: 40px;
  }
  .ec-topCategoryRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topCategoryRole, .ec-layoutRole__mainBetweenColumn .ec-topCategoryRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topCategoryRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topCategoryRole {
    margin-top: 0;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 34px;
         column-gap: 34px;
    row-gap: 30px;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul li a:hover .title {
    background-color: #BCA46B;
    color: #fff;
  }
  .ec-topBrandRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topBrandRole, .ec-layoutRole__mainBetweenColumn .ec-topBrandRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topBrandRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topSeriesRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topSeriesRole, .ec-layoutRole__mainBetweenColumn .ec-topSeriesRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topSeriesRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topAnnounceRole {
    margin-top: 40px;
  }
  .ec-topSidemenuRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topSidemenuRole, .ec-layoutRole__mainBetweenColumn .ec-topSidemenuRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topSidemenuRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topSidemenuRole {
    margin-top: 0;
  }
  .ec-topGiftPriceRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-topGiftPriceRole, .ec-layoutRole__mainBetweenColumn .ec-topGiftPriceRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-topGiftPriceRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-topGiftPriceRole {
    padding-top: 95px;
    padding-bottom: 95px;
  }
  .ec-topGiftPriceRole {
    display: none;
  }
  .ec-searchnavRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-searchnavRole, .ec-layoutRole__mainBetweenColumn .ec-searchnavRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-searchnavRole {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-searchnavRole {
    margin-top: 0;
  }
  .ec-searchnavRole .ec-searchnavRole__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .ec-searchnavRole .ec-searchnavRole__infos {
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .ec-searchnavRole .ec-searchnavRole__title {
    font-size: 0.933rem;
    font-weight: 500;
    display: flex;
    align-items: center;
  }
  .ec-searchnavRole .ec-searchnavRole__title h1, .ec-searchnavRole .ec-searchnavRole__title .h1 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
    white-space: nowrap;
  }
  .ec-searchnavRole .ec-searchnavRole__counter {
    font-size: inherit;
    margin-left: 1em;
    text-align: left;
  }
  .ec-searchnavRole .ec-searchnavRole__actions .wrap {
    font-size: 0.933rem;
    justify-content: flex-end;
    margin: 0;
  }
  .ec-searchnavRole .ec-searchnavRole__actions .wrap .actionBtn.action_crossSearchToggle {
    display: none;
  }
  .ec-searchnavRole .ec-searchnavRole__result {
    /*
    font-size: .933rem;
    display: flex;
    align-items: center;
    margin-left: 1em;
    */
  }
  .ec-childCategoryRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-childCategoryRole, .ec-layoutRole__mainBetweenColumn .ec-childCategoryRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-childCategoryRole {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-shelfRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-shelfRole, .ec-layoutRole__mainBetweenColumn .ec-shelfRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-shelfRole {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-pagerRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-pagerRole, .ec-layoutRole__mainBetweenColumn .ec-pagerRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-categoryHeadRole {
    margin-bottom: 40px;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-categoryHeadRole .ec-categoryHeadRole__article, .ec-layoutRole__mainBetweenColumn .ec-categoryHeadRole .ec-categoryHeadRole__article {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article .ec-article {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .crossSearchBg {
    display: none;
  }
  .ec-crossSearchRole .ec-crossSearchRole__droptitle {
    display: none;
  }
  .ec-crossSearchRole .crossSearchClose {
    top: 40px;
    right: 40px;
  }
  .ec-crossSearchRole .crossSearchClose {
    display: none;
  }
  .ec-crossSearchItem .item_dialog .dialog {
    top: 50%;
    left: 50%;
    width: 50vw;
    min-width: 900px;
    max-height: 60vh;
    transform: translate(-50%, -50%);
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_body {
    padding: 1rem 3rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_body .item.item_parent {
    grid-column-end: span 3;
  }
  .ec-categoryRankingRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-categoryRankingRole, .ec-layoutRole__mainBetweenColumn .ec-categoryRankingRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-categoryRankingRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-categoryRankingRole {
    margin-top: 40px;
    margin-bottom: 20px;
    padding-bottom: 50px;
  }
  .ec-categoryRankingRole .ec-categoryRankingRole__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(174px, 1fr));
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
  body.LC_Page_Products_Detail .ec-layoutRole__main {
    container-type: inline-size;
  }
  .ec-productRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-productRole, .ec-layoutRole__mainBetweenColumn .ec-productRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-productRole {
    margin-top: 60px;
  }
  .ec-productRole .ec-productRole__grid {
    display: flex;
    justify-content: space-between;
  }
  .ec-productRole .ec-productRole__gridCell.cellLeft {
    flex: 0 0 auto;
    width: 57.5%;
  }
  .ec-productRole .ec-productRole__gridCell.cellRight {
    flex: 1 1 auto;
    width: auto;
    margin-left: 40px;
  }
  .ec-productRole__visual {
    display: grid;
    grid-template-columns: calc((100% - 70px) / 8) auto;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .ec-productRole__visual .ec-productVisualNav {
    order: 1;
  }
  .ec-productRole__visual .ec-productVisualNav .slideThumb {
    margin-bottom: 10px;
  }
  .ec-productRole__visual .ec-productVisualMain {
    order: 2;
  }
  .ec-productRole__visual .sideInNavToggleBtn {
    display: none;
  }
  .ec-productRole .ec-productRole__cartinRow {
    padding: 1.25rem 0;
    border-top: 1px solid var(--clrBorderColor, #D4D4D4);
    border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  }
  .ec-productRole .ec-productRole__utilBox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem.ec-productRole__share {
    border-right: solid 1px var(--clrBorderColor, #D4D4D4);
    padding-right: 1rem;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem .popup_toggle {
    display: none;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem .popup_body ul {
    display: flex;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .ec-productRole .ec-productRole__share .shareBtn {
    font-size: 17px;
  }
  .ec-productRole .ec-productRole__share .shareBtn.twitter:hover {
    color: #000000;
  }
  .ec-productRole .ec-productRole__share .shareBtn.facebook:hover {
    color: #3B5999;
  }
  .ec-productRole .ec-productRole__share .shareBtn.pinterest:hover {
    color: #cb2027;
  }
  .ec-productRole .ec-productRole__feature {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-productReviewPostRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-productReviewPostRole, .ec-layoutRole__mainBetweenColumn .ec-productReviewPostRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-cloneCartinRole {
    padding: 30px 40px;
  }
  .ec-productRole .ec-productRole__gridCell.cellLeft {
    position: relative;
  }
  .ec-productRole .ec-productRole__gridCell.cellLeft .drift-pane {
    display: block;
    position: absolute;
    top: 0;
    pointer-events: none;
    z-index: 2;
  }
  .ec-productReviewRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-productReviewRole, .ec-layoutRole__mainBetweenColumn .ec-productReviewRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-productReviewRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-productReviewRole .ec-productReviewRole__content {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-productReviewRole .ec-productReviewRole__content {
    -moz-columns: 2 auto;
         columns: 2 auto;
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
  .ec-productReviewRole .ec-productReviewRole__item {
    margin-bottom: 60px;
  }
  .ec-productReviewRole .no_review {
    margin-top: 40px;
  }
  .ec-productReviewRole .ec-productReviewRole__actions {
    margin-top: 40px;
  }
  .ec-productsDetailRelatedRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-productsDetailRelatedRole, .ec-layoutRole__mainBetweenColumn .ec-productsDetailRelatedRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-productsDetailRelatedRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-productsDetailAlsoBoughtRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-productsDetailAlsoBoughtRole, .ec-layoutRole__mainBetweenColumn .ec-productsDetailAlsoBoughtRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-productsDetailAlsoBoughtRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec_recentlyViewedProductsRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec_recentlyViewedProductsRole, .ec-layoutRole__mainBetweenColumn .ec_recentlyViewedProductsRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec_recentlyViewedProductsRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-ecpCartRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-ecpCartRole, .ec-layoutRole__mainBetweenColumn .ec-ecpCartRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-ecpCartRole form:nth-of-type(2) .ec-heading {
    margin-top: 80px;
  }
  .ec-ecpCartRole .ec-ecpCartRole__detail {
    flex: 1 1 auto;
    padding-right: 40px;
  }
  .ec-ecpCartRole .ec-ecpCartRole__summary {
    flex: 0 0 355px;
  }
  .ec-orderRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-orderRole, .ec-layoutRole__mainBetweenColumn .ec-orderRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-orderAccount,
.ec-orderDelivery,
.ec-orderPayment,
.ec-orderPoint,
.ec-orderCoupon,
.ec-orderMessage,
.ec-orderKiyaku,
.ec-orderNoshi,
.ec-orderWrapping,
.ec-orderReceipt {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-orderNoshi .ec-orderNoshi__layout,
.ec-orderNoshi .ec-orderWrapping__layout,
.ec-orderWrapping .ec-orderNoshi__layout,
.ec-orderWrapping .ec-orderWrapping__layout {
    display: grid;
    grid-template-columns: 50% 1fr;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .ec-orderNoshi .ec-orderNoshi__actions .order_item,
.ec-orderNoshi .ec-orderWrapping__actions .order_item,
.ec-orderWrapping .ec-orderNoshi__actions .order_item,
.ec-orderWrapping .ec-orderWrapping__actions .order_item {
    grid-template-columns: 10em 1fr;
  }
  .ec-orderNoshi .ec-orderNoshi__image,
.ec-orderNoshi .ec-orderWrapping__image,
.ec-orderWrapping .ec-orderNoshi__image,
.ec-orderWrapping .ec-orderWrapping__image {
    grid-template-columns: repeat(5, 1fr);
    padding: 15px;
  }
  .ec-orderKiyaku {
    margin-top: 20px;
    margin-bottom: -20px !important;
  }
  .ec-orderConfirmRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-orderConfirmRole, .ec-layoutRole__mainBetweenColumn .ec-orderConfirmRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-confirmBox {
    margin-top: 25px;
  }
  .ec-orderConfirmCart {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-orderConfirmCart {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .ec-creditRole .ec-creditRole__enter {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-creditRole .ec-creditEnter {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-creditRole .ec-creditEnter.col2 {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    margin-top: -40px;
  }
  .ec-creditRole .ec-creditEnter.col2 > * {
    flex: 0 0 auto;
    width: calc((100% - 40px ) / 2);
    margin-left: 40px;
    margin-top: 40px;
  }
  .ec-creditRole .ec-creditEnter.col2 > *:nth-child(2n+1) {
    margin-left: 0;
  }
  .ec-creditRole .ec-creditRole__footer {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-orderCompleteRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-orderCompleteRole, .ec-layoutRole__mainBetweenColumn .ec-orderCompleteRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-orderCompleteRole .ec-reportHeading {
    font-size: 1.466rem;
  }
  .ec-confirmCancelMessage {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-confirmRegularlyMessage {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-orderHistoryRole .ec-orderHistoryRole__cell {
    padding: 3rem 0.5rem;
  }
  .ec-orderHistoryRole.historyDetail .ec-orderHistoryRole__cell {
    padding: 1.8rem 0.5rem;
  }
  .ec-orderHistoryRole.historyDetail .ec-orderHistoryRole__cell.reOrder .comment {
    max-width: 17em;
  }
  .ec-historyProducts {
    margin-top: 30px;
  }
  .ec-historyShipping {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-orderMails {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-addressList .item {
    padding: 3rem 1rem;
  }
  .ec-addressList .item_num {
    font-size: 0.966rem;
    min-width: 10em;
    margin-right: 1em;
  }
  .ec-orderRole .ec-addressList .item {
    padding: 1.5rem 1rem;
  }
  .ec-orderRole .ec-addressList .item_radio {
    min-width: 10em;
  }
  .ec-forgotRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-forgotRole, .ec-layoutRole__mainBetweenColumn .ec-forgotRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-newPassword {
    margin: 60px 0;
    padding: 2rem;
  }
  .ec-newPassword .code {
    font-size: 2.53rem;
  }
  .ec-registerRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-registerRole, .ec-layoutRole__mainBetweenColumn .ec-registerRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-contactRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-contactRole, .ec-layoutRole__mainBetweenColumn .ec-contactRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-customerRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-customerRole, .ec-layoutRole__mainBetweenColumn .ec-customerRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-customerRole #shipping_form_area {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-customerRole #shipping_form_area {
    padding: 30px;
    padding-bottom: 15px;
  }
  .ec-404Role .ec-off4Grid {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-404Role .ec-off4Grid, .ec-layoutRole__mainBetweenColumn .ec-404Role .ec-off4Grid {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-404Role .ec-off4Grid {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-notFoundRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-notFoundRole, .ec-layoutRole__mainBetweenColumn .ec-notFoundRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-withdrawRole {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-withdrawRole {
    padding: 40px;
  }
  .ec-withdrawRole .ec-progressAction {
    margin-top: 40px;
  }
  .ec-helpRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-helpRole, .ec-layoutRole__mainBetweenColumn .ec-helpRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-helpGridRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-helpGridRole {
    display: flex;
    margin-top: 100px;
  }
  .ec-helpGridRole .ec-helpGridRole__nav {
    flex: 0 0 auto;
    width: 280px;
    display: block;
  }
  .ec-helpGridRole .ec-helpGridRole__body {
    flex: 1 1 auto;
    margin-left: 40px;
  }
  .ec-helpArticle {
    font-size: 1.066rem;
  }
  .ec-helpArticle h1, .ec-helpArticle .h1 {
    font-size: 1.733rem;
  }
  .ec-helpArticle h2:nth-of-type(n+2), .ec-helpArticle .h2:nth-of-type(n+2) {
    margin-top: 80px;
  }
  .ec-helpArticle .ec-frame {
    padding: 2em;
  }
  .ec-helpArticle .mt-2 {
    margin-top: 2rem !important;
  }
  .ec-helpArticle .mb-2 {
    margin-bottom: 2rem !important;
  }
  .ec-helpArticle .mtb-2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .ec-helpArticle .mt-3 {
    margin-top: 3rem !important;
  }
  .ec-helpArticle .mb-3 {
    margin-bottom: 3rem !important;
  }
  .ec-helpArticle .mtb-3 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .ec-helpArticle .mt-4 {
    margin-top: 4rem !important;
  }
  .ec-helpArticle .mb-4 {
    margin-bottom: 4rem !important;
  }
  .ec-helpArticle .mtb-4 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .ec-helpIndexRole {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 70px;
         column-gap: 70px;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item:nth-of-type(n+2) {
    margin-top: 70px;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item h3, .ec-helpIndexRole .ec-helpIndexRole__item .h3 {
    font-size: 1.33rem;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item ul {
    font-size: 1.066rem;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item ul li a {
    padding: 1.5em 1em;
  }
  .noshiList {
    margin-top: 60px;
    grid-template-columns: repeat(5, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
  .ec-provision.with-scroll {
    max-height: 30em;
  }
  .ec-helpMapRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-faqIndexRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-faqIndexRole, .ec-layoutRole__mainBetweenColumn .ec-faqIndexRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-faqIndexRole h2, .ec-faqIndexRole .h2 {
    font-size: 1.533rem;
    margin-bottom: 3rem;
  }
  .ec-faqSearch {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-faqSearch .ec-faqSearch__input {
    margin-top: 20px;
  }
  .ec-faqCategory {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-faqCategory ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 90px;
         column-gap: 90px;
  }
  .ec-faqList {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-faqList ul li {
    margin-top: 1.5em;
  }
  .ec-faqItem.answer {
    margin-top: 3rem;
  }
  .ec-article__blog {
    margin-top: 80px;
  }
  .ec-article__blog.style_10 .item:nth-child(n+2) {
    margin-top: 80px;
  }
  .ec-article__blog.style_10 .item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .ec-article__blog.style_10 .item .wrap.center {
    align-self: center;
  }
  .ec-article__blog.style_10 .item .wrap > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_10 .item .wrap > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_10 .item:nth-child(even) img {
    order: 2;
  }
  .ec-article__blog.style_10 .item:nth-child(even) .wrap {
    order: 1;
  }
  .ec-article__blog.style_11 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 40px;
  }
  .ec-article__blog.style_11 .item > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_11 .item > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_11 .item h2, .ec-article__blog.style_11 .item .h2, .ec-article__blog.style_11 .item h3, .ec-article__blog.style_11 .item .h3, .ec-article__blog.style_11 .item h4, .ec-article__blog.style_11 .item .h4, .ec-article__blog.style_11 .item h5, .ec-article__blog.style_11 .item .h5 {
    margin: 1rem 0 0.5rem;
  }
  .ec-article__blog.style_11 .item p {
    margin-top: 0.5rem;
  }
  .ec-article__blog.style_12 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 30px;
  }
  .ec-article__blog.style_12 .item > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_12 .item > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_12 .item h2, .ec-article__blog.style_12 .item .h2, .ec-article__blog.style_12 .item h3, .ec-article__blog.style_12 .item .h3, .ec-article__blog.style_12 .item h4, .ec-article__blog.style_12 .item .h4, .ec-article__blog.style_12 .item h5, .ec-article__blog.style_12 .item .h5 {
    margin: 1rem 0 0.5rem;
  }
  .ec-article__blog.style_12 .item p {
    margin-top: 0.5rem;
  }
  .ec-article__blog.style_13 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
  .ec-article__blog.style_13 .item > *:first-child {
    margin-top: 0;
  }
  .ec-article__blog.style_13 .item > *:last-child {
    margin-bottom: 0;
  }
  .ec-article__blog.style_13 .item h2, .ec-article__blog.style_13 .item .h2, .ec-article__blog.style_13 .item h3, .ec-article__blog.style_13 .item .h3, .ec-article__blog.style_13 .item h4, .ec-article__blog.style_13 .item .h4, .ec-article__blog.style_13 .item h5, .ec-article__blog.style_13 .item .h5 {
    margin: 1rem 0 0.5rem;
  }
  .ec-article__blog.style_13 .item p {
    margin-top: 0.5rem;
    line-height: 1.5;
  }
  .ec-blogRole {
    margin-top: 40px;
  }
  .ec-blogRole .ec-blogRole__layout {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-blogRole .ec-blogRole__layout, .ec-layoutRole__mainBetweenColumn .ec-blogRole .ec-blogRole__layout {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-blogRole .ec-blogRole__layout.col_2 {
    display: grid;
    grid-template-columns: 1fr 240px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .ec-blogRole .ec-blogRole__layout.col_2 .ec-blogRole__mainColumn {
    order: 1;
  }
  .ec-blogRole .ec-blogRole__layout.col_2 .ec-blogRole__side {
    order: 2;
  }
  .ec-blogRole .ec-blogRole__side {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-blogRole .ec-blogRole__side {
    margin: 0;
  }
  .ec-blogListRole .ec-blogListRole__body {
    margin-top: 40px;
  }
  .ec-blogListRole .ec-blogListRole__foot {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-blogShelfGrid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 30px;
  }
  .ec-blogDetailRole .ec-blogDetailRole__body {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-blogDetailRole .ec-blogDetailRole__share {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-blogSideRole:nth-child(n+2) {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .ec-blogSideRole.category ul li a {
    padding: 0.25em 0.5em;
  }
  .ec-blogSideRole.recentpost ul li a {
    grid-template-columns: 40% 1fr;
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
  .ec-blogSideRole.recentpost ul li a time {
    font-size: 0.73rem;
  }
  .ec-blogSideRole.recentpost ul li a .text {
    font-size: 0.8rem;
  }
  .ec-faqDetailRole .ec-faqDetailRole__question {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-faqDetailRole .ec-faqDetailRole__question, .ec-layoutRole__mainBetweenColumn .ec-faqDetailRole .ec-faqDetailRole__question {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-faqDetailRole .ec-faqDetailRole__question {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-faqDetailRole .ec-faqDetailRole__answer {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-faqDetailRole .ec-faqDetailRole__answer, .ec-layoutRole__mainBetweenColumn .ec-faqDetailRole .ec-faqDetailRole__answer {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-faqDetailRole .ec-faqDetailRole__answer {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-faqDetailRole .maintitle {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
  .ec-faqDetailRole .maintitle span {
    width: 3em;
    height: 3em;
    line-height: 3em;
  }
  .ec-faqDetailRole .ec-article .blog_template:first-child {
    margin-top: 2rem;
  }
  .ec-faqDetailRole .ec-faqDetailRole__search {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-faqDetailRole .ec-faqDetailRole__search, .ec-layoutRole__mainBetweenColumn .ec-faqDetailRole .ec-faqDetailRole__search {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-faqDetailRole .ec-faqDetailRole__search {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-sitemapRole {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-sitemapRole, .ec-layoutRole__mainBetweenColumn .ec-sitemapRole {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
  .ec-sitemapRole .ec-sitemapRole__item {
    padding: 30px 0;
  }
  .ec-sitemapRole .ec-sitemapRole__item h2:nth-of-type(n+2), .ec-sitemapRole .ec-sitemapRole__item .h2:nth-of-type(n+2) {
    margin-top: 3rem;
  }
  .ec-sitemapRole .ec-sitemapRole__item h3, .ec-sitemapRole .ec-sitemapRole__item .h3 {
    margin-left: 3rem;
  }
  .ec-sitemapRole .ec-sitemapRole__item h3:nth-of-type(n+2), .ec-sitemapRole .ec-sitemapRole__item .h3:nth-of-type(n+2) {
    margin-top: 3rem;
  }
  .ec-sitemapRole .ec-sitemapRole__item ul {
    margin-left: 5rem;
    margin-right: 3rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0;
  }
  .ec-shopInformationRole {
    margin-top: 95px;
    margin-bottom: 95px;
  }
  .ec-shopInformationRole {
    padding-top: 95px;
    padding-bottom: 95px;
  }
  .ec-shopInformationRole .ec-shopInformationRole__inner {
    display: flex;
    align-items: center;
    max-width: 825px;
    margin-left: auto;
    margin-right: auto;
  }
  .ec-shopInformationRole .ec-shopInformationRole__inner .box1 {
    flex: 0 1 auto;
    margin-right: 1rem;
    min-width: 30%;
  }
  .ec-shopInformationRole dl dt,
.ec-shopInformationRole dl dd {
    font-size: 1.066rem;
  }
}
@media only screen and (min-width: 1280px) and (max-width: 767px) {
  .ec-layoutRole__contents.col_2 {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
}
@media only screen and (min-width: 1280px) and (min-width: 1280px) {
  .ec-off2Grid .ec-off2Grid__cell {
    width: 66.6666666667%;
  }
  .ec-off3Grid .ec-off3Grid__cell {
    width: 50%;
  }
  .ec-off4Grid .ec-off4Grid__cell {
    width: 33.3333333333%;
  }
  .ec-layoutRole__contents.col_2 {
    /* 1カラムレイアウト時はコンテナ自身に左右余白を持たせる */
    padding-left: 40px;
    padding-right: 40px;
    /* 2～3カラムレイアウト自はコンテナ自体に左右余白は持たせません。
     * 親フレームである「.ec-layoutRole__contents」が余白を持つようにしています（_11.1.role.scss）。
     * 余談的な補足となりますが、1カラムの場合に「.ec-layoutRole__contents」にmax-widthを定義せずコンテナ側にmax-widthを持たせるようにしているのは、
     * コンテナによっては背景色をブラウザいっぱいに敷くデザインにも対応させるためにそうしてあります。
     * ※現在のCSSだとコンテナ内でもはみ出し背景を定義する事は可能ですが昔の名残を残しておくのと、はみ出し背景もデスクトップブラウザでは多少制約が発生する理由もあります（参考：100vwと100cpiと横スクロールバー）。
     * 2～3カラムではそういうコンテナはありえませんのでコンテナのmax-widthや余白はリセットさせておきます。
    */
  }
  .ec-layoutRole__mainWithColumn .ec-layoutRole__contents.col_2, .ec-layoutRole__mainBetweenColumn .ec-layoutRole__contents.col_2 {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 1280px) and (min-width: 768px) and (max-width: 1279px) {
  .ec-layoutRole__contents.col_2 {
    padding-left: 3.906vw;
    padding-right: 3.906vw;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
  .col-xxl {
    flex: 1 0 0%;
  }

  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }

  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-xxl-0 {
    margin-left: 0;
  }

  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }

  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }

  .offset-xxl-3 {
    margin-left: 25%;
  }

  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }

  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }

  .offset-xxl-6 {
    margin-left: 50%;
  }

  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }

  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }

  .offset-xxl-9 {
    margin-left: 75%;
  }

  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }

  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }

  .g-xxl-0,
.gx-xxl-0 {
    --bs-gutter-x: 0;
  }

  .g-xxl-0,
.gy-xxl-0 {
    --bs-gutter-y: 0;
  }

  .g-xxl-1,
.gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-xxl-1,
.gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-xxl-2,
.gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-xxl-2,
.gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-xxl-3,
.gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }

  .g-xxl-3,
.gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }

  .g-xxl-4,
.gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-xxl-4,
.gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-xxl-5,
.gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }

  .g-xxl-5,
.gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }

  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: inherit;
    bottom: 0;
    z-index: 1000;
    flex-grow: 1;
    visibility: visible !important;
    background-color: transparent;
    border-right: 0;
    border-left: 0;
    transition: none;
    transform: none;
  }
  .navbar-expand-xxl .offcanvas-top,
.navbar-expand-xxl .offcanvas-bottom {
    height: auto;
    border-top: 0;
    border-bottom: 0;
  }
  .navbar-expand-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .float-xxl-start {
    float: left !important;
  }

  .float-xxl-end {
    float: right !important;
  }

  .float-xxl-none {
    float: none !important;
  }

  .d-xxl-inline {
    display: inline !important;
  }

  .d-xxl-inline-block {
    display: inline-block !important;
  }

  .d-xxl-block {
    display: block !important;
  }

  .d-xxl-grid {
    display: grid !important;
  }

  .d-xxl-table {
    display: table !important;
  }

  .d-xxl-table-row {
    display: table-row !important;
  }

  .d-xxl-table-cell {
    display: table-cell !important;
  }

  .d-xxl-flex {
    display: flex !important;
  }

  .d-xxl-inline-flex {
    display: inline-flex !important;
  }

  .d-xxl-none {
    display: none !important;
  }

  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xxl-row {
    flex-direction: row !important;
  }

  .flex-xxl-column {
    flex-direction: column !important;
  }

  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .gap-xxl-0 {
    gap: 0 !important;
  }

  .gap-xxl-1 {
    gap: 0.25rem !important;
  }

  .gap-xxl-2 {
    gap: 0.5rem !important;
  }

  .gap-xxl-3 {
    gap: 1rem !important;
  }

  .gap-xxl-4 {
    gap: 1.5rem !important;
  }

  .gap-xxl-5 {
    gap: 3rem !important;
  }

  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xxl-center {
    justify-content: center !important;
  }

  .justify-content-xxl-between {
    justify-content: space-between !important;
  }

  .justify-content-xxl-around {
    justify-content: space-around !important;
  }

  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }

  .align-items-xxl-start {
    align-items: flex-start !important;
  }

  .align-items-xxl-end {
    align-items: flex-end !important;
  }

  .align-items-xxl-center {
    align-items: center !important;
  }

  .align-items-xxl-baseline {
    align-items: baseline !important;
  }

  .align-items-xxl-stretch {
    align-items: stretch !important;
  }

  .align-content-xxl-start {
    align-content: flex-start !important;
  }

  .align-content-xxl-end {
    align-content: flex-end !important;
  }

  .align-content-xxl-center {
    align-content: center !important;
  }

  .align-content-xxl-between {
    align-content: space-between !important;
  }

  .align-content-xxl-around {
    align-content: space-around !important;
  }

  .align-content-xxl-stretch {
    align-content: stretch !important;
  }

  .align-self-xxl-auto {
    align-self: auto !important;
  }

  .align-self-xxl-start {
    align-self: flex-start !important;
  }

  .align-self-xxl-end {
    align-self: flex-end !important;
  }

  .align-self-xxl-center {
    align-self: center !important;
  }

  .align-self-xxl-baseline {
    align-self: baseline !important;
  }

  .align-self-xxl-stretch {
    align-self: stretch !important;
  }

  .order-xxl-first {
    order: -1 !important;
  }

  .order-xxl-0 {
    order: 0 !important;
  }

  .order-xxl-1 {
    order: 1 !important;
  }

  .order-xxl-2 {
    order: 2 !important;
  }

  .order-xxl-3 {
    order: 3 !important;
  }

  .order-xxl-4 {
    order: 4 !important;
  }

  .order-xxl-5 {
    order: 5 !important;
  }

  .order-xxl-last {
    order: 6 !important;
  }

  .m-xxl-0 {
    margin: 0 !important;
  }

  .m-xxl-1 {
    margin: 0.25rem !important;
  }

  .m-xxl-2 {
    margin: 0.5rem !important;
  }

  .m-xxl-3 {
    margin: 1rem !important;
  }

  .m-xxl-4 {
    margin: 1.5rem !important;
  }

  .m-xxl-5 {
    margin: 3rem !important;
  }

  .m-xxl-auto {
    margin: auto !important;
  }

  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

  .mt-xxl-0 {
    margin-top: 0 !important;
  }

  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }

  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }

  .mt-xxl-3 {
    margin-top: 1rem !important;
  }

  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }

  .mt-xxl-5 {
    margin-top: 3rem !important;
  }

  .mt-xxl-auto {
    margin-top: auto !important;
  }

  .me-xxl-0 {
    margin-right: 0 !important;
  }

  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }

  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }

  .me-xxl-3 {
    margin-right: 1rem !important;
  }

  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }

  .me-xxl-5 {
    margin-right: 3rem !important;
  }

  .me-xxl-auto {
    margin-right: auto !important;
  }

  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }

  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }

  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }

  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }

  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }

  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }

  .mb-xxl-auto {
    margin-bottom: auto !important;
  }

  .ms-xxl-0 {
    margin-left: 0 !important;
  }

  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }

  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }

  .ms-xxl-3 {
    margin-left: 1rem !important;
  }

  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }

  .ms-xxl-5 {
    margin-left: 3rem !important;
  }

  .ms-xxl-auto {
    margin-left: auto !important;
  }

  .p-xxl-0 {
    padding: 0 !important;
  }

  .p-xxl-1 {
    padding: 0.25rem !important;
  }

  .p-xxl-2 {
    padding: 0.5rem !important;
  }

  .p-xxl-3 {
    padding: 1rem !important;
  }

  .p-xxl-4 {
    padding: 1.5rem !important;
  }

  .p-xxl-5 {
    padding: 3rem !important;
  }

  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .pt-xxl-0 {
    padding-top: 0 !important;
  }

  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }

  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }

  .pt-xxl-3 {
    padding-top: 1rem !important;
  }

  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }

  .pt-xxl-5 {
    padding-top: 3rem !important;
  }

  .pe-xxl-0 {
    padding-right: 0 !important;
  }

  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }

  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }

  .pe-xxl-3 {
    padding-right: 1rem !important;
  }

  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }

  .pe-xxl-5 {
    padding-right: 3rem !important;
  }

  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }

  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }

  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }

  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }

  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }

  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }

  .ps-xxl-0 {
    padding-left: 0 !important;
  }

  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }

  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }

  .ps-xxl-3 {
    padding-left: 1rem !important;
  }

  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }

  .ps-xxl-5 {
    padding-left: 3rem !important;
  }

  .text-xxl-start {
    text-align: left !important;
  }

  .text-xxl-end {
    text-align: right !important;
  }

  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1500px) {
  .ec-orderHistoryRole .ec-orderHistoryRole__cell:first-of-type {
    padding-left: 2rem;
  }
  .ec-orderHistoryRole .ec-orderHistoryRole__cell:last-of-type {
    padding-right: 2rem;
  }
}
@media (max-width: 1650px) {
  .ec-blockBtn--favorite i span {
    left: auto;
    right: 0;
  }
  .ec-blockBtn--favorite i span:after {
    left: auto;
    right: 10px;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 1279px) {
  #valid_infoarea {
    display: block;
    width: 100%;
    height: auto;
    padding: 10px;
    text-align: center;
    border-radius: 0;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(0);
    border: none;
    background-color: #777;
    color: #fff;
  }
  #valid_infoarea .info_head {
    display: inline-block;
    width: auto;
    padding: 0.25em 0.5em;
  }
  #valid_infoarea .info_body {
    display: inline-block;
    width: auto;
    background-color: transparent;
    margin-left: 0.5em;
  }
  #valid_infoarea .remain {
    font-size: 1em;
  }
  #valid_infoarea.is-complete {
    background-color: #369b00;
    color: #fff;
  }
  #valid_infoarea.is-complete .info_body {
    background-color: transparent;
  }
}
@media only screen and (max-width: 1279px) {
  .ec-radio.radio-deliv input[type=radio] + label, .radio-deliv.ec-blockRadio input[type=radio] + label, .ec-radio.radio-payment input[type=radio] + label, .radio-payment.ec-blockRadio input[type=radio] + label {
    display: block;
    margin-right: 0;
  }
  .ec-mypageRole .ec-mypageReport .mp_logout {
    display: block;
    margin-top: 1rem;
    text-align: center;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li {
    padding: 1em 0;
    border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
    position: relative;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li:after,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li:after {
    font-family: "ecpfont";
    content: "\e913";
    font-size: 1.25em;
    position: absolute;
    top: calc(50% - 0.5em);
    right: 0.5em;
    opacity: 0;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li.selected,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li.selected {
    pointer-events: none;
  }
  .ec-dropSelect .ec-dropSelect__select > ul li.selected:after,
.ec-dropSelect .ec-dropSelect__select .dropSelectBtnBox li.selected:after {
    opacity: 1;
  }
  .ec-headerSearch .ec-headerSearch__wrap > *:nth-child(n+2) {
    margin-top: 1rem;
  }
  .ec-headerSearch .ec-headerSearch__wrap > * .select_ui {
    width: 100%;
  }
  .ec-topSidemenuRole {
    display: none;
  }
  .ec-topSidemenuRole .ec-topSidemenuRole__nav ul li a {
    padding: 1em;
  }
  .ec-topSidemenuRole .ec-topSidemenuRole__banner ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 4vw;
         column-gap: 4vw;
  }
  .ec-topSidemenuRole .ec-topSidemenuRole__banner ul li {
    margin-top: 0 !important;
  }
  .ec-searchnavRole .ec-searchnavRole__title {
    text-align: center;
  }
  .ec-searchnavRole .ec-searchnavRole__title h1, .ec-searchnavRole .ec-searchnavRole__title .h1 {
    font-size: 1.57rem;
  }
  .ec-crossSearchRole {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 50vh;
    max-height: calc(100dvh - 64px);
    height: 100%;
    background-color: #fff;
    border-radius: 14px 14px 0 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    z-index: 991;
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
    transition: transform 0.3s, visibility 0.3s;
  }
  .ec-crossSearchRole.is-active {
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  .ec-crossSearchRole.is-openComplete {
    transform: none;
  }
  .ec-crossSearchRole .ec-crossSearchRole__inner {
    max-width: 500px;
    margin: 0 auto;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    padding: 0 10px;
  }
  .ec-crossSearchItem .search_select select {
    padding: 1em 1em;
  }
  .ec-crossSearchItem .search_input, .ec-crossSearchItem .item_slider .search_inputSlider {
    font-size: 16px;
  }
  .ec-crossSearchItem .item_slider .inputSlider {
    margin-left: 5px;
    margin-right: 9px;
    padding-left: 7px;
    padding-right: 7px;
    margin-top: 1.5rem;
  }
  .ec-crossSearchItem .item_dialog .dialog_open {
    padding: 1em 1em;
  }
  .ec-productRole .ec-productRole__utilBox {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
    padding: 0.5rem 7.009vw;
    background-color: var(--clrBodyToneBg, #F3F3F3);
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem {
    position: relative;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem .ec-utilBtn {
    font-size: 1.3rem;
    background-color: #fff;
    border-radius: 50%;
    overflow: hidden;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem .ec-utilBtn i + span {
    display: none;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem .popup_body {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translate3d(-50%, 20px, 0);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    border: solid 1px #ccc;
    border-radius: 2em;
    background-color: #fff;
    padding: 1rem 0.5rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem .popup_body ul {
    display: grid;
    row-gap: 0.2rem;
  }
  .ec-productRole .ec-productRole__utilBox .utilBoxItem.is-open .popup_body {
    transform: translate3d(-50%, 0, 0);
    opacity: 1;
    visibility: visible;
  }
  .ec-productRole .ec-productRole__share .shareBtn {
    font-size: 2rem;
  }
  .ec-productRole .ec-productRole__share .shareBtn.twitter {
    color: #000000;
  }
  .ec-productRole .ec-productRole__share .shareBtn.facebook {
    color: #3B5999;
  }
  .ec-productRole .ec-productRole__share .shareBtn.pinterest {
    color: #cb2027;
  }
  .ec-creditRole .ec-creditEnter dl:nth-child(n+2) {
    margin-top: 1.5rem;
  }
  .ec-orderHistoryRole {
    display: block;
  }
  .ec-orderHistoryRole .ec-orderHistoryRole__tr {
    display: block;
    padding: 1rem 0;
    padding-right: 80px;
    position: relative;
  }
  .ec-orderHistoryRole .ec-orderHistoryRole__cell {
    display: block;
  }
  .ec-orderHistoryRole .ec-orderHistoryRole__cell.detailBtn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
  }
  .ec-orderHistoryRole .ec-orderHistoryRole__cell.detailBtn a {
    min-width: auto;
    width: 66px;
  }
  .ec-orderHistoryRole.historyDetail {
    padding: 1.5rem;
  }
  .ec-orderHistoryRole.historyDetail .ec-orderHistoryRole__tr {
    padding: 0;
  }
  .ec-addressList .item {
    display: block;
  }
  .ec-addressList .item_num {
    margin: 0 0 0.5em;
  }
  .ec-addressList .item_content {
    margin: 0;
  }
  .ec-addressList .item_name {
    margin: 0;
  }
  .ec-addressList .item_edit {
    margin-top: 0.5rem;
  }
  .ec-anchorNav ul {
    display: none;
  }
  .ec-article__blog.style_10 .item h2, .ec-article__blog.style_10 .item .h2, .ec-article__blog.style_10 .item h3, .ec-article__blog.style_10 .item .h3, .ec-article__blog.style_10 .item h4, .ec-article__blog.style_10 .item .h4, .ec-article__blog.style_10 .item h5, .ec-article__blog.style_10 .item .h5 {
    margin: 1rem 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 3.2710280374vw;
  }
  .dl_table.rwd > dl {
    display: block;
    margin: 0;
    background-color: transparent !important;
    padding: 1em 0;
  }
  .dl_table.rwd > dl:first-child {
    border-top: none;
    padding-top: 0;
  }
  .dl_table.rwd > dl:last-child {
    border-bottom: none;
  }
  .dl_table.rwd > dl.head dt, .dl_table.rwd > dl.head dd {
    background-color: transparent;
  }
  .dl_table.rwd > dl > dt {
    font-weight: 700;
    padding: 0;
  }
  .dl_table.rwd > dl > dd {
    padding: 0;
    margin-top: 0.5em;
    /*
    &:last-of-type {
      margin-bottom: .5em;
    }
    */
  }
  .dl_table.type_delivery > dl {
    display: flex;
    flex-flow: row wrap;
  }
  .dl_table.type_delivery > dl.head {
    display: none;
  }
  .dl_table.type_delivery > dl > * {
    display: block;
    padding: 0;
    margin: 0;
    min-width: auto;
  }
  .dl_table.type_delivery > dl > *:nth-child(1) {
    order: 1;
    font-size: 1.071rem;
    font-weight: 500;
  }
  .dl_table.type_delivery > dl > *:nth-child(2) {
    order: 3;
    width: 100%;
    font-size: 1rem;
    font-weight: 400;
  }
  .dl_table.type_delivery > dl > *:nth-child(3) {
    order: 2;
    font-size: 1.071rem;
    font-weight: 500;
    margin-top: 0;
    margin-left: 0.75em;
    padding-left: 0.75em;
    property: 25%, 75%;
    border-left: solid 1px transparent;
    border-image-width: 0 0 0 1px;
    -o-border-image: linear-gradient(to top, transparent 25%, #777 25%, #777 75%, transparent 75%);
       border-image: linear-gradient(to top, transparent 25%, #777 25%, #777 75%, transparent 75%);
    border-image-slice: 1;
    transition: 0.2s;
  }
  .dl_table.type_delivery > dl > *:nth-child(3):first-child, .dl_table.type_delivery > dl > *:nth-child(3):hover, .dl_table.type_delivery > dl > *:nth-child(3):hover + li, .dl_table.type_delivery > dl > *:nth-child(3).active, .dl_table.type_delivery > dl > *:nth-child(3).active + li {
    -o-border-image: linear-gradient(to top, transparent 0%, transparent 100%);
       border-image: linear-gradient(to top, transparent 0%, transparent 100%);
  }
  .ec-debugRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-debugRole {
    margin-top: 7.009vw;
  }
  .ec-article ol {
    padding-left: 2rem;
  }
  .ec-article .ec-stickout {
    margin-inline: -7.009vw;
    padding: 7.009vw;
  }
  .ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-pageHeader h1, .ec-pageHeader .h1, .ec-pageHeader .ec-pageHeader__title {
    /*
    // 背景に色がある場合はネガティブマージンによる左右余白相殺で背景色をブラウザ幅フルに
    margin-left: $padding-sphone * -1;
    margin-right: $padding-sphone * -1;
    margin-top: 0;
    padding: $padding-sphone;
    */
    font-size: 1.429rem;
  }
  .ec-reportHeading {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-reportHeading {
    font-size: 1rem;
    text-align: left;
  }
  .ec-secHeading {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-secHeading .ec-secHeading__ja {
    font-size: 1.214rem;
  }
  .ec-borderedDefs > dl:nth-of-type(n+2) {
    margin-top: 4.667994vw;
    margin-bottom: 4.667994vw;
  }
  .ec-borderedDefs.horizon > dl > dt,
.ec-borderedDefs.horizon > dl > dd {
    margin: 0;
    padding: 0;
  }
  .ec-borderedDefs.horizon > dl > dt {
    margin-bottom: 0.5em;
  }
  .ec-blockBtn--action {
    width: 100%;
  }
  .ec-blockBtn--cancel {
    width: 100%;
  }
  .ec-blockBtn--home {
    width: 100%;
  }
  .ec-blockBtn--login {
    width: 100%;
  }
  .ec-blockBtn--entry {
    width: 100%;
  }
  .ec-blockBtn--guest {
    width: 100%;
  }
  .ec-blockBtn--refusal {
    width: 100%;
  }
  .ec-blockBtn--refusal_do {
    width: 100%;
  }
  .ec-blockDetailBtn, .ec-blockDetailBtn--right, .ec-blockDetailBtn--center, .ec-blockDetailBtn--thin {
    width: 100%;
  }
  .ec-pageGoBack {
    margin-top: 7.009vw;
    padding-left: 7.009vw;
    padding-right: 7.009vw;
    flex-flow: column;
  }
  .ec-pageGoBack li {
    margin: 0;
  }
  .ec-pageGoBack li:nth-child(n+2) {
    margin-top: 15px;
  }
  .ec-pageGoBack li a {
    display: flex;
    width: 100%;
  }
  .ec-closeBtn--circle {
    top: 7.009vw;
    right: 7.009vw;
  }
  .ec-blockTopBtn {
    font-size: 19px;
    right: 10px;
    bottom: 10px;
  }
  .ec-halfInput.sp-notHalf {
    display: block;
  }
  .ec-halfInput.sp-notHalf > .input_item {
    width: 100%;
    margin: 0;
  }
  .ec-halfInput.sp-notHalf > .input_item:nth-of-type(2) {
    margin-top: 1em;
  }
  .ec-radio input[type=radio] + label, .ec-blockRadio input[type=radio] + label {
    min-width: 9em;
  }
  .ec-label {
    font-weight: 500;
  }
  .ec-contactRole input[name=order_id] {
    width: 100%;
  }
  .ec-contactRole input[name=product_height] {
    width: 100%;
  }
  .ecp_form_valid dt .status, .ecp_form_valid th .status {
    font-size: 0.786rem;
  }
  .ec-variableForm {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__login {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
    padding: 7.009vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest:before {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__guest > .inner .box:nth-child(n+2) {
    margin-top: 7.009vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-shoppingLoginRole .ec-shoppingLoginRole__other > .inner .box:nth-child(n+2) {
    margin-top: 7.009vw;
  }
  .ec-totalBox {
    padding: 7.009vw;
  }
  body.LC_Page_Checkout_Member .ec-amazonpayLogin, body.LC_Page_Checkout_Nonmember .ec-amazonpayLogin {
    padding: 7.009vw;
    padding-top: 0;
  }
  .ec-amazonpayConfirmBox {
    font-size: 1rem;
  }
  .ec-amazonpayConfirmBox .ec-amazonpayConfirm dl dt {
    min-width: 7em;
  }
  .ec-cookieConsentRole .ec-cookieConsentRole__inner {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-cookieConsentRole .ec-cookieConsentRole__inner {
    display: block;
  }
  .ec-cookieConsentRole .btnBox {
    margin: 1rem 0 0 0;
    text-align: right;
  }
  .ec-mypageRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-mypageRole .ec-mypageReport {
    margin-top: 4.667994vw;
    margin-bottom: 4.667994vw;
  }
  .ec-mypageRole .ec-mypageReport p {
    display: inline-block;
    text-align: left;
  }
  .ec-mypageNavRole {
    display: none;
  }
  .ec-mypageUtilRole {
    display: block;
    position: relative;
  }
  .ec-mypageIndexRole ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    margin-top: 0px;
  }
  .ec-mypageIndexRole ul > * {
    flex: 0 0 auto;
    width: calc((100% - 0px ) / 1);
    margin-left: 0px;
    margin-top: 0px;
  }
  .ec-mypageIndexRole ul > *:nth-child(1n+1) {
    margin-left: 0;
  }
  .ec-mypageIndexRole ul li {
    border-bottom: 1px solid var(--clrBorderColor, #D4D4D4);
  }
  .ec-mypageIndexRole ul li:first-child {
    border-top: 1px solid var(--clrBorderColor, #D4D4D4);
  }
  .ec-mypageIndexRole ul li a .icon i {
    font-size: 24px;
  }
  .ec-mypageIndexRole ul li a .body h3, .ec-mypageIndexRole ul li a .body .h3 {
    font-size: 1.143rem;
  }
  .ec-favoriteRole ul.itemList li.item {
    display: block;
    padding: 1rem 0;
  }
  .ec-favoriteRole ul.itemList li.item:after {
    content: "";
    display: table;
    clear: both;
  }
  .ec-favoriteRole ul.itemList li.item .fav_image {
    width: 21vw;
    float: left;
    margin-right: 1rem;
  }
  .ec-favoriteRole ul.itemList li.item .fav_name {
    font-size: 1rem;
    padding: 0;
  }
  .ec-favoriteRole ul.itemList li.item .fav_price {
    font-size: 1rem;
    text-align: left;
  }
  .ec-favoriteRole ul.itemList li.item .edit {
    width: 100%;
    margin-top: 0.7em;
  }
  .ec-progressFlow {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-progressFlow {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
    width: 100vw;
    max-width: none;
  }
  .ec-progressFlow .ec-progressFlow__label {
    font-size: 0.857rem;
  }
  .ec-progressFlowPicture {
    margin: 7.009vw 0;
    padding: 0;
    font-size: 0.714rem;
    line-height: 1;
    display: flex;
    height: 3em;
    box-sizing: border-box;
    background-color: #fff;
    border: solid 1px #ddd;
    color: #999;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    position: relative;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item:nth-child(n+2) {
    padding-left: 0.5em;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item:after {
    content: "";
    border-top: solid 1.5em transparent;
    border-bottom: solid 1.5em transparent;
    border-left: solid 0.5em #fff;
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: -1px;
    z-index: 2;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item:before {
    content: "";
    border-top: solid 1.5em transparent;
    border-bottom: solid 1.5em transparent;
    border-left: solid 0.5em #ddd;
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: 0;
    z-index: 1;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item:last-child:before, .ec-progressFlowPicture .ec-progressFlowPicture__item:last-child:after {
    display: none;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__number {
    display: none;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__image {
    display: none;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item.is-current {
    background-color: #00758a;
    color: #fff;
  }
  .ec-progressFlowPicture .ec-progressFlowPicture__item.is-current:after {
    border-left-color: #00758a;
  }
  .ec-progressAction {
    margin-top: 7.009vw;
  }
  .ec-progressAction .ec-progressAction__message {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-progressAction .ecp_form_group {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-progressAction .ec-progressAction__actions {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-progressAction .ec-progressAction__actions {
    display: block;
  }
  .ec-progressAction .ec-progressAction__actions > *:nth-child(n+2) {
    margin-top: 1rem;
  }
  .ec-dropSelect .ec-dropSelect__body {
    padding: 7.009vw;
  }
  .ec-dropSelect .closeBtn {
    top: 7.009vw;
    right: 7.009vw;
  }
  .ec-layoutRole .ec-layoutRole__contentBottom {
    padding-top: 7.009vw;
  }
  .ec-layoutRole__contents.col_2 {
    /*
    // 左カラム（非表示）
    .ec-layoutRole__left {
      display: none;
    }
    */
  }
  .ec-role {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-headerRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-headerRole {
    height: 64px;
    padding: 0;
  }
  .ec-headerRole .ec-headerRole__left {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-start;
  }
  .ec-headerRole .ec-headerRole__center {
    display: none;
  }
  .ec-headerRole .ec-headerRole__right {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    padding-right: 10px;
  }
  .ec-headerTitle {
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .ec-headerTitle a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
  }
  .ec-headerTitle a img {
    width: 171px;
    height: 28px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: left 50%;
       object-position: left 50%;
    margin-top: 3px;
  }
  .ec-headerMenu .ec-headerMenu__item > a {
    padding-inline: 5px;
  }
  .ec-headerMenu .ec-headerMenu__item.hidden_mobile {
    display: none;
  }
  .ec-headerMenu .ec-headerMenu__itemText {
    display: none;
  }
  .ec-headerMenu .ec-headerMenu__itemPopup {
    display: none;
  }
  .ec-headerSearch .ec-headerSearch__inner {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-headerSearch .ec-headerSearch__inner {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-headerSearch .ec-headerSearch__util {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-cartNaviIsset .ec-cartNaviIsset__cartDelete a {
    top: 7.009vw;
    right: 7.009vw;
  }
  .ec-footerGuide .ec-footerGuide__item {
    padding: 14.018vw 7.009vw;
  }
  .ec-footerContactRole .content1,
.ec-footerContactRole .content2 {
    margin-top: 2rem;
    text-align: center;
  }
  .ec-footerContactRole .content1 .box1,
.ec-footerContactRole .content2 .box1 {
    font-size: 0.75rem;
  }
  .ec-footerContactRole .content1 .box2,
.ec-footerContactRole .content2 .box2 {
    margin-top: 0.5em;
  }
  .ec-footerGuide2 {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-footerGuide2 {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-footerGuide2 ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw;
  }
  .ec-footerGuide2 ul li a {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    border: solid 1px #707070;
    border-radius: 4px;
    justify-content: center;
    padding: 0.75em;
  }
  .ec-footerGuide2 ul li a:before {
    display: none;
  }
  .ec-footerLogoAndSocial {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-footerLogoAndSocial {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-footerNavi {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-footerNavi ul {
    display: block;
  }
  .ec-footerNavi ul li {
    margin: 0;
    border-bottom: dotted 1px rgba(255, 255, 255, 0.5);
  }
  .ec-footerNavi ul li a {
    display: block;
    padding: 0.5em 0;
    text-align: center;
  }
  .ec-footerTitle {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-footerTitle {
    padding-top: 10.5135vw;
    padding-bottom: 10.5135vw;
  }
  .ec-topicPathRole {
    padding: 0.5em 10px;
  }
  .ec-megamenu .ec-megamenu__body {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-megamenu .ec-megamenu__body {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-drawerButton {
    width: 64px;
    height: 64px;
    padding: 22px;
  }
  .ec-drawerRole {
    height: calc(100vh - 64px);
    top: 64px;
  }
  .ec-overlayRole {
    height: calc(100vh - 64px);
    top: 64px;
  }
  .ec-drawerMember {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-drawerMember {
    padding-top: 7.009vw;
    padding-bottom: 7.009vw;
  }
  .ec-drawerGuide {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-drawerGuide {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-drawerBanner {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-drawerBanner {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .slick-slider .slick-arrow,
.slick-appendArrows .slick-arrow {
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 15px;
    top: calc(100% + 15px);
    bottom: auto;
    transform: translate(0, 0);
  }
  .slick-slider .slick-arrow.slick-prev,
.slick-appendArrows .slick-arrow.slick-prev {
    left: auto;
    right: 50px;
  }
  .slick-slider .slick-arrow.slick-next,
.slick-appendArrows .slick-arrow.slick-next {
    left: auto;
    right: 0;
  }
  .slick-appendDots {
    background-color: #BCA46B;
  }
  .slick-appendDots .slick-dots {
    padding: 40px;
  }
  .slick-appendDots .slick-dots li {
    width: 6px;
    height: 6px;
    background-color: #ccc;
  }
  .slick-appendDots .slick-dots li.slick-active {
    background-color: #fff;
  }
  .slick-appendDots .slick-dots li + li {
    margin-left: 10px;
  }
  .ec-slickShift {
    padding-bottom: 55px;
  }
  .ec-slickShift .slick-slider .slick-arrow.slick-prev {
    right: 65px;
  }
  .ec-slickShift .slick-slider .slick-arrow.slick-next {
    right: 15px;
  }
  .ec-slickShift .slick-list {
    transform: translateX(7.009vw);
    width: 110%;
  }
  .ec-newsListItem > .inner {
    display: grid;
    grid-template-columns: 23% auto 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: "image date tag" "image title title";
  }
  .ec-newsListItem .image {
    grid-area: image;
    margin-right: 1rem;
  }
  .ec-newsListItem .image img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ec-newsListItem .date {
    grid-area: date;
    margin-top: 0 !important;
    font-size: 1rem;
    justify-self: start;
    align-self: center;
  }
  .ec-newsListItem .tag {
    grid-area: tag;
    margin: 0;
    margin-left: 1rem;
    justify-self: start;
  }
  .ec-newsListItem .title {
    grid-area: title;
    margin: 0;
    font-size: 1rem;
  }
  .ec-newpostTopNewsRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-newpostTopNewsRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-newpostTopNewsRole .ec-newpostTopNewsRole__list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }
  .ec-newpostTopNewsRole .btnbox {
    margin-top: 7.009vw;
  }
  .ec-newsListRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-newsListRole .ec-newsListRole__list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }
  .ec-newpostTopTopicsRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-newpostTopTopicsRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-newpostTopTopicsRole .slide-list {
    overflow-x: scroll;
    margin-left: -7.009vw;
    margin-right: -7.009vw;
  }
  .ec-newpostTopTopicsRole .ec-newpostTopTopicsRole__list {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
    width: 250vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
  .ec-newpostTopTopicsRole .slideScroll {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-newpostTopTopicsRole .btnbox {
    margin-top: 7.009vw;
  }
  .ec-dougaListItem {
    border: none;
    padding: 0;
  }
  .ec-newpostTopDougaRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-newpostTopDougaRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list {
    display: grid;
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 1.5rem;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) > .inner {
    display: grid;
    grid-template-columns: 31.5vw auto;
    grid-template-rows: 1rem auto;
    grid-template-areas: "image date" "image comment";
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) .image {
    grid-area: image;
    margin-right: 1rem;
    aspect-ratio: 4/3;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) .image:after {
    width: calc(100% - 7px * 2);
    height: calc(100% - 7px * 2);
    top: 7px;
    left: 7px;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) .image img {
    aspect-ratio: inherit;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) .date {
    grid-area: date;
    margin-top: 0;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) .title {
    display: none;
  }
  .ec-newpostTopDougaRole .ec-newpostTopDougaRole__list > *:nth-child(n+2) .comment {
    grid-area: comment;
    font-size: 0.928rem;
  }
  .ec-newpostTopDougaRole .btnbox {
    margin-top: 7.009vw;
  }
  .ec-newpostTopOsusumeRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-newpostTopOsusumeRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-newpostTopOsusumeRole {
    padding-inline: 0;
  }
  .ec-newpostTopOsusumeRole .slick-list {
    margin-left: -20px;
    -webkit-clip-path: inset(0 0 0 20px);
            clip-path: inset(0 0 0 20px);
  }
  .ec-newpostTopOsusumeRole .slick-list .slick-slide {
    margin-left: 20px;
  }
  .ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-newpostTopOsusumeRole .slick-appendArrows_topOsusume .slick-arrow {
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
  .ec-topRecommendMultiRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topRecommendMultiRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topRecommendMultiRole .ec-topRecommendMultiRole__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
  .ec-topRecommendMultiRole .btnbox {
    margin-top: 7.009vw;
  }
  .ec-topRecommendMultiSlickRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topRecommendMultiSlickRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topRecommendMultiSlickRole .btnbox {
    margin-top: 7.009vw;
  }
  .ec-topPopularItemRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topPopularItemRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topPopularItemRole .ec-topPopularItemRole__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
  .ec-topPopularItemRole .btnbox {
    margin-top: 7.009vw;
  }
  .ec-headPromotionRole .slick-list {
    margin-left: 0 !important;
    -webkit-clip-path: inset(0 0 0 0) !important;
            clip-path: inset(0 0 0 0) !important;
  }
  .ec-headPromotionRole .slick-list .slick-slide {
    margin: 0 !important;
  }
  .ec-topCategoryRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topCategoryRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 13px;
         column-gap: 13px;
    row-gap: 13px;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul li a:hover img {
    transform: none;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul li a img {
    aspect-ratio: 16/8.11;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ec-topCategoryRole .ec-topCategoryRole__list ul li a .title {
    position: static;
    background-color: transparent;
    color: var(--clrDefault, #000);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.071rem;
    width: 100%;
    pointer-events: none;
  }
  .ec-topAboutRole {
    margin: 7.009vw 0;
    background-image: none !important;
    background-color: #BCA46B;
    aspect-ratio: initial;
    padding: 0;
  }
  .ec-topAboutRole .content {
    width: 100%;
    padding: 7.009vw;
    background-color: transparent;
  }
  .ec-topAboutRole .catchtext {
    font-family: "Noto Sans JP", sans-serif;
  }
  .ec-topAboutRole .catchtext br {
    display: block;
  }
  .ec-topAboutRole .description {
    font-size: 1rem;
  }
  .ec-topAboutRole .sp_image {
    display: block;
  }
  .ec-topBrandRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topBrandRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topSeriesRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topSeriesRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topSidemenuRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topSidemenuRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topGiftPriceRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-topGiftPriceRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-topGiftPriceRole {
    padding-top: 10.5135vw;
    padding-bottom: 10.5135vw;
  }
  .ec-topGiftPriceRole .ec-topGiftPriceRole__list ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
  .ec-searchnavRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-searchnavRole {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-childCategoryRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-childCategoryRole {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-childCategoryRole .ec-childCategoryRole__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .ec-shelfRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-shelfRole {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-shelfGrid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ec-productItemRole .ec-productItemRole__description {
    font-size: 0.857rem;
    line-height: 1.4;
  }
  .ec-productItemRole .ec-productItemRole__price {
    font-size: 1rem;
  }
  .ec-productItemRole .ec-productItemRole__price .ec-price__label,
.ec-productItemRole .ec-productItemRole__price .ec-price__price,
.ec-productItemRole .ec-productItemRole__price .ec-price__tax {
    font-size: inherit;
  }
  .ec-pagerRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article {
    padding-top: 7.009vw;
    padding-bottom: 7.009vw;
  }
  .ec-categoryHeadRole .ec-categoryHeadRole__article .ec-article {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-crossSearchRole {
    padding: 7.009vw;
    padding-bottom: 10rem;
  }
  .ec-crossSearchRole .crossSearchClose {
    top: 7.009vw;
    right: 7.009vw;
  }
  .ec-crossSearchRole .ec-crossSearchRole__action {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 1rem 7.009vw;
    margin: 0;
  }
  .ec-crossSearchItem .item_dialog .dialog {
    top: calc((100vh - 64px) * 0.5 + 64px);
    transform: translateY(-50%);
    left: 5vw;
    width: 90vw;
    max-height: calc(100dvh - (64px + 10vw));
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_body .item {
    padding: 0.5em 0;
    border-bottom: solid 1px var(--clrBorderColor, #D4D4D4);
    /*
    &:nth-child(n+2) {
      border-top: solid 1px $clrBorderColor;
    }
    */
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_body .item .initialChar {
    visibility: hidden;
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_close {
    font-size: 1.15rem;
    width: 2em;
    height: 2em;
    line-height: 2em;
    text-align: center;
    background-color: #fff;
    color: inherit;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    top: 0;
    bottom: auto;
    transform: translate(30%, -30%);
    margin: 0;
  }
  .ec-crossSearchItem .item_dialog .dialog .dialog_close i {
    line-height: inherit;
  }
  .ec-categoryRankingRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-categoryRankingRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-categoryRankingRole {
    padding-bottom: 7.009vw;
  }
  .ec-categoryRankingRole .ec-categoryRankingRole__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
    row-gap: 1rem;
  }
  .ec-categoryRankingRole .ec-categoryRankingRole__list .ec-shelfGrid__item:nth-child(n+4) {
    display: none;
  }
  .ec-productRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-productRole {
    position: relative;
  }
  .ec-productRole .ec-productRole__gridCell.cellLeft {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
  }
  .ec-productRole .ec-productRole__gridCell.cellRight {
    margin-top: 20px;
  }
  .ec-productRole__visual {
    position: relative;
    overflow: hidden;
  }
  .ec-productRole__visual .ec-productVisualMain .slick-arrow {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
  }
  .ec-productRole__visual .ec-productVisualMain .slick-arrow.slick-prev {
    left: 0;
    right: auto;
  }
  .ec-productRole__visual .ec-productVisualMain .slick-arrow.slick-next {
    left: auto;
    right: 0;
  }
  .ec-productRole__visual .ec-productVisualMain:after {
    display: none;
  }
  .ec-productRole__visual .ec-productVisualNav.desktop {
    display: none;
  }
  .ec-productRole .ec-productRole__pirceWrap {
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .ec-productRole .ec-productRole__pirceWrap .ec-productRole__priceRegular {
    width: 100%;
  }
  .ec-productRole .ec-productRole__feature {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-productRole .ec-productRole__feature {
    margin-top: -1.5rem;
  }
  .ec-productRole .ec-productRole__feature .feature_tabs {
    display: none;
  }
  .ec-productReviewPostRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-cloneCartinRole {
    padding: 30px 7.009vw 20px;
  }
  .ec-cloneCartinRole .ec-cloneCartinRole__actions .ec-productRole__cartinRow {
    /* スマホ時、ページトップボタンと被るので余白を設けます */
    padding: 0 30px;
  }
  .ec-productReviewRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-productReviewRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-productReviewRole .ec-productReviewRole__content {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-productReviewRole .ec-productReviewRole__actions .ec-blockBtn {
    width: 100%;
  }
  .ec-productsDetailRelatedRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-productsDetailRelatedRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-productsDetailRelatedRole .ec-productsDetailRelatedRole__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .ec-productsDetailAlsoBoughtRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-productsDetailAlsoBoughtRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-productsDetailAlsoBoughtRole .ec-productsDetailAlsoBoughtRole__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .ec_recentlyViewedProductsRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec_recentlyViewedProductsRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-ecpCartRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-ecpCartRole .ec-ecpCartRole__layout {
    display: block;
  }
  .ec-ecpCartRole .ec-ecpCartRole__summary {
    margin-top: 7.009vw;
  }
  .ec-ecpCartRole .pointAnnounce.desktop {
    display: none;
  }
  .ec-ecpCartRole .ec-ecpCartRole__pointAnnounce {
    padding: 1rem;
  }
  .ec-ecpCartRole .ec-ecpCartRole__actions {
    width: 100%;
    margin: 0;
  }
  .ec-ecpCartRole .ec-ecpCartRole__util.desktop .box {
    font-size: 1rem;
  }
  .ec-ecpCartRole .ec-ecpCartRole__util.desktop .box.pageback {
    display: none;
  }
  .ec-cartinProduct {
    flex-flow: row wrap;
    position: relative;
  }
  .ec-cartinProduct .ec-cartinProduct__delete {
    width: auto;
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
  }
  .ec-cartinProduct .ec-cartinProduct__summary .product_giftOption {
    display: block;
  }
  .ec-cartinProduct .ec-cartinProduct__summary .product_giftOption .giftkbn {
    display: block;
    text-align: center;
    padding: 0.25em;
  }
  .ec-cartinProduct .ec-cartinProduct__summary .product_giftOption .product_optionResult {
    margin: 0.5em 0 0;
    display: block;
  }
  .ec-cartinProduct .ec-cartinProduct__action {
    flex: 0 0 100%;
    margin-left: 0;
  }
  .ec-orderRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-orderAccount,
.ec-orderDelivery,
.ec-orderPayment,
.ec-orderPoint,
.ec-orderCoupon,
.ec-orderMessage,
.ec-orderKiyaku,
.ec-orderNoshi,
.ec-orderWrapping,
.ec-orderReceipt {
    margin-top: 4.667994vw;
    margin-bottom: 4.667994vw;
  }
  .ec-orderDelivery .ec-orderDelivery__actions {
    display: block;
  }
  .ec-orderDelivery .ec-orderDelivery__actions .ecp_form_group:nth-child(2) {
    margin-left: 0;
    margin-top: 1em;
  }
  .ec-orderPoint .point_announce {
    padding: 1rem;
  }
  .ec-orderPoint .ec-pointLayout .item {
    display: block;
  }
  .ec-orderPoint .ec-pointLayout .item_content {
    margin-top: 0.5em;
  }
  .ec-orderNoshi .ec-orderNoshi__layout,
.ec-orderNoshi .ec-orderWrapping__layout,
.ec-orderWrapping .ec-orderNoshi__layout,
.ec-orderWrapping .ec-orderWrapping__layout {
    display: block;
  }
  .ec-orderNoshi .ec-orderNoshi__image,
.ec-orderNoshi .ec-orderWrapping__image,
.ec-orderWrapping .ec-orderNoshi__image,
.ec-orderWrapping .ec-orderWrapping__image {
    padding: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 7.009vw;
  }
  .ec-orderConfirmRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-confirmBox {
    font-size: 1rem;
  }
  .ec-confirmBox dl dt {
    min-width: 7em;
  }
  .ec-orderConfirmCart {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-orderConfirmCart .ec-ecpCartTotal table {
    width: 100%;
  }
  .ec-orderConfirmCart .ec-ecpCartTotal table th {
    font-size: 1.071rem;
    padding-left: 0;
  }
  .ec-orderConfirmCart .ec-ecpCartTotal table td {
    font-size: 1.143rem;
    padding-right: 0;
  }
  .ec-creditRole .ec-creditRole__enter {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-creditRole .ec-creditEnter {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-creditRole .ec-creditEnter dl.horizon dd.attention {
    width: 100%;
    margin-left: 0;
    margin-top: 0.5rem;
  }
  .ec-creditRole .ec-creditRole__footer {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-orderCompleteRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-confirmCancelMessage {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-confirmRegularlyMessage {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-historyCartTable table th, .ec-historyCartTable table td {
    font-size: 1rem;
  }
  .ec-historyCartTable .paymentTotal td {
    font-size: 1.143rem;
  }
  .ec-historyShipping {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-orderMails {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-orderRole .ec-addressList .item:first-child .item_edit .ec-editBtn {
    display: none;
  }
  .ec-orderRole .ec-addressList .item_radio {
    margin: 0;
    margin-bottom: 1em;
  }
  .ec-forgotRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-registerRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-contactRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-contactRole .ec-contactRole__product dd .image {
    width: 25vw;
    margin-right: 1rem;
  }
  .ec-customerRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-customerRole #shipping_form_area {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-404Role .ec-off4Grid {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-404Role .ec-off4Grid {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-notFoundRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-withdrawRole {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-helpRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-helpRole {
    position: relative;
  }
  .ec-helpGridRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-anchorNav ul {
    font-size: inherit;
  }
  .ec-helpArticle h1, .ec-helpArticle .h1 {
    font-weight: 700;
    background-color: #848484;
    color: #fff;
    text-align: center;
    margin-top: -10.5135vw;
    margin-left: -7.009vw;
    margin-right: -7.009vw;
    margin-bottom: 7.009vw;
    padding: 1.25em 7.009vw;
    border-bottom: none;
  }
  .ec-helpArticle .pic_text img {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
  }
  .ec-helpIndexRole {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item h3, .ec-helpIndexRole .ec-helpIndexRole__item .h3 {
    font-weight: 700;
    padding: 0.7em 7.009vw;
    background-color: #F2F3F5;
    border-bottom: none;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item ul li a {
    padding: 1.2em 7.009vw;
  }
  .ec-helpIndexRole .ec-helpIndexRole__item ul li a:after {
    right: 7.009vw;
  }
  .ec-helpMapRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-faqIndexRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-faqIndexRole h2, .ec-faqIndexRole .h2 {
    border-bottom: none;
  }
  .ec-faqSearch {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-faqSearch.toggleCategory {
    display: block;
    margin-bottom: 0;
  }
  .ec-faqSearch.toggleCategory + .ec-faqCategory {
    margin-top: 0;
    display: none;
  }
  .ec-faqSearch.toggleCategory + .ec-faqCategory h2, .ec-faqSearch.toggleCategory + .ec-faqCategory .h2 {
    display: none;
  }
  .ec-faqCategory {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-faqList {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-article__blog.style_11 .item:nth-child(n+2) {
    margin-top: 1.5rem;
  }
  .ec-article__blog.style_11 .item:after {
    content: "";
    display: table;
    clear: both;
  }
  .ec-article__blog.style_11 .item img {
    display: block;
    width: 46% !important;
    float: left;
    margin-right: 1rem;
    margin-bottom: 7px;
  }
  .ec-article__blog.style_11 .item h2, .ec-article__blog.style_11 .item .h2, .ec-article__blog.style_11 .item h3, .ec-article__blog.style_11 .item .h3, .ec-article__blog.style_11 .item h4, .ec-article__blog.style_11 .item .h4, .ec-article__blog.style_11 .item h5, .ec-article__blog.style_11 .item .h5 {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    margin-bottom: 0.25em;
    transform: translateY(-0.25em);
  }
  .ec-article__blog.style_11 .item p {
    margin: 0;
    line-height: 1.5;
  }
  .ec-article__blog.style_12 .item:nth-child(n+2) {
    margin-top: 1.5rem;
  }
  .ec-article__blog.style_12 .item:after {
    content: "";
    display: table;
    clear: both;
  }
  .ec-article__blog.style_12 .item img {
    display: block;
    width: 46% !important;
    float: left;
    margin-right: 1rem;
    margin-bottom: 7px;
  }
  .ec-article__blog.style_12 .item h2, .ec-article__blog.style_12 .item .h2, .ec-article__blog.style_12 .item h3, .ec-article__blog.style_12 .item .h3, .ec-article__blog.style_12 .item h4, .ec-article__blog.style_12 .item .h4, .ec-article__blog.style_12 .item h5, .ec-article__blog.style_12 .item .h5 {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    margin-bottom: 0.25em;
    transform: translateY(-0.25em);
  }
  .ec-article__blog.style_12 .item p {
    margin: 0;
    line-height: 1.5;
  }
  .ec-article__blog.style_13 .item:nth-child(n+2) {
    margin-top: 1.5rem;
  }
  .ec-article__blog.style_13 .item:after {
    content: "";
    display: table;
    clear: both;
  }
  .ec-article__blog.style_13 .item img {
    display: block;
    width: 46% !important;
    float: left;
    margin-right: 1rem;
    margin-bottom: 7px;
  }
  .ec-article__blog.style_13 .item h2, .ec-article__blog.style_13 .item .h2, .ec-article__blog.style_13 .item h3, .ec-article__blog.style_13 .item .h3, .ec-article__blog.style_13 .item h4, .ec-article__blog.style_13 .item .h4, .ec-article__blog.style_13 .item h5, .ec-article__blog.style_13 .item .h5 {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4vw;
    margin-bottom: 0.25em;
    transform: translateY(-0.25em);
  }
  .ec-article__blog.style_13 .item p {
    margin: 0;
    line-height: 1.5;
  }
  .ec-article__blog.style_20 .list {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
  .ec-article__blog.style_30 dl {
    grid-template-columns: 30% 1fr;
    font-size: 1rem;
  }
  .ec-article__blog.style_32 .item {
    display: block;
    border-top: none;
    padding: 0;
    padding-bottom: 1rem;
  }
  .ec-article__blog.style_32 .item p {
    margin: 1rem 0;
  }
  .ec-blogRole .ec-blogRole__layout {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-blogRole .ec-blogRole__side {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-blogListRole .ec-blogListRole__foot {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-blogShelfGrid {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
  }
  .ec-blogDetailRole .ec-blogDetailRole__head .headImage {
    margin-left: -7.009vw;
    margin-right: -7.009vw;
  }
  .ec-blogDetailRole .ec-blogDetailRole__body {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-blogDetailRole .ec-blogDetailRole__share {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-blogSideRole:nth-child(n+2) {
    margin-top: 7.009vw;
    margin-bottom: 7.009vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__question {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__question {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__answer {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__answer {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__search {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-faqDetailRole .ec-faqDetailRole__search {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-sitemapRole {
    padding-left: 7.009vw;
    padding-right: 7.009vw;
  }
  .ec-sitemapRole {
    position: relative;
  }
  .ec-sitemapRole .ec-sitemapRole__item ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0;
  }
  .ec-shopInformationRole {
    margin-top: 10.5135vw;
    margin-bottom: 10.5135vw;
  }
  .ec-shopInformationRole {
    padding-top: 10.5135vw;
    padding-bottom: 10.5135vw;
  }
  .ec-shopInformationRole {
    border-top: none;
    padding-top: 0;
    margin: 7.009vw 0;
  }
  .ec-shopInformationRole .ec-shopInformationRole__inner {
    background-color: #F2F2F2;
    padding: 1.25rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 427px) {
  .ec-headerTitle {
    position: static;
    transform: translateX(0);
  }
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
  .form-control::file-selector-button {
    transition: none;
  }
  .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .form-select {
    transition: none;
  }
  .form-switch .form-check-input {
    transition: none;
  }
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
  .form-floating > label {
    transition: none;
  }
  .btn {
    transition: none;
  }
  .fade {
    transition: none;
  }
  .collapsing {
    transition: none;
  }
  .collapsing.collapse-horizontal {
    transition: none;
  }
  .nav-link {
    transition: none;
  }
  .navbar-toggler {
    transition: none;
  }
  .accordion-button {
    transition: none;
  }
  .accordion-button::after {
    transition: none;
  }
  .page-link {
    transition: none;
  }
  .progress-bar {
    transition: none;
  }
  .progress-bar-animated {
    animation: none;
  }
  .modal.fade .modal-dialog {
    transition: none;
  }
  .carousel-item {
    transition: none;
  }
  .carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    transition: none;
  }
  .carousel-control-prev,
.carousel-control-next {
    transition: none;
  }
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
  .spinner-border,
.spinner-grow {
    animation-duration: 1.5s;
  }
  .offcanvas {
    transition: none;
  }
  .ec-input input, .ec-telInput input, .ec-zipInput input, .ec-numberInput input, .ec-halfInput input {
    transition: none;
  }
  .ec-input textarea, .ec-telInput textarea, .ec-zipInput textarea, .ec-numberInput textarea, .ec-halfInput textarea {
    transition: none;
  }
  .ec-select select, .ec-birth select {
    transition: none;
  }
  .ec-select .customer-address_pref input, .ec-birth .customer-address_pref input {
    transition: none;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-grid {
    display: grid !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: flex !important;
  }

  .d-print-inline-flex {
    display: inline-flex !important;
  }

  .d-print-none {
    display: none !important;
  }
}
/*# sourceMappingURL=style.css.map */