@charset "UTF-8";
@import url("../../../../../node_modules/normalize.css/normalize.css");
/*!
 * Bootstrap  v5.3.5 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
:root,
[data-bs-theme=light] {
  --bs-blue: #337ab7;
  --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-black: #000;
  --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: #337ab7;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 51, 122, 183;
  --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-primary-text-emphasis: #143149;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #d6e4f1;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #adcae2;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: "Noto Sans JP", Roboto, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
  --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: calc(1.265rem + 0.18vw);
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.42857142;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #337ab7;
  --bs-link-color-rgb: 51, 122, 183;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #296292;
  --bs-link-hover-color-rgb: 41, 98, 146;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(51, 122, 183, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}
@media (min-width: 1200px) {
  :root,
  [data-bs-theme=light] {
    --bs-body-font-size: 1.4rem;
  }
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #85afd4;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #0a1825;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #1f496e;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #85afd4;
  --bs-link-hover-color: #9dbfdd;
  --bs-link-color-rgb: 133, 175, 212;
  --bs-link-hover-color-rgb: 157, 191, 221;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

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;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

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;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 3.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.405rem + 1.86vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2.8rem;
  }
}

h3, .h3 {
  font-size: calc(1.37rem + 1.44vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 2.45rem;
  }
}

h4, .h4 {
  font-size: calc(1.335rem + 1.02vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 2.1rem;
  }
}

h5, .h5 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h5, .h5 {
    font-size: 1.75rem;
  }
}

h6, .h6 {
  font-size: calc(1.265rem + 0.18vw);
}
@media (min-width: 1200px) {
  h6, .h6 {
    font-size: 1.4rem;
  }
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[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.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

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;
}

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: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

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: var(--bs-secondary-color);
  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]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

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;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
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] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* 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-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: calc(1.3rem + 0.6vw);
  font-weight: 300;
}
@media (min-width: 1200px) {
  .lead {
    font-size: 1.75rem;
  }
}

.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.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: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  .blockquote {
    font-size: 1.75rem;
  }
}
.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: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  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: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.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.33333333%;
}

.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.66666667%;
}

.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;
}

@media (min-width: 576px) {
  .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.33333333%;
  }
  .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.66666667%;
  }
  .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;
  }
}
@media (min-width: 768px) {
  .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.33333333%;
  }
  .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.66666667%;
  }
  .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;
  }
}
@media (min-width: 992px) {
  .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.33333333%;
  }
  .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.66666667%;
  }
  .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;
  }
}
@media (min-width: 1200px) {
  .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.33333333%;
  }
  .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.66666667%;
  }
  .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;
  }
}
@media (min-width: 1400px) {
  .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.33333333%;
  }
  .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.66666667%;
  }
  .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;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.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-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #d6e4f1;
  --bs-table-border-color: #abb6c1;
  --bs-table-striped-bg: #cbd9e5;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #c1cdd9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c6d3df;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #a7b9b1;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #a6c3ca;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #c6acae;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --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: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.42857142;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  .col-form-label-lg {
    font-size: 1.75rem;
  }
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 1.225rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: calc(1.265rem + 0.18vw);
  font-weight: 400;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (min-width: 1200px) {
  .form-control {
    font-size: 1.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #99bddb;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.42857142em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 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.42857142em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 1.225rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.42857142em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: calc(1.3rem + 0.6vw);
  border-radius: var(--bs-border-radius-lg);
}
@media (min-width: 1200px) {
  .form-control-lg {
    font-size: 1.75rem;
  }
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.42857142em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.42857142em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.42857142em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.42857142em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.42857142em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.42857142em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: 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 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: calc(1.265rem + 0.18vw);
  font-weight: 400;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (min-width: 1200px) {
  .form-select {
    font-size: 1.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #99bddb;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 1.225rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: calc(1.3rem + 0.6vw);
  border-radius: var(--bs-border-radius-lg);
}
@media (min-width: 1200px) {
  .form-select-lg {
    font-size: 1.75rem;
  }
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.999999988rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.21428571em;
  vertical-align: top;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
          print-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: #99bddb;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
}
.form-check-input:checked {
  background-color: #337ab7;
  border-color: #337ab7;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-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 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-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: #337ab7;
  border-color: #337ab7;
  --bs-form-check-bg-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 {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: 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");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2399bddb'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: 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-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.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;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
          appearance: none;
  background-color: #337ab7;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #c2d7e9;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  -moz-appearance: none;
       appearance: none;
  background-color: #337ab7;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #c2d7e9;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 0.75rem;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
  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-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:not(:-moz-placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: calc(1.265rem + 0.18vw);
  font-weight: 400;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}
@media (min-width: 1200px) {
  .input-group-text {
    font-size: 1.4rem;
  }
}

.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: calc(1.3rem + 0.6vw);
  border-radius: var(--bs-border-radius-lg);
}
@media (min-width: 1200px) {
  .input-group-lg > .form-control,
  .input-group-lg > .form-select,
  .input-group-lg > .input-group-text,
  .input-group-lg > .btn {
    font-size: 1.75rem;
  }
}

.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: 1.225rem;
  border-radius: var(--bs-border-radius-sm);
}

.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):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  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):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  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: calc(-1 * var(--bs-border-width));
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  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: var(--bs-form-valid-color);
}

.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: 1.225rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.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: var(--bs-form-valid-border-color);
  padding-right: calc(1.42857142em + 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.73.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.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.357142855em + 0.1875rem) center;
  background-size: calc(0.71428571em + 0.375rem) calc(0.71428571em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.42857142em + 0.75rem);
  background-position: top calc(0.357142855em + 0.1875rem) right calc(0.357142855em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.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"] {
  --bs-form-select-bg-icon: 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.73.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.1'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.71428571em + 0.375rem) calc(0.71428571em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.42857142em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.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: 1.225rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.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: var(--bs-form-invalid-border-color);
  padding-right: calc(1.42857142em + 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.357142855em + 0.1875rem) center;
  background-size: calc(0.71428571em + 0.375rem) calc(0.71428571em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.42857142em + 0.75rem);
  background-position: top calc(0.357142855em + 0.1875rem) right calc(0.357142855em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.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"] {
  --bs-form-select-bg-icon: 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");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.71428571em + 0.375rem) calc(0.71428571em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.42857142em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: calc(1.265rem + 0.18vw);
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.42857142;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  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;
}
@media (min-width: 1200px) {
  .btn {
    --bs-btn-font-size: 1.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #337ab7;
  --bs-btn-border-color: #337ab7;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2b689c;
  --bs-btn-hover-border-color: #296292;
  --bs-btn-focus-shadow-rgb: 82, 142, 194;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #296292;
  --bs-btn-active-border-color: #265c89;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #337ab7;
  --bs-btn-disabled-border-color: #337ab7;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #31d2f2;
  --bs-btn-hover-border-color: #25cff2;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3dd5f3;
  --bs-btn-active-border-color: #25cff2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #337ab7;
  --bs-btn-border-color: #337ab7;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #337ab7;
  --bs-btn-hover-border-color: #337ab7;
  --bs-btn-focus-shadow-rgb: 51, 122, 183;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #337ab7;
  --bs-btn-active-border-color: #337ab7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #337ab7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #337ab7;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 82, 142, 194;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: calc(1.3rem + 0.6vw);
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}
@media (min-width: 1200px) {
  .btn-lg, .btn-group-lg > .btn {
    --bs-btn-font-size: 1.75rem;
  }
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 1.225rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  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 {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: calc(1.265rem + 0.18vw);
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #337ab7;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
@media (min-width: 1200px) {
  .dropdown-menu {
    --bs-dropdown-font-size: 1.4rem;
  }
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.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;
}

@media (min-width: 576px) {
  .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;
  }
}
@media (min-width: 768px) {
  .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;
  }
}
@media (min-width: 992px) {
  .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;
  }
}
@media (min-width: 1200px) {
  .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;
  }
}
@media (min-width: 1400px) {
  .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;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.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: var(--bs-dropdown-spacer);
}
.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: var(--bs-dropdown-spacer);
}
.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: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 1.225rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #337ab7;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-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 {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.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: calc(-1 * var(--bs-border-width));
}
.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:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #337ab7;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  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 {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.2500000015rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.75rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.75rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.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: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .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: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .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 {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .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: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .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 {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .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: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .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 {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .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: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .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 {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .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: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .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 {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.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: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.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 {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: 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");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: 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");
}

.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.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: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .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;
  }
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-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;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23143149' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: calc(1.265rem + 0.18vw);
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (min-width: 1200px) {
  .accordion-button {
    font-size: 1.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.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-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2385afd4'%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-.708'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2385afd4'%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-.708'/%3e%3c/svg%3e");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: calc(1.265rem + 0.18vw);
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #337ab7;
  --bs-pagination-active-border-color: #337ab7;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}
@media (min-width: 1200px) {
  .pagination {
    --bs-pagination-font-size: 1.4rem;
  }
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  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;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(-1 * var(--bs-border-width));
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: calc(1.3rem + 0.6vw);
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}
@media (min-width: 1200px) {
  .pagination-lg {
    --bs-pagination-font-size: 1.75rem;
  }
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 1.225rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 1.05rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #337ab7;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.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: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #337ab7;
  --bs-list-group-active-border-color: #337ab7;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.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: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  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: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: 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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(51, 122, 183, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-bs-theme=light] {
  --bs-btn-close-filter: ;
}

[data-bs-theme=dark] {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.42857142;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.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% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.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,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .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,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .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,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .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,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .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,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .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,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 1.225rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.42857142;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 1.225rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: calc(1.265rem + 0.18vw);
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.42857142;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
@media (min-width: 1200px) {
  .popover {
    --bs-popover-header-font-size: 1.4rem;
  }
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.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: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.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;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.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%);
}

.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;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.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;
  filter: var(--bs-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.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%;
}

.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 0'/%3e%3c/svg%3e") /*rtl: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-.708'/%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-.708'/%3e%3c/svg%3e") /*rtl: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 0'/%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%;
}
.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: var(--bs-carousel-indicator-active-bg);
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.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: var(--bs-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --bs-carousel-indicator-active-bg: #fff;
  --bs-carousel-caption-color: #fff;
  --bs-carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.42857142;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.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;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-left: auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.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: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(41, 98, 146, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(41, 98, 146, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.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;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 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) {
  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;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !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: var(--bs-border-width);
  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;
}

.object-fit-contain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.object-fit-cover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.object-fit-fill {
  -o-object-fit: fill !important;
     object-fit: fill !important;
}

.object-fit-scale {
  -o-object-fit: scale-down !important;
     object-fit: scale-down !important;
}

.object-fit-none {
  -o-object-fit: none !important;
     object-fit: 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;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: 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-inline-grid {
  display: inline-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: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.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: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !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;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.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;
}

.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;
}

.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;
}

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

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

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

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

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

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

.column-gap-0 {
  -moz-column-gap: 0 !important;
       column-gap: 0 !important;
}

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

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

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

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

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

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.475rem + 2.7vw) !important;
}

.fs-2 {
  font-size: calc(1.405rem + 1.86vw) !important;
}

.fs-3 {
  font-size: calc(1.37rem + 1.44vw) !important;
}

.fs-4 {
  font-size: calc(1.335rem + 1.02vw) !important;
}

.fs-5 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-6 {
  font-size: calc(1.265rem + 0.18vw) !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !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.42857142 !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: var(--bs-secondary-color) !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-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !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;
}

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-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-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !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-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
          user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
          user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
       object-fit: 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-inline-grid {
    display: inline-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;
  }
  .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;
  }
  .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;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 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) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
       object-fit: 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-inline-grid {
    display: inline-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;
  }
  .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;
  }
  .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;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
       object-fit: 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-inline-grid {
    display: inline-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;
  }
  .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;
  }
  .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;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 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) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
       object-fit: 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-inline-grid {
    display: inline-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;
  }
  .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;
  }
  .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;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
       object-fit: 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-inline-grid {
    display: inline-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;
  }
  .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;
  }
  .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;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 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: 1200px) {
  .fs-1 {
    font-size: 3.5rem !important;
  }
  .fs-2 {
    font-size: 2.8rem !important;
  }
  .fs-3 {
    font-size: 2.45rem !important;
  }
  .fs-4 {
    font-size: 2.1rem !important;
  }
  .fs-5 {
    font-size: 1.75rem !important;
  }
  .fs-6 {
    font-size: 1.4rem !important;
  }
}
@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-inline-grid {
    display: inline-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;
  }
}
html {
  font-size: 62.5%;
}

body {
  transition: z-index 0ms 5.28455ms;
  margin: 0;
  letter-spacing: 0.05em;
}

a {
  text-decoration: none;
}

pre {
  background-color: transparent;
  border: none;
  padding: 16px 0;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
見出し

ページ内で見出しとして機能する要素のスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 1.1
*/
/*
見出し

商品紹介等で利用される、一般的な見出しのスタイルです。

ex [商品詳細ページ　商品見出し部分](http://demo3.ec-cube.net/products/detail/27)

Markup:
.ec-headingTitle マトリョーシカ

Styleguide 1.1.1
*/
.ec-headingTitle {
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: normal;
}

/*
ページヘッダ

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

ex [利用規約ページ　ページヘッダ部](http://demo3.ec-cube.net/help/agreement)

Markup:
.ec-pageHeader
  h1 利用規約

Styleguide 1.1.2
*/
.ec-pageHeader, .ec-pageHeader--note {
  margin-inline: -15px;
}
@media only screen and (min-width: 768px) {
  .ec-pageHeader, .ec-pageHeader--note {
    margin-inline: 0;
  }
}
.ec-pageHeader + div[class$=Grid], .ec-pageHeader--note + div[class$=Grid] {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-pageHeader + div[class$=Grid], .ec-pageHeader--note + div[class$=Grid] {
    margin-top: 30px;
  }
}
.ec-pageHeader h1, .ec-pageHeader--note h1, .ec-pageHeader .h1, .ec-pageHeader--note .h1 {
  margin: 0;
  padding: 0 15px 20px;
  border-bottom: 1px solid #efefef;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-pageHeader h1, .ec-pageHeader--note h1, .ec-pageHeader .h1, .ec-pageHeader--note .h1 {
    max-width: 1000px;
    margin-inline: auto;
    padding-bottom: 30px;
    font-size: 3rem;
  }
  #page_cart .ec-pageHeader h1, #page_cart .ec-pageHeader--note h1, #page_cart .ec-pageHeader .h1, #page_cart .ec-pageHeader--note .h1 {
    border-bottom: none;
  }
}
.ec-pageHeader--note h1, .ec-pageHeader--note .h1 {
  padding-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-pageHeader--note h1, .ec-pageHeader--note .h1 {
    padding-bottom: 10px;
  }
}
.ec-pageHeader--note h1 img, .ec-pageHeader--note .h1 img {
  max-width: 120px;
}
@media only screen and (min-width: 768px) {
  .ec-pageHeader--note h1 img, .ec-pageHeader--note .h1 img {
    max-width: 160px;
  }
}

/*
サブ見出し

利用規約など、文字主体のページで用いられるサブ見出しです。

ex [利用規約ページ サブ見出し部分](http://demo3.ec-cube.net/help/agreement)

Markup:
.ec-heading 第1条 (会員)

Styleguide 1.1.3
*/
.ec-heading {
  margin: 24px 0;
}

/*
サブ見出し(太字)

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

ex [プライバシーポリシー サブ見出し部分](http://demo3.ec-cube.net/help/privacy)

Markup:
.ec-heading-bold 個人情報の定義

Styleguide 1.1.4
*/
.ec-heading-bold {
  margin: 16px 0;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-heading-bold {
    font-size: 18px;
  }
}

/*
背景付き見出し

マイページ注文履歴等で用いられる背景付きの見出しです。

ex [ご注文履歴詳細　背景付き見出し部分](http://demo3.ec-cube.net/mypage/history/1063)

Markup:
.ec-rectHeading
  h2 配送情報
.ec-rectHeading
  h2 お支払について

Styleguide 1.1.5
*/
.ec-rectHeading h1, .ec-rectHeading .h1, .ec-rectHeading h2, .ec-rectHeading .h2, .ec-rectHeading h3, .ec-rectHeading .h3,
.ec-rectHeading h4,
.ec-rectHeading .h4, .ec-rectHeading h5, .ec-rectHeading .h5, .ec-rectHeading h6, .ec-rectHeading .h6 {
  background: #F3F3F3;
  padding: 8px 12px;
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
}

/*
メッセージ見出し

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

ex [注文完了 ログイン後、カートに商品を入れ注文完了まで行う](http://demo3.ec-cube.net/shopping/)

Markup:
.ec-reportHeading
  h2 ご注文ありがとうございました

Styleguide 1.1.6
*/
.ec-reportHeading {
  width: 100%;
  margin: 20px 0 30px;
  padding: 0;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-reportHeading {
    font-size: 32px;
  }
}
.ec-reportHeading h1, .ec-reportHeading .h1, .ec-reportHeading h2, .ec-reportHeading .h2, .ec-reportHeading h3, .ec-reportHeading .h3,
.ec-reportHeading h4,
.ec-reportHeading .h4, .ec-reportHeading h5, .ec-reportHeading .h5, .ec-reportHeading h6, .ec-reportHeading .h6, .ec-reportHeading p {
  font-weight: bold;
  font-size: 24px;
}
@media only screen and (min-width: 768px) {
  .ec-reportHeading h1, .ec-reportHeading .h1, .ec-reportHeading h2, .ec-reportHeading .h2, .ec-reportHeading h3, .ec-reportHeading .h3,
  .ec-reportHeading h4,
  .ec-reportHeading .h4, .ec-reportHeading h5, .ec-reportHeading .h5, .ec-reportHeading h6, .ec-reportHeading .h6, .ec-reportHeading p {
    font-size: 32px;
  }
}

/*
  ブロックのヘッダー
 */
.ec-blockHeading {
  display: flex;
  align-items: center;
  margin-top: 0;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading a {
    transition: all 0.5s ease 0s;
  }
  .ec-blockHeading a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading {
    margin-bottom: 50px;
  }
}
.ec-blockHeading h2, .ec-blockHeading .h2 {
  margin-top: -3px;
  margin-bottom: -2px;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading h2, .ec-blockHeading .h2 {
    font-size: 3rem;
  }
}
.ec-blockHeading__link {
  margin-left: auto;
  color: #469bff !important;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading__link {
    margin-left: 50px;
    font-size: 2rem;
  }
}
.ec-blockHeading__link:after {
  content: "";
  display: inline-block;
  width: 0.65em;
  height: 0.65em;
  border-top: 1px solid #469bff;
  border-right: 1px solid #469bff;
  transform: rotate(45deg);
}

.ec-blockHeading--large {
  margin-top: 0;
  margin-bottom: 46px;
  position: relative;
  z-index: 1;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading--large {
    margin-bottom: 125px;
  }
}
.ec-blockHeading--large:before {
  content: "";
  display: block;
  width: 110px;
  height: 22px;
  position: absolute;
  top: 13px;
  left: calc(50% - 55px);
  z-index: -1;
  transform: skew(25deg) rotate(-4.87deg);
  border-radius: 106px 40px 126px 58px;
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading--large:before {
    width: 196px;
    height: 38px;
    top: 26px;
    left: calc(50% - 98px);
  }
}
.ec-linkShelfRole .ec-blockHeading--large:before {
  background: #FFA0A0;
}
.ec-newItemRole .ec-blockHeading--large:before {
  background: #9DCAFF;
}
.ec-blockHeading--large h2, .ec-blockHeading--large .h2 {
  margin: 0;
  font-size: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-blockHeading--large h2, .ec-blockHeading--large .h2 {
    font-size: 4rem;
  }
}

/*
 ログイン・新規会員登録　導線
 */
.ec-loginGuideText {
  margin-inline: -15px;
  padding: 15px 15px;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-loginGuideText {
    max-width: 1000px;
    margin-inline: auto;
    padding: 30px 0;
    text-align: center;
  }
}
.ec-loginGuideText p {
  display: inline;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-loginGuideText p {
    display: block;
    margin-bottom: 0;
    font-size: 1.8rem;
  }
}

.ec-loginGuideLink, .ec-loginGuideLink--note {
  display: flex;
  flex-direction: column;
  margin-inline: -15px;
  padding-inline: 15px;
  border-bottom: 1px solid #efefef;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .ec-loginGuideLink a, .ec-loginGuideLink--note a {
    transition: all 0.5s ease 0s;
  }
  .ec-loginGuideLink a:hover, .ec-loginGuideLink--note a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-loginGuideLink, .ec-loginGuideLink--note {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 0;
  }
  #page_shopping_login .ec-loginGuideLink, #page_shopping_login .ec-loginGuideLink--note {
    border-bottom: none;
  }
  .ec-wpRole .ec-loginGuideLink, .ec-wpRole .ec-loginGuideLink--note {
    max-width: none;
  }
}
.ec-loginGuideLink a, .ec-loginGuideLink--note a {
  margin-left: auto;
  padding: 11px 0.2em;
  color: currentColor;
  font-size: 1.2rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-loginGuideLink a, .ec-loginGuideLink--note a {
    padding: 15px 0.2em;
    font-size: 1.6rem;
  }
}
.ec-loginGuideLink a:after, .ec-loginGuideLink--note a:after {
  content: "";
  display: inline-block;
  width: 0.7092198582em;
  height: 0.7092198582em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
.ec-loginGuideLink--note {
  margin-inline: 0;
}
.ec-loginGuideLink--note a {
  font-weight: bold;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
文字装飾

文字装飾をするためのスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 1.2
*/
/*
テキストリンク

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

Markup:
a(href="#").ec-link さくらのクラウド

Styleguide 1.2.1
*/
.ec-link {
  color: #0092C4;
  text-decoration: none;
  cursor: pointer;
}
.ec-link:hover {
  color: #33A8D0;
  text-decoration: none;
}

/*
テキスト（太字）

テキストを太くするためのスタイルです。

Markup:
p.ec-font-bold この季節にぴったりな商品をご用意しました

Styleguide 1.2.2
*/
.ec-font-bold {
  font-weight: bold;
}

/*
テキスト（グレー）

テキストをグレーにするためのスタイルです。

Markup:
p.ec-color-grey 青色が美しい職人が仕上げた吹きガラス

Styleguide 1.2.3
*/
.ec-color-grey {
  color: #9a947e;
}

/*
テキスト（赤）

テキストを赤にするためのスタイルです。

Markup:
p.ec-color-red ¥ 2,728 税込
p.ec-color-accent ¥ 2,728 税込

Styleguide 1.2.4
*/
.ec-color-red {
  color: #DE5D50;
}

.ec-color-accent {
  color: #DE5D50;
}

/*
フォントサイズ

フォントサイズを指定するためのスタイルです。

Markup:
.ec-font-size-1 さわやかな日差しが過ごしやすい季節
.ec-font-size-2 さわやかな日差しが過ごしやすい季節
.ec-font-size-3 さわやかな日差しが過ごしやすい季節
.ec-font-size-4 さわやかな日差しが過ごしやすい季節
.ec-font-size-5 さわやかな日差しが過ごしやすい季節
.ec-font-size-6 さわやかな日差しが過ごしやすい季節


Styleguide 1.2.5
*/
.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;
}

/*
テキスト水平位置

テキストをセンタリングするためのスタイルです。

Markup:
p.ec-text-ac さわやかな日差しが過ごしやすい季節

Styleguide 1.2.6
*/
.ec-text-ac {
  text-align: center;
}

/*
価格テキスト

価格を表示するテキストです。

価格文字にスペースを取るほか、税込み等の表示を小さくする効果もあります。

spanを用いたインライン要素として利用します。

Markup:
div(style="color:#DE5D50;font-size:28px")
    span.ec-price
      span.ec-price__unit ¥
      span.ec-price__price 1,280
      span.ec-price__tax 税込

Styleguide 1.2.7
*/
.ec-price .ec-price__unit {
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-price .ec-price__unit {
    font-size: 1em;
  }
}
.ec-price .ec-price__price {
  display: inline-block;
  padding: 0 0.3em;
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-price .ec-price__price {
    font-size: 1em;
  }
}
.ec-price .ec-price__tax {
  font-size: 12px;
}
@media only screen and (min-width: 768px) {
  .ec-price .ec-price__tax {
    font-size: 0.57em;
  }
}

/*
テキストの位置

テキストや、入れ子にしたインライン要素を
「左揃え」「中央揃え」「右揃え」に設定することができます。

Markup:
h3 左揃え
p.text-left
  | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt praesentium repellat sapiente suscipit, unde veniam! Doloribus error, expedita id impedit iusto qui sint totam? Aspernatur error facere possimus quam quos?
br
h3 中央揃え
p.text-center
  | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt praesentium repellat sapiente suscipit, unde veniam! Doloribus error, expedita id impedit iusto qui sint totam? Aspernatur error facere possimus quam quos?
br
h3 右揃え
p.text-right
  | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt praesentium repellat sapiente suscipit, unde veniam! Doloribus error, expedita id impedit iusto qui sint totam? Aspernatur error facere possimus quam quos?

Styleguide 1.2.8
*/
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

/*
メッセージテキスト

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

ex [注文完了 （ログイン後、カートに商品を入れ注文完了まで行う）](http://demo3.ec-cube.net/shopping/)

Markup:
.ec-reportHeading
  h2 ご注文ありがとうございました
p.ec-reportDescription
      | ただいま、ご注文の確認メールをお送りさせていただきました。
      br
      | 万一、ご確認メールが届かない場合は、トラブルの可能性もありますので大変お手数ではございますがもう一度お問い合わせいただくか、お電話にてお問い合わせくださいませ。
      br
      | 今後ともご愛顧賜りますようよろしくお願い申し上げます。


Styleguide 1.2.9
*/
.ec-reportDescription {
  margin-bottom: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 1.4;
}

/*
テキスト下部のスペース

テキストの下に余白を追加することができます。 .ec-para-normalで16pxの余白をつけることができます。

Markup:
p.ec-para-normal 万一、ご確認メールが届かない場合は、トラブルの可能性もありますので大変お手数ではございますがもう一度お問い合わせいただくか、お電話にてお問い合わせくださいませ。
p.ec-para-normal 万一、ご確認メールが届かない場合は、トラブルの可能性もありますので大変お手数ではございますがもう一度お問い合わせいただくか、お電話にてお問い合わせくださいませ。

Styleguide 1.2.10
*/
.ec-para-normal {
  margin-bottom: 16px;
}

h1, .h1, h2, .h2, h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 500;
}

.color1 {
  color: #469bff;
}

.color2 {
  color: #e05a87;
}

.color3 {
  color: #0097c6;
}

.color4 {
  color: #f6d471;
}

.color5 {
  color: #FFA0A0;
}

.color6 {
  color: #E0B45A;
}

.keep-word {
  word-break: normal;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
リスト

シンプルなリストを構成するためのスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 1.3
*/
/*
水平定義リスト

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

dl要素を用いてコーディングします。

ex [当サイトについて　水平定義リスト部分](http://demo3.ec-cube.net/help/about)

Markup:
dl.ec-definitions
    dt 店名
    dd EC-CUBE3 DEMO SHOP
dl.ec-definitions
    dt 会社名
    dd EC-CUBE3
dl.ec-definitions--soft
    dt 所在地
    dd 〒 550-0001

Styleguide 1.3.1
*/
.ec-definitions, .ec-definitions--soft {
  margin: 5px 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: bold;
}

.ec-definitions--soft dt {
  font-weight: normal;
}

/*
下線つき定義リスト

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

dl要素を用いてコーディングします。

ex [当サイトについて　下線つき定義リスト](http://demo3.ec-cube.net/help/about)

Markup:
.ec-borderedDefs
  dl
    dt 店名
    dd EC-CUBE3 DEMO SHOP
  dl
    dt 会社名
    dd EC-CUBE3
  dl
    dt 所在地
    dd 〒550 - 0001

Styleguide 1.3.2
*/
.ec-borderedDefs {
  width: 100%;
  margin-bottom: 16px;
  padding-top: 15px;
}
.ec-borderedDefs dl {
  display: flex;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .ec-borderedDefs dl {
    flex-wrap: nowrap;
    padding: 15px 0 0;
  }
}
.ec-borderedDefs dt, .ec-borderedDefs dd {
  margin: 0;
  padding: 0;
}
.ec-borderedDefs dt {
  font-weight: normal;
  width: 100%;
  padding-top: 0;
  font-size: 0;
}
@media only screen and (min-width: 768px) {
  .ec-borderedDefs dt {
    padding-top: 12px;
    width: 30%;
  }
}
.ec-borderedDefs dt .ec-label {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .ec-borderedDefs dt .ec-label {
    font-size: 1.8rem;
  }
}
.ec-borderedDefs dd {
  padding: 0;
  width: 100%;
  line-height: 2.5;
}
@media only screen and (min-width: 768px) {
  .ec-borderedDefs dd {
    width: 70%;
    line-height: 3;
  }
}
.registration_page_confirm .ec-borderedDefs dd {
  padding-top: 12px;
  line-height: 1.4;
}
.ec-borderedDefs p {
  line-height: 1.4;
}
.ec-borderedDefs .ec-input input, .ec-borderedDefs .ec-birth input, .ec-borderedDefs .ec-select input, .ec-borderedDefs .ec-telInput input, .ec-borderedDefs .ec-zipInput input, .ec-borderedDefs .ec-numberInput input, .ec-borderedDefs .ec-halfInput input,
.ec-borderedDefs .ec-birth select,
.ec-borderedDefs .ec-select select,
.ec-borderedDefs .ec-input textarea,
.ec-borderedDefs .ec-birth textarea,
.ec-borderedDefs .ec-select textarea,
.ec-borderedDefs .ec-telInput textarea,
.ec-borderedDefs .ec-zipInput textarea,
.ec-borderedDefs .ec-numberInput textarea,
.ec-borderedDefs .ec-halfInput textarea {
  background: #efefef;
  border-color: #efefef;
  letter-spacing: 0.05em;
}
#page_mypage_change .ec-borderedDefs .ec-radio div, .registration_page .ec-borderedDefs .ec-radio div, .page-template-page-form .ec-borderedDefs .ec-radio div {
  display: inline-block;
  margin: -12px 0 15px;
}
@media only screen and (min-width: 768px) {
  #page_mypage_change .ec-borderedDefs .ec-radio div, .registration_page .ec-borderedDefs .ec-radio div, .page-template-page-form .ec-borderedDefs .ec-radio div {
    margin-bottom: 0;
  }
}
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio], .registration_page .ec-borderedDefs .ec-radio input[type=radio], .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + label,
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text, .registration_page .ec-borderedDefs .ec-radio input[type=radio] + label,
.registration_page .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + label,
.page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text {
  padding-left: 28px;
  border-radius: 3px;
  position: relative;
}
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + label:before,
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .registration_page .ec-borderedDefs .ec-radio input[type=radio] + label:before,
.registration_page .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + label:before,
.page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 13px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #efefef;
}
@media only screen and (min-width: 768px) {
  #page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + label:before,
  #page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .registration_page .ec-borderedDefs .ec-radio input[type=radio] + label:before,
  .registration_page .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + label:before,
  .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before {
    top: 16px;
  }
}
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .registration_page .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before {
  top: 0;
}
@media only screen and (min-width: 768px) {
  #page_mypage_change .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .registration_page .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio] + .mwform-radio-field-text:before {
    top: 0;
  }
}
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio]:focus + label, #page_mypage_change .ec-borderedDefs .ec-radio input[type=radio]:focus + .mwform-radio-field-text, .registration_page .ec-borderedDefs .ec-radio input[type=radio]:focus + label, .registration_page .ec-borderedDefs .ec-radio input[type=radio]:focus + .mwform-radio-field-text, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio]:focus + label, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio]:focus + .mwform-radio-field-text {
  outline: 1px solid #3c8dbc;
}
#page_mypage_change .ec-borderedDefs .ec-radio input[type=radio]:checked + label:before, #page_mypage_change .ec-borderedDefs .ec-radio input[type=radio]:checked + .mwform-radio-field-text:before, .registration_page .ec-borderedDefs .ec-radio input[type=radio]:checked + label:before, .registration_page .ec-borderedDefs .ec-radio input[type=radio]:checked + .mwform-radio-field-text:before, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio]:checked + label:before, .page-template-page-form .ec-borderedDefs .ec-radio input[type=radio]:checked + .mwform-radio-field-text:before {
  background: #000;
}
.ec-borderedDefs .ec-checkbox label {
  font-weight: normal;
}
.ec-borderedDefs .ec-checkbox input {
  border-radius: 0 !important;
  background: #efefef;
  border-color: #efefef;
}

.ec-list-chilled {
  display: table-row;
  border: 0 none;
  padding: 8px 0;
}
.ec-list-chilled dt, .ec-list-chilled dd {
  display: table-cell;
  border-bottom: 1px dotted #ccc;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-list-chilled dt, .ec-list-chilled dd {
    padding: 16px 0;
  }
}
.ec-list-chilled dt {
  width: 30%;
}
.ec-list-chilled dd {
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-list-chilled dd {
    padding: 16px;
  }
}

/*
ボーダーリスト

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

ex [当サイトについて　ボーダーリスト](http://demo3.ec-cube.net/help/about)

Markup:
ul.ec-borderedList
  li: p lorem
  li: p lorem
  li: p lorem


Styleguide 1.3.3
*/
.ec-borderedList {
  width: 100%;
  border-top: 0;
  list-style: none;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-borderedList {
    border-top: 1px dotted #ccc;
  }
}
.ec-borderedList li {
  border-bottom: 1px dotted #ccc;
}

.ec-list-chilled {
  display: table-row;
  border: 0 none;
  padding: 8px 0;
}
.ec-list-chilled dt, .ec-list-chilled dd {
  display: table-cell;
  border-bottom: 1px dotted #ccc;
  padding: 16px 0;
}
.ec-list-chilled dt {
  width: 30%;
}
.ec-list-chilled dd {
  padding: 16px;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
ボタンサイズ

ボタンサイズを変更するスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 2.1
*/
/*
通常ボタン

インラインの要素としてボタンを定義出来ます。

ex [トップページ　ボタン部分](http://demo3.ec-cube.net/)

Markup:
.ec-inlineBtn 住所検索
.ec-inlineBtn--primary もっと見る
.ec-inlineBtn--action カートに入れる
.ec-inlineBtn--cancel キャンセル

Styleguide 2.1.1
*/
.ec-inlineBtn {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #333333;
  border-color: #333333;
}
.ec-inlineBtn:focus, .ec-inlineBtn.focus, .ec-inlineBtn:active:focus, .ec-inlineBtn:active.focus, .ec-inlineBtn.active:focus, .ec-inlineBtn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-inlineBtn:hover, .ec-inlineBtn:focus, .ec-inlineBtn.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-inlineBtn:active, .ec-inlineBtn.active {
  outline: 0;
  background-image: none;
}
.ec-inlineBtn.disabled, .ec-inlineBtn[disabled], fieldset[disabled] .ec-inlineBtn {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-inlineBtn .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-inlineBtn--primary {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #0097c6;
  border-color: #0097c6;
}
.ec-inlineBtn--primary:focus, .ec-inlineBtn--primary.focus, .ec-inlineBtn--primary:active:focus, .ec-inlineBtn--primary:active.focus, .ec-inlineBtn--primary.active:focus, .ec-inlineBtn--primary.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-inlineBtn--primary:hover, .ec-inlineBtn--primary:focus, .ec-inlineBtn--primary.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-inlineBtn--primary:active, .ec-inlineBtn--primary.active {
  outline: 0;
  background-image: none;
}
.ec-inlineBtn--primary.disabled, .ec-inlineBtn--primary[disabled], fieldset[disabled] .ec-inlineBtn--primary {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-inlineBtn--primary .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-inlineBtn--action {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #469bff;
  border-color: #469bff;
}
.ec-inlineBtn--action:focus, .ec-inlineBtn--action.focus, .ec-inlineBtn--action:active:focus, .ec-inlineBtn--action:active.focus, .ec-inlineBtn--action.active:focus, .ec-inlineBtn--action.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-inlineBtn--action:hover, .ec-inlineBtn--action:focus, .ec-inlineBtn--action.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-inlineBtn--action:active, .ec-inlineBtn--action.active {
  outline: 0;
  background-image: none;
}
.ec-inlineBtn--action.disabled, .ec-inlineBtn--action[disabled], fieldset[disabled] .ec-inlineBtn--action {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-inlineBtn--action .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-inlineBtn--cart {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #e05a87;
  border-color: #e05a87;
}
.ec-inlineBtn--cart:focus, .ec-inlineBtn--cart.focus, .ec-inlineBtn--cart:active:focus, .ec-inlineBtn--cart:active.focus, .ec-inlineBtn--cart.active:focus, .ec-inlineBtn--cart.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-inlineBtn--cart:hover, .ec-inlineBtn--cart:focus, .ec-inlineBtn--cart.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-inlineBtn--cart:active, .ec-inlineBtn--cart.active {
  outline: 0;
  background-image: none;
}
.ec-inlineBtn--cart.disabled, .ec-inlineBtn--cart[disabled], fieldset[disabled] .ec-inlineBtn--cart {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-inlineBtn--cart .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-inlineBtn--cancel {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #999999;
  border-color: #999999;
}
.ec-inlineBtn--cancel:focus, .ec-inlineBtn--cancel.focus, .ec-inlineBtn--cancel:active:focus, .ec-inlineBtn--cancel:active.focus, .ec-inlineBtn--cancel.active:focus, .ec-inlineBtn--cancel.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-inlineBtn--cancel:hover, .ec-inlineBtn--cancel:focus, .ec-inlineBtn--cancel.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-inlineBtn--cancel:active, .ec-inlineBtn--cancel.active {
  outline: 0;
  background-image: none;
}
.ec-inlineBtn--cancel.disabled, .ec-inlineBtn--cancel[disabled], fieldset[disabled] .ec-inlineBtn--cancel {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-inlineBtn--cancel .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-underlineBtn {
  font-size: 1.4rem;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .ec-underlineBtn {
    font-size: 1.8rem;
    transition: all 0.5s ease 0s;
  }
  .ec-underlineBtn:hover {
    opacity: 0.7;
    color: #000;
  }
}

/*
ブロックボタン（全幅）

ボタンサイズは em で指定するため、テキストサイズの変更でボタンサイズを変更できます。

ex [商品詳細ページ　カートボタン部分](http://demo3.ec-cube.net/products/detail/30)

Markup:
p: .ec-blockBtn 住所検索
p: .ec-blockBtn--primary もっと見る
p: .ec-blockBtn--action カートに入れる
p: .ec-blockBtn--cancel キャンセル

Styleguide 2.1.2
*/
.ec-blockBtn {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #333333;
  border-color: #333333;
  display: block;
  width: 100%;
  height: 43px;
  line-height: 41px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn:focus, .ec-blockBtn.focus, .ec-blockBtn:active:focus, .ec-blockBtn:active.focus, .ec-blockBtn.active:focus, .ec-blockBtn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-blockBtn:hover, .ec-blockBtn:focus, .ec-blockBtn.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-blockBtn:active, .ec-blockBtn.active {
  outline: 0;
  background-image: none;
}
.ec-blockBtn.disabled, .ec-blockBtn[disabled], fieldset[disabled] .ec-blockBtn {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-blockBtn .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-blockBtn--primary {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #0097c6;
  border-color: #0097c6;
  display: block;
  width: 100%;
  height: 43px;
  line-height: 41px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn--primary:focus, .ec-blockBtn--primary.focus, .ec-blockBtn--primary:active:focus, .ec-blockBtn--primary:active.focus, .ec-blockBtn--primary.active:focus, .ec-blockBtn--primary.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-blockBtn--primary:hover, .ec-blockBtn--primary:focus, .ec-blockBtn--primary.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-blockBtn--primary:active, .ec-blockBtn--primary.active {
  outline: 0;
  background-image: none;
}
.ec-blockBtn--primary.disabled, .ec-blockBtn--primary[disabled], fieldset[disabled] .ec-blockBtn--primary {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-blockBtn--primary .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-blockBtn--action {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #469bff;
  border-color: #469bff;
  display: block;
  width: 100%;
  height: 43px;
  line-height: 41px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn--action:focus, .ec-blockBtn--action.focus, .ec-blockBtn--action:active:focus, .ec-blockBtn--action:active.focus, .ec-blockBtn--action.active:focus, .ec-blockBtn--action.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-blockBtn--action:hover, .ec-blockBtn--action:focus, .ec-blockBtn--action.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-blockBtn--action:active, .ec-blockBtn--action.active {
  outline: 0;
  background-image: none;
}
.ec-blockBtn--action.disabled, .ec-blockBtn--action[disabled], fieldset[disabled] .ec-blockBtn--action {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-blockBtn--action .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

.ec-blockBtn--cart {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #e05a87;
  border-color: #e05a87;
  display: block;
  width: 100%;
  height: 43px;
  line-height: 41px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn--cart:focus, .ec-blockBtn--cart.focus, .ec-blockBtn--cart:active:focus, .ec-blockBtn--cart:active.focus, .ec-blockBtn--cart.active:focus, .ec-blockBtn--cart.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-blockBtn--cart:hover, .ec-blockBtn--cart:focus, .ec-blockBtn--cart.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-blockBtn--cart:active, .ec-blockBtn--cart.active {
  outline: 0;
  background-image: none;
}
.ec-blockBtn--cart.disabled, .ec-blockBtn--cart[disabled], fieldset[disabled] .ec-blockBtn--cart {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-blockBtn--cart .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}
.ec-blockBtn--cart.disabled, .ec-blockBtn--cart[disabled], fieldset[disabled] .ec-blockBtn--cart {
  background: #ebebeb;
  border-color: #ebebeb;
  opacity: 1;
}

.ec-blockBtn--cancel {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #fff;
  background-color: #999999;
  border-color: #999999;
  display: block;
  width: 100%;
  height: 43px;
  line-height: 41px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn--cancel:focus, .ec-blockBtn--cancel.focus, .ec-blockBtn--cancel:active:focus, .ec-blockBtn--cancel:active.focus, .ec-blockBtn--cancel.active:focus, .ec-blockBtn--cancel.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-blockBtn--cancel:hover, .ec-blockBtn--cancel:focus, .ec-blockBtn--cancel.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #fff;
}
.ec-blockBtn--cancel:active, .ec-blockBtn--cancel.active {
  outline: 0;
  background-image: none;
}
.ec-blockBtn--cancel.disabled, .ec-blockBtn--cancel[disabled], fieldset[disabled] .ec-blockBtn--cancel {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-blockBtn--cancel .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

div[class^=ec-off][class$=Grid] .ec-blockBtn,
div[class^=ec-off][class$=Grid] .ec-blockBtn--primary,
div[class^=ec-off][class$=Grid] .ec-blockBtn--action,
div[class^=ec-off][class$=Grid] .ec-blockBtn--cart,
div[class^=ec-off][class$=Grid] .ec-blockBtn--cancel {
  margin-inline: auto;
  max-width: 270px;
}

/*
アイコンボタン

SVGアイコンを用いたアイコンボタンです。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>

Styleguide 2.2
*/
/*
アイコンボタン

閉じるなどSVGアイコンを用いたボタン装飾で利用します。

ex [ログイン画面　☓ボタン部分](http://demo3.ec-cube.net/mypage/login)

Markup:
a.ec-closeBtn
  .ec-icon
    img(src='/moc/icon/cross.svg', alt='close')

Styleguide 2.2.1
*/
.ec-closeBtn {
  cursor: pointer;
}
.ec-closeBtn .ec-icon img {
  display: inline-block;
  margin-right: 5px;
  width: 1em;
  height: 1em;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

/*
アイコンボタン(○)

閉じるなどSVGアイコンを用いたボタン装飾で利用します。

ex [ログイン画面　☓ボタン部分](http://demo3.ec-cube.net/mypage/login)



ex [お届け先編集画面　☓ボタン部分](http://demo3.ec-cube.net/mypage/delivery)

Markup:
a.ec-closeBtn--circle
  .ec-icon
    img(src='/moc/icon/cross-white.svg', alt='close')

Styleguide 2.2.2
*/
.ec-closeBtn--circle {
  display: block;
  border: 0 none;
  padding: 0;
  margin: 0;
  text-shadow: none;
  box-shadow: none;
  border-radius: 50%;
  background: #B8BEC4;
  cursor: pointer;
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  height: 40px;
  line-height: 40px;
  vertical-align: middle;
  position: relative;
  text-align: center;
}
.ec-closeBtn--circle .ec-icon img {
  display: block;
  margin-top: -0.5em;
  margin-left: -0.5em;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
その他のボタン

通常のボタンや、アイコンボタン以外のボタンを定義します。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 2.3
*/
/*
ページトップボタン

ページトップボタンを表示します

ex [商品詳細ページ　カートボタン部分](http://demo3.ec-cube.net/products/detail/30)

Markup:
.ec-blockTopBtn

Styleguide 2.3.1
*/
.ec-blockTopBtn {
  display: none;
  position: fixed;
  width: 120px;
  height: 40px;
  right: 0;
  bottom: 10px;
  cursor: pointer;
  color: #FFFFFF;
  text-align: center;
  line-height: 40px;
  opacity: 0.8;
  background-color: #9da3a9;
}
@media only screen and (min-width: 768px) {
  .ec-blockTopBtn {
    right: 30px;
    bottom: 30px;
  }
}

.ec-pageHeader.contact-header h1, .contact-header.ec-pageHeader--note h1, .ec-pageHeader.contact-header .h1, .contact-header.ec-pageHeader--note .h1 {
  max-width: none;
}

.ec-pageSwitchNavi .ec-pageSwitchNavi__itemList li {
  list-style: none;
}

#contact-details {
  margin-bottom: 30px;
}
#contact-details p {
  font-size: 1.8rem;
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
}
@media (max-width: 768px) {
  #contact-details p {
    font-size: 1.4rem;
  }
}
#contact-details p.back {
  background: rgba(225, 225, 225, 0.5);
}

.contact-privacy {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
}
.contact-privacy h3, .contact-privacy .h3 {
  font-size: 2.4rem;
  margin: 50px 0 30px;
}
@media (max-width: 768px) {
  .contact-privacy h3, .contact-privacy .h3 {
    font-size: 1.8rem;
  }
}
.contact-privacy p {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
  border: 1px #888 solid;
  height: 300px;
  overflow: scroll;
  padding: 20px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
フォーム部品(テキスト)

テキストや数値の入力項目に関する要素を定義します。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 3.1
*/
/*
フォーム

`.ec-input` 要素は全ての入力項目に関する標準的なコンポーネントクラスです。


ex [会員情報編集画面　フォーム部分](http://demo3.ec-cube.net/mypage/change)

Markup:
p.ec-input
  input(type="number")
p.ec-input
  textarea(rows="6")

Styleguide 3.1.1
*/
.ec-input input[type=radio], .ec-birth input[type=radio], .ec-select input[type=radio], .ec-telInput input[type=radio], .ec-zipInput input[type=radio], .ec-numberInput input[type=radio], .ec-halfInput input[type=radio],
.ec-input input[type=checkbox],
.ec-birth input[type=checkbox],
.ec-select input[type=checkbox],
.ec-telInput input[type=checkbox],
.ec-zipInput input[type=checkbox],
.ec-numberInput input[type=checkbox],
.ec-halfInput input[type=checkbox] {
  margin: 4px 0 0;
  margin-top: 1px \9 ;
  line-height: normal;
}
.ec-input input[type=radio], .ec-birth input[type=radio], .ec-select input[type=radio], .ec-telInput input[type=radio], .ec-zipInput input[type=radio], .ec-numberInput input[type=radio], .ec-halfInput input[type=radio] {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.ec-input input[type=radio] + label, .ec-birth input[type=radio] + label, .ec-select input[type=radio] + label, .ec-telInput input[type=radio] + label, .ec-zipInput input[type=radio] + label, .ec-numberInput input[type=radio] + label, .ec-halfInput input[type=radio] + label {
  position: relative;
  padding-left: 28px;
  border-radius: 3px;
}
.ec-input input[type=radio] + label > span::before, .ec-birth input[type=radio] + label > span::before, .ec-select input[type=radio] + label > span::before, .ec-telInput input[type=radio] + label > span::before, .ec-zipInput input[type=radio] + label > span::before, .ec-numberInput input[type=radio] + label > span::before, .ec-halfInput input[type=radio] + label > span::before {
  content: "";
  top: 0;
  display: block;
  position: absolute;
  left: 0;
  top: 13px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #efefef;
}
.ec-input input[type=radio]:checked + label > span::before, .ec-birth input[type=radio]:checked + label > span::before, .ec-select input[type=radio]:checked + label > span::before, .ec-telInput input[type=radio]:checked + label > span::before, .ec-zipInput input[type=radio]:checked + label > span::before, .ec-numberInput input[type=radio]:checked + label > span::before, .ec-halfInput input[type=radio]:checked + label > span::before {
  background: #000;
}
.ec-input input[type=file], .ec-birth input[type=file], .ec-select input[type=file], .ec-telInput input[type=file], .ec-zipInput input[type=file], .ec-numberInput input[type=file], .ec-halfInput input[type=file] {
  display: block;
}
.ec-input input[type=range], .ec-birth input[type=range], .ec-select input[type=range], .ec-telInput input[type=range], .ec-zipInput input[type=range], .ec-numberInput input[type=range], .ec-halfInput input[type=range] {
  display: block;
  width: 100%;
}
.ec-input select[multiple], .ec-birth select[multiple], .ec-select select[multiple], .ec-telInput select[multiple], .ec-zipInput select[multiple], .ec-numberInput select[multiple], .ec-halfInput select[multiple],
.ec-input select[size],
.ec-birth select[size],
.ec-select select[size],
.ec-telInput select[size],
.ec-zipInput select[size],
.ec-numberInput select[size],
.ec-halfInput select[size] {
  height: auto;
}
.ec-input input[type=file]:focus, .ec-birth input[type=file]:focus, .ec-select input[type=file]:focus, .ec-telInput input[type=file]:focus, .ec-zipInput input[type=file]:focus, .ec-numberInput input[type=file]:focus, .ec-halfInput input[type=file]:focus,
.ec-input input[type=radio]:focus,
.ec-birth input[type=radio]:focus,
.ec-select input[type=radio]:focus,
.ec-telInput input[type=radio]:focus,
.ec-zipInput input[type=radio]:focus,
.ec-numberInput input[type=radio]:focus,
.ec-halfInput input[type=radio]:focus,
.ec-input input[type=checkbox]:focus,
.ec-birth input[type=checkbox]:focus,
.ec-select input[type=checkbox]:focus,
.ec-telInput input[type=checkbox]:focus,
.ec-zipInput input[type=checkbox]:focus,
.ec-numberInput input[type=checkbox]:focus,
.ec-halfInput input[type=checkbox]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-input input, .ec-birth input, .ec-select input, .ec-telInput input, .ec-zipInput input, .ec-numberInput input, .ec-halfInput input {
  display: inline-block;
  width: 100%;
  height: 1rem px12px2 px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: none;
  border: 1px solid #ccc;
  border-radius: var(--bs-border-radius);
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .ec-input input, .ec-birth input, .ec-select input, .ec-telInput input, .ec-zipInput input, .ec-numberInput input, .ec-halfInput input {
    transition: none;
  }
}
.ec-input input:focus, .ec-birth input:focus, .ec-select input:focus, .ec-telInput input:focus, .ec-zipInput input:focus, .ec-numberInput input:focus, .ec-halfInput input:focus {
  border-color: #66afe9;
  outline: 0;
}
.ec-input input::-moz-placeholder, .ec-birth input::-moz-placeholder, .ec-select input::-moz-placeholder, .ec-telInput input::-moz-placeholder, .ec-zipInput input::-moz-placeholder, .ec-numberInput input::-moz-placeholder, .ec-halfInput input::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.ec-input input:-ms-input-placeholder, .ec-birth input:-ms-input-placeholder, .ec-select 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: #999;
}
.ec-input input::-webkit-input-placeholder, .ec-birth input::-webkit-input-placeholder, .ec-select 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: #999;
}
.ec-input input::-ms-expand, .ec-birth input::-ms-expand, .ec-select 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-birth input[disabled], .ec-select input[disabled], .ec-telInput input[disabled], .ec-zipInput input[disabled], .ec-numberInput input[disabled], .ec-halfInput input[disabled], .ec-input input[readonly], .ec-birth input[readonly], .ec-select 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-birth input, fieldset[disabled] .ec-select input, fieldset[disabled] .ec-telInput input, fieldset[disabled] .ec-zipInput input, fieldset[disabled] .ec-numberInput input, fieldset[disabled] .ec-halfInput input {
  opacity: 1;
}
.ec-input input[disabled], .ec-birth input[disabled], .ec-select 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-birth input, fieldset[disabled] .ec-select 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 select, .ec-birth select, .ec-select select, .ec-telInput select, .ec-zipInput select, .ec-numberInput select, .ec-halfInput select {
  display: inline-block;
  width: 100%;
  height: 1rem px12px2 px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: none;
  border: 1px solid #ccc;
  border-radius: var(--bs-border-radius);
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .ec-input select, .ec-birth select, .ec-select select, .ec-telInput select, .ec-zipInput select, .ec-numberInput select, .ec-halfInput select {
    transition: none;
  }
}
.ec-input select:focus, .ec-birth select:focus, .ec-select select:focus, .ec-telInput select:focus, .ec-zipInput select:focus, .ec-numberInput select:focus, .ec-halfInput select:focus {
  border-color: #66afe9;
  outline: 0;
}
.ec-input select::-moz-placeholder, .ec-birth select::-moz-placeholder, .ec-select select::-moz-placeholder, .ec-telInput select::-moz-placeholder, .ec-zipInput select::-moz-placeholder, .ec-numberInput select::-moz-placeholder, .ec-halfInput select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.ec-input select:-ms-input-placeholder, .ec-birth select:-ms-input-placeholder, .ec-select select:-ms-input-placeholder, .ec-telInput select:-ms-input-placeholder, .ec-zipInput select:-ms-input-placeholder, .ec-numberInput select:-ms-input-placeholder, .ec-halfInput select:-ms-input-placeholder {
  color: #999;
}
.ec-input select::-webkit-input-placeholder, .ec-birth select::-webkit-input-placeholder, .ec-select select::-webkit-input-placeholder, .ec-telInput select::-webkit-input-placeholder, .ec-zipInput select::-webkit-input-placeholder, .ec-numberInput select::-webkit-input-placeholder, .ec-halfInput select::-webkit-input-placeholder {
  color: #999;
}
.ec-input select::-ms-expand, .ec-birth select::-ms-expand, .ec-select select::-ms-expand, .ec-telInput select::-ms-expand, .ec-zipInput select::-ms-expand, .ec-numberInput select::-ms-expand, .ec-halfInput select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-input select[disabled], .ec-birth select[disabled], .ec-select select[disabled], .ec-telInput select[disabled], .ec-zipInput select[disabled], .ec-numberInput select[disabled], .ec-halfInput select[disabled], .ec-input select[readonly], .ec-birth select[readonly], .ec-select select[readonly], .ec-telInput select[readonly], .ec-zipInput select[readonly], .ec-numberInput select[readonly], .ec-halfInput select[readonly], fieldset[disabled] .ec-input select, fieldset[disabled] .ec-birth select, fieldset[disabled] .ec-select select, fieldset[disabled] .ec-telInput select, fieldset[disabled] .ec-zipInput select, fieldset[disabled] .ec-numberInput select, fieldset[disabled] .ec-halfInput select {
  opacity: 1;
}
.ec-input select[disabled], .ec-birth select[disabled], .ec-select select[disabled], .ec-telInput select[disabled], .ec-zipInput select[disabled], .ec-numberInput select[disabled], .ec-halfInput select[disabled], fieldset[disabled] .ec-input select, fieldset[disabled] .ec-birth select, fieldset[disabled] .ec-select select, fieldset[disabled] .ec-telInput select, fieldset[disabled] .ec-zipInput select, fieldset[disabled] .ec-numberInput select, fieldset[disabled] .ec-halfInput select {
  cursor: not-allowed;
}
.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-telInput textarea, .ec-zipInput textarea, .ec-numberInput textarea, .ec-halfInput textarea {
  display: inline-block;
  width: 100%;
  height: 1rem px12px2 px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: none;
  border: 1px solid #ccc;
  border-radius: var(--bs-border-radius);
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-telInput textarea, .ec-zipInput textarea, .ec-numberInput textarea, .ec-halfInput textarea {
    transition: none;
  }
}
.ec-input textarea:focus, .ec-birth textarea:focus, .ec-select textarea:focus, .ec-telInput textarea:focus, .ec-zipInput textarea:focus, .ec-numberInput textarea:focus, .ec-halfInput textarea:focus {
  border-color: #66afe9;
  outline: 0;
}
.ec-input textarea::-moz-placeholder, .ec-birth textarea::-moz-placeholder, .ec-select textarea::-moz-placeholder, .ec-telInput textarea::-moz-placeholder, .ec-zipInput textarea::-moz-placeholder, .ec-numberInput textarea::-moz-placeholder, .ec-halfInput textarea::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.ec-input textarea:-ms-input-placeholder, .ec-birth textarea:-ms-input-placeholder, .ec-select 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: #999;
}
.ec-input textarea::-webkit-input-placeholder, .ec-birth textarea::-webkit-input-placeholder, .ec-select 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: #999;
}
.ec-input textarea::-ms-expand, .ec-birth textarea::-ms-expand, .ec-select 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-birth textarea[disabled], .ec-select textarea[disabled], .ec-telInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-halfInput textarea[disabled], .ec-input textarea[readonly], .ec-birth textarea[readonly], .ec-select 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-birth textarea, fieldset[disabled] .ec-select textarea, fieldset[disabled] .ec-telInput textarea, fieldset[disabled] .ec-zipInput textarea, fieldset[disabled] .ec-numberInput textarea, fieldset[disabled] .ec-halfInput textarea {
  opacity: 1;
}
.ec-input textarea[disabled], .ec-birth textarea[disabled], .ec-select 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-birth textarea, fieldset[disabled] .ec-select 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 input:focus, .ec-birth input:focus, .ec-select input:focus, .ec-telInput input:focus, .ec-zipInput input:focus, .ec-numberInput input:focus, .ec-halfInput input:focus, .ec-input textarea:focus, .ec-birth textarea:focus, .ec-select textarea:focus, .ec-telInput textarea:focus, .ec-zipInput textarea:focus, .ec-numberInput textarea:focus, .ec-halfInput textarea:focus {
  box-shadow: none;
  border-color: #3c8dbc;
}
.ec-input input, .ec-birth input, .ec-select input, .ec-telInput input, .ec-zipInput input, .ec-numberInput input, .ec-halfInput input {
  height: 40px;
  margin-bottom: 15px;
}
.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-telInput textarea, .ec-zipInput textarea, .ec-numberInput textarea, .ec-halfInput textarea {
  height: auto;
  min-height: 100px;
}
.ec-input p, .ec-birth p, .ec-select p, .ec-telInput p, .ec-zipInput p, .ec-numberInput p, .ec-halfInput p {
  line-height: 1.4;
}
.ec-input .ec-errorMessage, .ec-birth .ec-errorMessage, .ec-select .ec-errorMessage, .ec-telInput .ec-errorMessage, .ec-zipInput .ec-errorMessage, .ec-numberInput .ec-errorMessage, .ec-halfInput .ec-errorMessage {
  margin-bottom: 25px;
  font-size: 12px;
  font-weight: bold;
  color: #DE5D50;
}

.error.ec-input input, .error.ec-birth input, .error.ec-select input, .error.ec-telInput input, .error.ec-zipInput input, .error.ec-numberInput input, .error.ec-halfInput input, .error.ec-input select, .error.ec-birth select, .error.ec-select select, .error.ec-telInput select, .error.ec-zipInput select, .error.ec-numberInput select, .error.ec-halfInput select, .error.ec-input textarea, .error.ec-birth textarea, .error.ec-select textarea, .error.ec-telInput textarea, .error.ec-zipInput textarea, .error.ec-numberInput textarea, .error.ec-halfInput textarea {
  margin-bottom: 5px;
  border-color: #CF3F34;
  background: #FDF1F0;
}

.ec-checkbox .ec-errorMessage, .ec-radio .ec-errorMessage {
  margin-bottom: 25px;
  font-size: 12px;
  font-weight: bold;
  color: #DE5D50;
}

.error.ec-checkbox input, .error.ec-checkbox label, .error.ec-checkbox div, .error.ec-radio input, .error.ec-radio label, .error.ec-radio div {
  border-color: #CF3F34;
  background: #FDF1F0;
}

/*
フォーム（text２つ）

姓名など2つ入力させたい入力項目で使用します。

入力フォームを半分で用意したいときにも利用可能です。

ex [会員情報編集画面　フォーム部分](http://demo3.ec-cube.net/mypage/change)

Markup:
p.ec-halfInput
  input(type="text")
  input(type="text")
p.ec-halfInput
  input(type="text")

Styleguide 3.1.2
*/
.ec-halfInput input[type=text] {
  display: inline-block;
  width: 47%;
  margin-left: 2%;
}
@media only screen and (min-width: 768px) {
  .ec-halfInput input[type=text] {
    margin-left: 15px;
    width: 45%;
  }
}
.ec-halfInput .ec-errorMessage {
  display: inline-block;
  width: 47%;
}
@media only screen and (min-width: 768px) {
  .ec-halfInput .ec-errorMessage {
    margin-left: 15px;
    width: 45%;
  }
}
.ec-halfInput input[type=text]:first-of-type,
.ec-halfInput .ec-errorMessage:first-of-type {
  margin-left: 0;
}

/*
数量ボタン

数量を表示するための小さなコンポーネントです。

数値表示に最適化するため、数字は右端揃えで表示されます。

ex [商品詳細画面　数量ボタン部分](http://demo3.ec-cube.net/products/detail/27)

Markup:
.ec-numberInput
  span 数量
  input(type="number",value="0")

Styleguide 3.1.3
*/
.ec-numberInput input[type=number] {
  display: inline-block;
  width: auto;
  max-width: 100px;
  text-align: right;
}

/*
郵便番号フォーム

数量を表示するための小さなコンポーネントです。

内部に input 要素を配置してコーディングします。

ex [会員情報編集画面　郵便番号部分](http://demo3.ec-cube.net/mypage/change)

Markup:
.ec-zipInput
  span 〒
  input(type="text")
.ec-zipInputHelp
  a(href="http://www.post.japanpost.jp/zipcode/" target="_blank")
    .ec-zipInputHelp__icon
      .ec-icon
        img(src='/moc/icon/question-white.svg', alt='')
    span 郵便番号検索
.ec-zipAuto
  a.ec-inlineBtn 郵便番号から自動入力

Styleguide 3.1.4
*/
.ec-zipInput {
  display: inline-block;
}
.ec-zipInput input {
  display: inline-block;
  text-align: left;
  width: auto;
  max-width: 9em;
  font-size: 16px;
}
.ec-zipInput span {
  display: inline-block;
  padding: 0 5px 0 3px;
  margin-left: 5px;
}

.ec-zipInputHelp {
  display: inline-block;
  margin-left: 10px;
  margin-bottom: 8px;
  vertical-align: middle;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .ec-zipInputHelp a {
    transition: all 0.5s ease 0s;
  }
  .ec-zipInputHelp a:hover {
    opacity: 0.7;
  }
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
  display: none;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: #525263;
  border-radius: 50%;
  font-size: 13px;
  position: relative;
  top: -6px;
}
.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon img {
  width: 1em;
  height: 1em;
  position: relative;
  left: 3px;
  top: 3px;
}
.ec-zipInputHelp a {
  color: currentColor;
}
.ec-zipInputHelp span {
  margin-left: 8px;
  display: inline-block;
  font-size: 1.4rem;
  vertical-align: middle;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/*
電話番号ボタン

数量を表示するための小さなコンポーネントです。

内部に input 要素を配置してコーディングします。

ex [会員情報編集画面　電話番号部分](http://demo3.ec-cube.net/mypage/change)

Markup:
.ec-telInput
  input(type="text")

Styleguide 3.1.5
*/
.ec-telInput input {
  max-width: 12em;
  text-align: left;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
.ec-pageHeader.contact-header h1, .contact-header.ec-pageHeader--note h1, .ec-pageHeader.contact-header .h1, .contact-header.ec-pageHeader--note .h1 {
  max-width: none;
}

.ec-pageSwitchNavi .ec-pageSwitchNavi__itemList li {
  list-style: none;
}

#contact-details {
  margin-bottom: 30px;
}
#contact-details p {
  font-size: 1.8rem;
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
}
@media (max-width: 768px) {
  #contact-details p {
    font-size: 1.4rem;
  }
}
#contact-details p.back {
  background: rgba(225, 225, 225, 0.5);
}

.contact-privacy {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
}
.contact-privacy h3, .contact-privacy .h3 {
  font-size: 2.4rem;
  margin: 50px 0 30px;
}
@media (max-width: 768px) {
  .contact-privacy h3, .contact-privacy .h3 {
    font-size: 1.8rem;
  }
}
.contact-privacy p {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
  border: 1px #888 solid;
  height: 300px;
  overflow: scroll;
  padding: 20px;
}

.ec-pageHeader.contact-header h1, .contact-header.ec-pageHeader--note h1, .ec-pageHeader.contact-header .h1, .contact-header.ec-pageHeader--note .h1 {
  max-width: none;
}

.ec-pageSwitchNavi .ec-pageSwitchNavi__itemList li {
  list-style: none;
}

#contact-details {
  margin-bottom: 30px;
}
#contact-details p {
  font-size: 1.8rem;
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
}
@media (max-width: 768px) {
  #contact-details p {
    font-size: 1.4rem;
  }
}
#contact-details p.back {
  background: rgba(225, 225, 225, 0.5);
}

.contact-privacy {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
}
.contact-privacy h3, .contact-privacy .h3 {
  font-size: 2.4rem;
  margin: 50px 0 30px;
}
@media (max-width: 768px) {
  .contact-privacy h3, .contact-privacy .h3 {
    font-size: 1.8rem;
  }
}
.contact-privacy p {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
  border: 1px #888 solid;
  height: 300px;
  overflow: scroll;
  padding: 20px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
フォーム部品(テキスト)

テキストや数値の入力項目に関する要素を定義します。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 3.1
*/
/*
フォーム

`.ec-input` 要素は全ての入力項目に関する標準的なコンポーネントクラスです。


ex [会員情報編集画面　フォーム部分](http://demo3.ec-cube.net/mypage/change)

Markup:
p.ec-input
  input(type="number")
p.ec-input
  textarea(rows="6")

Styleguide 3.1.1
*/
.ec-input input[type=radio], .ec-birth input[type=radio], .ec-select input[type=radio], .ec-halfInput input[type=radio], .ec-numberInput input[type=radio], .ec-zipInput input[type=radio], .ec-telInput input[type=radio],
.ec-input input[type=checkbox],
.ec-birth input[type=checkbox],
.ec-select input[type=checkbox],
.ec-halfInput input[type=checkbox],
.ec-numberInput input[type=checkbox],
.ec-zipInput input[type=checkbox],
.ec-telInput input[type=checkbox] {
  margin: 4px 0 0;
  margin-top: 1px \9 ;
  line-height: normal;
}
.ec-input input[type=radio], .ec-birth input[type=radio], .ec-select input[type=radio], .ec-halfInput input[type=radio], .ec-numberInput input[type=radio], .ec-zipInput input[type=radio], .ec-telInput input[type=radio] {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.ec-input input[type=radio] + label, .ec-birth input[type=radio] + label, .ec-select input[type=radio] + label, .ec-halfInput input[type=radio] + label, .ec-numberInput input[type=radio] + label, .ec-zipInput input[type=radio] + label, .ec-telInput input[type=radio] + label {
  position: relative;
  padding-left: 28px;
  border-radius: 3px;
}
.ec-input input[type=radio] + label > span::before, .ec-birth input[type=radio] + label > span::before, .ec-select input[type=radio] + label > span::before, .ec-halfInput input[type=radio] + label > span::before, .ec-numberInput input[type=radio] + label > span::before, .ec-zipInput input[type=radio] + label > span::before, .ec-telInput input[type=radio] + label > span::before {
  content: "";
  top: 0;
  display: block;
  position: absolute;
  left: 0;
  top: 13px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #efefef;
}
.ec-input input[type=radio]:checked + label > span::before, .ec-birth input[type=radio]:checked + label > span::before, .ec-select input[type=radio]:checked + label > span::before, .ec-halfInput input[type=radio]:checked + label > span::before, .ec-numberInput input[type=radio]:checked + label > span::before, .ec-zipInput input[type=radio]:checked + label > span::before, .ec-telInput input[type=radio]:checked + label > span::before {
  background: #000;
}
.ec-input input[type=file], .ec-birth input[type=file], .ec-select input[type=file], .ec-halfInput input[type=file], .ec-numberInput input[type=file], .ec-zipInput input[type=file], .ec-telInput input[type=file] {
  display: block;
}
.ec-input input[type=range], .ec-birth input[type=range], .ec-select input[type=range], .ec-halfInput input[type=range], .ec-numberInput input[type=range], .ec-zipInput input[type=range], .ec-telInput input[type=range] {
  display: block;
  width: 100%;
}
.ec-input select[multiple], .ec-birth select[multiple], .ec-select select[multiple], .ec-halfInput select[multiple], .ec-numberInput select[multiple], .ec-zipInput select[multiple], .ec-telInput select[multiple],
.ec-input select[size],
.ec-birth select[size],
.ec-select select[size],
.ec-halfInput select[size],
.ec-numberInput select[size],
.ec-zipInput select[size],
.ec-telInput select[size] {
  height: auto;
}
.ec-input input[type=file]:focus, .ec-birth input[type=file]:focus, .ec-select input[type=file]:focus, .ec-halfInput input[type=file]:focus, .ec-numberInput input[type=file]:focus, .ec-zipInput input[type=file]:focus, .ec-telInput input[type=file]:focus,
.ec-input input[type=radio]:focus,
.ec-birth input[type=radio]:focus,
.ec-select input[type=radio]:focus,
.ec-halfInput input[type=radio]:focus,
.ec-numberInput input[type=radio]:focus,
.ec-zipInput input[type=radio]:focus,
.ec-telInput input[type=radio]:focus,
.ec-input input[type=checkbox]:focus,
.ec-birth input[type=checkbox]:focus,
.ec-select input[type=checkbox]:focus,
.ec-halfInput input[type=checkbox]:focus,
.ec-numberInput input[type=checkbox]:focus,
.ec-zipInput input[type=checkbox]:focus,
.ec-telInput input[type=checkbox]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
  display: inline-block;
  width: 100%;
  height: 1rem px12px2 px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: none;
  border: 1px solid #ccc;
  border-radius: var(--bs-border-radius);
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
    transition: none;
  }
}
.ec-input input:focus, .ec-birth input:focus, .ec-select input:focus, .ec-halfInput input:focus, .ec-numberInput input:focus, .ec-zipInput input:focus, .ec-telInput input:focus {
  border-color: #66afe9;
  outline: 0;
}
.ec-input input::-moz-placeholder, .ec-birth input::-moz-placeholder, .ec-select input::-moz-placeholder, .ec-halfInput input::-moz-placeholder, .ec-numberInput input::-moz-placeholder, .ec-zipInput input::-moz-placeholder, .ec-telInput input::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.ec-input input:-ms-input-placeholder, .ec-birth input:-ms-input-placeholder, .ec-select input:-ms-input-placeholder, .ec-halfInput input:-ms-input-placeholder, .ec-numberInput input:-ms-input-placeholder, .ec-zipInput input:-ms-input-placeholder, .ec-telInput input:-ms-input-placeholder {
  color: #999;
}
.ec-input input::-webkit-input-placeholder, .ec-birth input::-webkit-input-placeholder, .ec-select input::-webkit-input-placeholder, .ec-halfInput input::-webkit-input-placeholder, .ec-numberInput input::-webkit-input-placeholder, .ec-zipInput input::-webkit-input-placeholder, .ec-telInput input::-webkit-input-placeholder {
  color: #999;
}
.ec-input input::-ms-expand, .ec-birth input::-ms-expand, .ec-select input::-ms-expand, .ec-halfInput input::-ms-expand, .ec-numberInput input::-ms-expand, .ec-zipInput input::-ms-expand, .ec-telInput input::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-input input[disabled], .ec-birth input[disabled], .ec-select input[disabled], .ec-halfInput input[disabled], .ec-numberInput input[disabled], .ec-zipInput input[disabled], .ec-telInput input[disabled], .ec-input input[readonly], .ec-birth input[readonly], .ec-select input[readonly], .ec-halfInput input[readonly], .ec-numberInput input[readonly], .ec-zipInput input[readonly], .ec-telInput input[readonly], fieldset[disabled] .ec-input input, fieldset[disabled] .ec-birth input, fieldset[disabled] .ec-select input, fieldset[disabled] .ec-halfInput input, fieldset[disabled] .ec-numberInput input, fieldset[disabled] .ec-zipInput input, fieldset[disabled] .ec-telInput input {
  opacity: 1;
}
.ec-input input[disabled], .ec-birth input[disabled], .ec-select input[disabled], .ec-halfInput input[disabled], .ec-numberInput input[disabled], .ec-zipInput input[disabled], .ec-telInput input[disabled], fieldset[disabled] .ec-input input, fieldset[disabled] .ec-birth input, fieldset[disabled] .ec-select input, fieldset[disabled] .ec-halfInput input, fieldset[disabled] .ec-numberInput input, fieldset[disabled] .ec-zipInput input, fieldset[disabled] .ec-telInput input {
  cursor: not-allowed;
}
.ec-input select, .ec-birth select, .ec-select select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select {
  display: inline-block;
  width: 100%;
  height: 1rem px12px2 px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: none;
  border: 1px solid #ccc;
  border-radius: var(--bs-border-radius);
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .ec-input select, .ec-birth select, .ec-select select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select {
    transition: none;
  }
}
.ec-input select:focus, .ec-birth select:focus, .ec-select select:focus, .ec-halfInput select:focus, .ec-numberInput select:focus, .ec-zipInput select:focus, .ec-telInput select:focus {
  border-color: #66afe9;
  outline: 0;
}
.ec-input select::-moz-placeholder, .ec-birth select::-moz-placeholder, .ec-select select::-moz-placeholder, .ec-halfInput select::-moz-placeholder, .ec-numberInput select::-moz-placeholder, .ec-zipInput select::-moz-placeholder, .ec-telInput select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.ec-input select:-ms-input-placeholder, .ec-birth select:-ms-input-placeholder, .ec-select select:-ms-input-placeholder, .ec-halfInput select:-ms-input-placeholder, .ec-numberInput select:-ms-input-placeholder, .ec-zipInput select:-ms-input-placeholder, .ec-telInput select:-ms-input-placeholder {
  color: #999;
}
.ec-input select::-webkit-input-placeholder, .ec-birth select::-webkit-input-placeholder, .ec-select select::-webkit-input-placeholder, .ec-halfInput select::-webkit-input-placeholder, .ec-numberInput select::-webkit-input-placeholder, .ec-zipInput select::-webkit-input-placeholder, .ec-telInput select::-webkit-input-placeholder {
  color: #999;
}
.ec-input select::-ms-expand, .ec-birth select::-ms-expand, .ec-select select::-ms-expand, .ec-halfInput select::-ms-expand, .ec-numberInput select::-ms-expand, .ec-zipInput select::-ms-expand, .ec-telInput select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-input select[disabled], .ec-birth select[disabled], .ec-select select[disabled], .ec-halfInput select[disabled], .ec-numberInput select[disabled], .ec-zipInput select[disabled], .ec-telInput select[disabled], .ec-input select[readonly], .ec-birth select[readonly], .ec-select select[readonly], .ec-halfInput select[readonly], .ec-numberInput select[readonly], .ec-zipInput select[readonly], .ec-telInput select[readonly], fieldset[disabled] .ec-input select, fieldset[disabled] .ec-birth select, fieldset[disabled] .ec-select select, fieldset[disabled] .ec-halfInput select, fieldset[disabled] .ec-numberInput select, fieldset[disabled] .ec-zipInput select, fieldset[disabled] .ec-telInput select {
  opacity: 1;
}
.ec-input select[disabled], .ec-birth select[disabled], .ec-select select[disabled], .ec-halfInput select[disabled], .ec-numberInput select[disabled], .ec-zipInput select[disabled], .ec-telInput select[disabled], fieldset[disabled] .ec-input select, fieldset[disabled] .ec-birth select, fieldset[disabled] .ec-select select, fieldset[disabled] .ec-halfInput select, fieldset[disabled] .ec-numberInput select, fieldset[disabled] .ec-zipInput select, fieldset[disabled] .ec-telInput select {
  cursor: not-allowed;
}
.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea {
  display: inline-block;
  width: 100%;
  height: 1rem px12px2 px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857142;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: none;
  border: 1px solid #ccc;
  border-radius: var(--bs-border-radius);
  -webkit-appearance: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea {
    transition: none;
  }
}
.ec-input textarea:focus, .ec-birth textarea:focus, .ec-select textarea:focus, .ec-halfInput textarea:focus, .ec-numberInput textarea:focus, .ec-zipInput textarea:focus, .ec-telInput textarea:focus {
  border-color: #66afe9;
  outline: 0;
}
.ec-input textarea::-moz-placeholder, .ec-birth textarea::-moz-placeholder, .ec-select textarea::-moz-placeholder, .ec-halfInput textarea::-moz-placeholder, .ec-numberInput textarea::-moz-placeholder, .ec-zipInput textarea::-moz-placeholder, .ec-telInput textarea::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.ec-input textarea:-ms-input-placeholder, .ec-birth textarea:-ms-input-placeholder, .ec-select textarea:-ms-input-placeholder, .ec-halfInput textarea:-ms-input-placeholder, .ec-numberInput textarea:-ms-input-placeholder, .ec-zipInput textarea:-ms-input-placeholder, .ec-telInput textarea:-ms-input-placeholder {
  color: #999;
}
.ec-input textarea::-webkit-input-placeholder, .ec-birth textarea::-webkit-input-placeholder, .ec-select textarea::-webkit-input-placeholder, .ec-halfInput textarea::-webkit-input-placeholder, .ec-numberInput textarea::-webkit-input-placeholder, .ec-zipInput textarea::-webkit-input-placeholder, .ec-telInput textarea::-webkit-input-placeholder {
  color: #999;
}
.ec-input textarea::-ms-expand, .ec-birth textarea::-ms-expand, .ec-select textarea::-ms-expand, .ec-halfInput textarea::-ms-expand, .ec-numberInput textarea::-ms-expand, .ec-zipInput textarea::-ms-expand, .ec-telInput textarea::-ms-expand {
  border: 0;
  background-color: transparent;
}
.ec-input textarea[disabled], .ec-birth textarea[disabled], .ec-select textarea[disabled], .ec-halfInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-telInput textarea[disabled], .ec-input textarea[readonly], .ec-birth textarea[readonly], .ec-select textarea[readonly], .ec-halfInput textarea[readonly], .ec-numberInput textarea[readonly], .ec-zipInput textarea[readonly], .ec-telInput textarea[readonly], fieldset[disabled] .ec-input textarea, fieldset[disabled] .ec-birth textarea, fieldset[disabled] .ec-select textarea, fieldset[disabled] .ec-halfInput textarea, fieldset[disabled] .ec-numberInput textarea, fieldset[disabled] .ec-zipInput textarea, fieldset[disabled] .ec-telInput textarea {
  opacity: 1;
}
.ec-input textarea[disabled], .ec-birth textarea[disabled], .ec-select textarea[disabled], .ec-halfInput textarea[disabled], .ec-numberInput textarea[disabled], .ec-zipInput textarea[disabled], .ec-telInput textarea[disabled], fieldset[disabled] .ec-input textarea, fieldset[disabled] .ec-birth textarea, fieldset[disabled] .ec-select textarea, fieldset[disabled] .ec-halfInput textarea, fieldset[disabled] .ec-numberInput textarea, fieldset[disabled] .ec-zipInput textarea, fieldset[disabled] .ec-telInput textarea {
  cursor: not-allowed;
}
.ec-input input:focus, .ec-birth input:focus, .ec-select input:focus, .ec-halfInput input:focus, .ec-numberInput input:focus, .ec-zipInput input:focus, .ec-telInput input:focus, .ec-input textarea:focus, .ec-birth textarea:focus, .ec-select textarea:focus, .ec-halfInput textarea:focus, .ec-numberInput textarea:focus, .ec-zipInput textarea:focus, .ec-telInput textarea:focus {
  box-shadow: none;
  border-color: #3c8dbc;
}
.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
  height: 40px;
  margin-bottom: 15px;
}
.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea {
  height: auto;
  min-height: 100px;
}
.ec-input p, .ec-birth p, .ec-select p, .ec-halfInput p, .ec-numberInput p, .ec-zipInput p, .ec-telInput p {
  line-height: 1.4;
}
.ec-input .ec-errorMessage, .ec-birth .ec-errorMessage, .ec-select .ec-errorMessage, .ec-halfInput .ec-errorMessage, .ec-numberInput .ec-errorMessage, .ec-zipInput .ec-errorMessage, .ec-telInput .ec-errorMessage {
  margin-bottom: 25px;
  font-size: 12px;
  font-weight: bold;
  color: #DE5D50;
}

.error.ec-input input, .error.ec-birth input, .error.ec-select input, .error.ec-halfInput input, .error.ec-numberInput input, .error.ec-zipInput input, .error.ec-telInput input, .error.ec-input select, .error.ec-birth select, .error.ec-select select, .error.ec-halfInput select, .error.ec-numberInput select, .error.ec-zipInput select, .error.ec-telInput select, .error.ec-input textarea, .error.ec-birth textarea, .error.ec-select textarea, .error.ec-halfInput textarea, .error.ec-numberInput textarea, .error.ec-zipInput textarea, .error.ec-telInput textarea {
  margin-bottom: 5px;
  border-color: #CF3F34;
  background: #FDF1F0;
}

.ec-checkbox .ec-errorMessage, .ec-radio .ec-errorMessage {
  margin-bottom: 25px;
  font-size: 12px;
  font-weight: bold;
  color: #DE5D50;
}

.error.ec-checkbox input, .error.ec-checkbox label, .error.ec-checkbox div, .error.ec-radio input, .error.ec-radio label, .error.ec-radio div {
  border-color: #CF3F34;
  background: #FDF1F0;
}

/*
フォーム（text２つ）

姓名など2つ入力させたい入力項目で使用します。

入力フォームを半分で用意したいときにも利用可能です。

ex [会員情報編集画面　フォーム部分](http://demo3.ec-cube.net/mypage/change)

Markup:
p.ec-halfInput
  input(type="text")
  input(type="text")
p.ec-halfInput
  input(type="text")

Styleguide 3.1.2
*/
.ec-halfInput input[type=text] {
  display: inline-block;
  width: 47%;
  margin-left: 2%;
}
@media only screen and (min-width: 768px) {
  .ec-halfInput input[type=text] {
    margin-left: 15px;
    width: 45%;
  }
}
.ec-halfInput .ec-errorMessage {
  display: inline-block;
  width: 47%;
}
@media only screen and (min-width: 768px) {
  .ec-halfInput .ec-errorMessage {
    margin-left: 15px;
    width: 45%;
  }
}
.ec-halfInput input[type=text]:first-of-type,
.ec-halfInput .ec-errorMessage:first-of-type {
  margin-left: 0;
}

/*
数量ボタン

数量を表示するための小さなコンポーネントです。

数値表示に最適化するため、数字は右端揃えで表示されます。

ex [商品詳細画面　数量ボタン部分](http://demo3.ec-cube.net/products/detail/27)

Markup:
.ec-numberInput
  span 数量
  input(type="number",value="0")

Styleguide 3.1.3
*/
.ec-numberInput input[type=number] {
  display: inline-block;
  width: auto;
  max-width: 100px;
  text-align: right;
}

/*
郵便番号フォーム

数量を表示するための小さなコンポーネントです。

内部に input 要素を配置してコーディングします。

ex [会員情報編集画面　郵便番号部分](http://demo3.ec-cube.net/mypage/change)

Markup:
.ec-zipInput
  span 〒
  input(type="text")
.ec-zipInputHelp
  a(href="http://www.post.japanpost.jp/zipcode/" target="_blank")
    .ec-zipInputHelp__icon
      .ec-icon
        img(src='/moc/icon/question-white.svg', alt='')
    span 郵便番号検索
.ec-zipAuto
  a.ec-inlineBtn 郵便番号から自動入力

Styleguide 3.1.4
*/
.ec-zipInput {
  display: inline-block;
}
.ec-zipInput input {
  display: inline-block;
  text-align: left;
  width: auto;
  max-width: 9em;
  font-size: 16px;
}
.ec-zipInput span {
  display: inline-block;
  padding: 0 5px 0 3px;
  margin-left: 5px;
}

.ec-zipInputHelp {
  display: inline-block;
  margin-left: 10px;
  margin-bottom: 8px;
  vertical-align: middle;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .ec-zipInputHelp a {
    transition: all 0.5s ease 0s;
  }
  .ec-zipInputHelp a:hover {
    opacity: 0.7;
  }
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
  display: none;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: #525263;
  border-radius: 50%;
  font-size: 13px;
  position: relative;
  top: -6px;
}
.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon img {
  width: 1em;
  height: 1em;
  position: relative;
  left: 3px;
  top: 3px;
}
.ec-zipInputHelp a {
  color: currentColor;
}
.ec-zipInputHelp span {
  margin-left: 8px;
  display: inline-block;
  font-size: 1.4rem;
  vertical-align: middle;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/*
電話番号ボタン

数量を表示するための小さなコンポーネントです。

内部に input 要素を配置してコーディングします。

ex [会員情報編集画面　電話番号部分](http://demo3.ec-cube.net/mypage/change)

Markup:
.ec-telInput
  input(type="text")

Styleguide 3.1.5
*/
.ec-telInput input {
  max-width: 12em;
  text-align: left;
}

/*
フォーム部品(その他)

フォーム部品でテキストの入力以外の動作要素を定義します。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>

Styleguide 3.2
*/
/*
ラジオ（水平）

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

各要素をlabelでくくって、コーディングします。

ex [新規会員登録画面　性別選択部分](http://demo3.ec-cube.net/entry)

Markup:
.ec-radio
  label
    input(type="radio")
    span 男性
  label
    input(type="radio")
    span 女性

Styleguide 3.2.2
*/
.ec-radio div {
  display: inline-block;
}
.ec-radio label {
  margin-right: 20px;
}
.ec-radio input {
  margin-right: 10px;
  margin-bottom: 10px;
}
.ec-radio span {
  font-weight: normal;
}

/*
ラジオ(垂直)

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

各要素をlabelでくくって、コーディングします。

ex [購入画面 お支払方法](http://demo3.ec-cube.net/shopping)

Markup:
.ec-blockRadio
  label
    input(type="radio")
    span 郵便振替
  label
    input(type="radio")
    span 現金書留
  label
    input(type="radio")
    span 銀行振込
  label
    input(type="radio")
    span 代金引換

Styleguide 3.2.3
*/
.ec-blockRadio label {
  display: block;
}
.ec-blockRadio span {
  padding-left: 10px;
  font-weight: normal;
}

/*
セレクトボックス

数量を表示するための小さなコンポーネントです。

数値表示に最適化するため、数字は右端揃えで表示されます。

ex [新規会員登録画面　都道府県選択部分](http://demo3.ec-cube.net/entry)

Markup:
.ec-select
  select
    option 都道府県を選択
    option 北海道
    option 青森県
    option 岩手県
    option ...
.ec-select
  select
    option 選択して下さい
    option 公務員
    option コンサルタント
    option コンピュータ関連技術職
    option コンピュータ関連以外の技術職
    option ...

Styleguide 3.2.4
*/
.ec-selects {
  margin-bottom: 20px;
  border-bottom: 1px solid #efefef;
}

.ec-select {
  margin-bottom: 15px;
}
.ec-select select {
  display: inline-block;
  width: auto;
  height: 40px;
  max-width: 100%;
  appearance: menulist;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
}
.ec-select select:focus {
  box-shadow: none;
}
.ec-select label {
  margin-right: 10px;
  font-weight: bold;
}
.ec-select label:nth-child(3) {
  margin-left: 10px;
  font-weight: bold;
}

.ec-select__delivery {
  display: block;
  margin-right: 16px;
}
@media only screen and (min-width: 768px) {
  .ec-select__delivery {
    display: inline-block;
  }
}

.ec-select__time {
  display: block;
}
@media only screen and (min-width: 768px) {
  .ec-select__time {
    display: inline-block;
  }
}

/*
生年月日選択

数量を表示するための小さなコンポーネントです。

数値表示に最適化するため、数字は右端揃えで表示されます。

ex [新規会員登録画面　生年月日選択部分](http://demo3.ec-cube.net/entry)

Markup:
.ec-birth
  select
    option ----
    option 1960
    option 1961
    option 1962
    option ...
  span /
  select
    option --
    option 01
    option 02
    option 03
    option ...
  span /
  select
    option --
    option 01
    option 02
    option 03
    option ...

Styleguide 3.2.5
*/
.ec-birth {
  margin-bottom: 15px;
}
.ec-birth select {
  display: inline-block;
  width: auto;
  height: 40px;
  appearance: menulist;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
}
.ec-birth select:focus {
  box-shadow: none;
}
@media only screen and (min-width: 768px) {
  .ec-birth select {
    margin-inline: 8px;
  }
  .ec-birth select:first-child {
    margin-left: 0;
  }
}

/*
チェックボックス （水平）

水平に並ぶチェックボックス フィールドです。

各要素をlabelでくくって、コーディングします。

ex [新規会員登録画面　利用規約](http://demo3.ec-cube.net/entry)

Markup:
.ec-checkbox
  label
    input(type="checkbox")
    span 利用規約に同意する

Styleguide 3.2.6
*/
.ec-checkbox label {
  display: inline-block;
  margin-bottom: 5px;
  font-weight: 700;
}
.ec-checkbox input {
  margin-bottom: 10px;
}
.ec-checkbox span {
  font-weight: normal;
}

/*
チェックボックス (垂直)

垂直に並ぶチェックボックス フィールドです。

各要素をlabelでくくって、コーディングします。

Markup:
.ec-blockCheckbox
  label
    input(type="checkbox")
    span 利用規約に同意する

Styleguide 3.2.7
*/
.ec-blockCheckbox label {
  display: block;
}
.ec-blockCheckbox span {
  font-weight: normal;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
フォームラベル

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

sg-wrapper:
<div class="ec-registerRole">
  <div class="ec-off1Grid">
    <div class="ec-off1Grid__cell">
      <div class="ec-borderedDefs">
        <sg-wrapper-content/>
      </div>
    </div>
  </div>
</div>

Styleguide 3.3
*/
/*
ラベル

フォーム要素で利用するラベル要素です。

ex [お問い合わせページ　ラベル部分](http://demo3.ec-cube.net/contact)

Markup:
.ec-borderedDefs
  dl
    dt
      label.ec-label お名前
    dd
      .ec-input
        input(type="text")

Styleguide 3.3.1
*/
.ec-label {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 15px;
}

/*
必須ラベル

必須文字を表示するラベル要素です。

ex [お問い合わせページ　必須ラベル部分](http://demo3.ec-cube.net/contact)


Markup:
.ec-borderedDefs
  dl
    dt
      label.ec-label お名前
        span.ec-required 必須
    dd
      .ec-input
        input(type="text")

Styleguide 3.3.2
*/
.ec-required {
  display: inline-block;
  margin-left: 0.8em;
  vertical-align: 2px;
  color: #e05a87;
  font-size: 1.2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-required {
    margin-left: 1em;
    font-size: 1.4rem;
  }
}

/*
アイコン

デフォルトテンプレートのアイコンは`.ec-icon`>`img`タグで使用することができます

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>

Markup:
include /assets/tmpl/elements/4.1.icon.pug
div(style="background-color: rgba(130,130,130,.15); padding: 20px;")
  +icon-all

Styleguide 4.1
*/
.ec-icon img {
  max-width: 80px;
  max-height: 80px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
グリッド

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

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 5.1
*/
/*
2分割グリッド

画面 ２分割の　グリッドです。
Bootstrap の col-sm-6 相当のグリッドを提供します。

Markup:
.ec-grid2
  .ec-grid2__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid2__cell
  .ec-grid2__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid2__cell

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 5.1.1
*/
.ec-grid2 {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-grid2 {
    display: flex;
  }
}
.ec-grid2 .ec-grid2__cell {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid2 .ec-grid2__cell {
    width: 50%;
  }
}
.ec-grid2 .ec-grid2__cell2 {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid2 .ec-grid2__cell2 {
    width: 100%;
  }
}
/*
3分割グリッド

画面　３分割の　グリッドです。


Markup:
.ec-grid3
  .ec-grid3__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid3__cell
  .ec-grid3__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid3__cell
  .ec-grid3__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid3__cell

Styleguide 5.1.2
*/
.ec-grid3 {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-grid3 {
    display: flex;
  }
}
.ec-grid3 .ec-grid3__cell {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid3 .ec-grid3__cell {
    width: 33.3333333333%;
  }
}
.ec-grid3 .ec-grid3__cell2 {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid3 .ec-grid3__cell2 {
    width: 66.6666666667%;
  }
}
.ec-grid3 .ec-grid3__cell3 {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid3 .ec-grid3__cell3 {
    width: 100%;
  }
}
/*
4分割グリッド

画面　４分割の　グリッドです。


Markup:
.ec-grid4
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid4__cell

Styleguide 5.1.3
*/
.ec-grid4 {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-grid4 {
    display: flex;
  }
}
.ec-grid4 .ec-grid4__cell {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid4 .ec-grid4__cell {
    width: 25%;
  }
}
/*
6分割グリッド

2つにまとめた cell2 や 3つをまとめた cell3 タグも使用可能です。


Markup:
.ec-grid6
  .ec-grid6__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell
  .ec-grid6__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell
  .ec-grid6__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell
  .ec-grid6__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell
  .ec-grid6__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell
  .ec-grid6__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell
.ec-grid6
  .ec-grid6__cell2(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell2
  .ec-grid6__cell2(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell2
  .ec-grid6__cell2(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell2
.ec-grid6
  .ec-grid6__cell3(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell3
  .ec-grid6__cell3(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") .ec-grid6__cell3

Styleguide 5.1.4
*/
.ec-grid6 {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-grid6 {
    display: flex;
  }
}
.ec-grid6 .ec-grid6__cell {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid6 .ec-grid6__cell {
    width: 16.6666666667%;
  }
}
.ec-grid6 .ec-grid6__cell2 {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid6 .ec-grid6__cell2 {
    width: 33.3333333333%;
  }
}
.ec-grid6 .ec-grid6__cell3 {
  position: relative;
  min-height: 1px;
}
@media (min-width: 768px) {
  .ec-grid6 .ec-grid6__cell3 {
    width: 50%;
  }
}
/*
中央寄せグリッド 10/12

左右にマージンを持つ、中央寄せグリッドを提供します。１２分の１０グリッドです

ex [ご利用規約ページ　本文](http://demo3.ec-cube.net/help/agreement)

Markup:
.ec-off1Grid
  .ec-off1Grid__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod

Styleguide 5.1.5
*/
.ec-off1Grid {
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .ec-off1Grid {
    max-width: 1000px;
  }
}
.ec-off1Grid .ec-off1Grid__cell {
  margin: 0 auto;
}
/*
中央寄せグリッド 8/12

左右にマージンを持つ、中央寄せグリッドを提供します。１２分の８グリッドです


Markup:
.ec-off2Grid
  .ec-off2Grid__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod

Styleguide 5.1.6
*/
.ec-off2Grid {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-off2Grid {
    display: flex;
  }
}
.ec-off2Grid .ec-off2Grid__cell {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-off2Grid .ec-off2Grid__cell {
    position: relative;
    min-height: 1px;
    margin-left: 16.6666666667%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .ec-off2Grid .ec-off2Grid__cell {
    width: 66.6666666667%;
  }
}
/*
中央寄せグリッド 6/12

左右にマージンを持つ、中央寄せグリッドを提供します。１２分の６グリッドです


Markup:
.ec-off3Grid
  .ec-off3Grid__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod

Styleguide 5.1.7
*/
.ec-off3Grid {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-off3Grid {
    display: flex;
  }
}
.ec-off3Grid .ec-off3Grid__cell {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-off3Grid .ec-off3Grid__cell {
    position: relative;
    min-height: 1px;
    margin-left: 25%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .ec-off3Grid .ec-off3Grid__cell {
    width: 50%;
  }
}
/*
中央寄せグリッド 4/12

左右にマージンを持つ、中央寄せグリッドを提供します。１２分の４グリッドです


Markup:
.ec-off4Grid
  .ec-off4Grid__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod


Styleguide 5.1.8
*/
.ec-off4Grid {
  display: block;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-off4Grid {
    display: flex;
  }
}
.ec-off4Grid .ec-off4Grid__cell {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-off4Grid .ec-off4Grid__cell {
    position: relative;
    min-height: 1px;
    margin-left: 33.3333333333%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .ec-off4Grid .ec-off4Grid__cell {
    width: 33.3333333333%;
  }
}
/*
グリッドオプション

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

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>

Styleguide 5.1.9
*/
/*
グリッドセルの左寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。

Markup:
.ec-grid4.ec-grid--left
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell

Styleguide 5.1.10
*/
.ec-grid--left {
  justify-content: flex-start;
}

/*
グリッドセルの右寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。

Markup:
.ec-grid4.ec-grid--right
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell

Styleguide 5.1.11
*/
.ec-grid--right {
  justify-content: flex-end;
}

/*
グリッドセルの中央寄せ

.ec-gridに.ec-grid--leftを付与すると内包してるセルを左寄せにすることができます。

Markup:
.ec-grid4.ec-grid--center
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell
  .ec-grid4__cell(style="background-color: rgba(86,61,124,.15);border: 1px solid rgba(86,61,124,.2);height:50px;") ec-grid4__cell

Styleguide 5.1.12
*/
.ec-grid--center {
  justify-content: center;
}

.ec-grid--wrap {
  flex-wrap: wrap;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
レイアウト

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

Styleguide 5.2
*/
/*
画像レイアウト

画像とテキストを水平に並べるレイアウトです。

画像は20%で表示されます。

ex [注文履歴 ログイン後→注文履歴ボタンを押下](http://demo3.ec-cube.net/mypage)

Markup:
.ec-imageGrid
  .ec-imageGrid__img: img(src="http://demo3.ec-cube.net/upload/save_image/0701113537_559351f959620.jpeg")
  .ec-imageGrid__content
    p.ec-font-bold ホーローマグ
    p ¥ 1,728 x 1

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 5.2.1
*/
.ec-imageGrid {
  display: table;
  border-top: 1px solid #efefef;
  width: 100%;
}
.ec-imageGrid .ec-imageGrid__img {
  display: table-cell;
  padding: 10px;
  width: 100px;
}
@media only screen and (min-width: 768px) {
  .ec-imageGrid .ec-imageGrid__img {
    padding: 10px;
    width: 130px;
  }
}
.ec-imageGrid .ec-imageGrid__img img {
  width: 100%;
}
.ec-imageGrid .ec-imageGrid__content {
  vertical-align: middle;
  display: table-cell;
}
.ec-imageGrid .ec-imageGrid__content span {
  margin-left: 10px;
}
.ec-imageGrid .ec-imageGrid__content p {
  margin-bottom: 0;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
ログイン

主にログインフォームのスタイルを表示します。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 6.1
*/
/*
ログインフォーム

ログインフォームを表示します。

ex [ログイン画面](http://demo3.ec-cube.net/mypage/login)

Markup:
include /assets/tmpl/elements/6.3.login.pug
+ec-login


Styleguide 6.1.1
*/
.ec-login {
  margin: 0 -15px -20px;
  padding-inline: 15px;
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .ec-login {
    margin: 0;
    padding: 0;
  }
}
.ec-login__header h2, .ec-login__header .h2 {
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid #efefef;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-login__header h2, .ec-login__header .h2 {
    padding: 30px 0;
    font-size: 2.4rem;
  }
}
.ec-login__input {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-login__input {
    margin-bottom: 40px;
  }
}
.ec-login__input .ec-borderedDefs {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ec-login__input .ec-checkbox {
    width: 70%;
    margin-left: auto;
  }
}
.ec-login__input .ec-checkbox span {
  margin-left: 5px;
  font-weight: normal;
}
.ec-login__input .ec-checkbox .form-check-label {
  font-weight: normal;
}
.ec-login .ec-login__actions {
  width: 270px;
  margin: auto;
}
.ec-login .ec-login__actions a {
  color: inherit;
  text-decoration: none;
}
.ec-login .ec-login__actions a:hover {
  text-decoration: none;
}
.ec-login .ec-login__link {
  margin-top: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-login .ec-login__link a {
    transition: all 0.5s ease 0s;
  }
  .ec-login .ec-login__link a:hover {
    opacity: 0.7;
  }
}
.ec-login .ec-login__link a {
  color: currentColor;
  font-size: 1.4rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-login .ec-errorMessage {
  color: #DE5D50;
  margin-bottom: 20px;
  text-align: center;
}

/*
ゲスト購入

ゲスト購入ボタンとそのフォームを表示します。

ex [ゲスト購入画面](http://demo3.ec-cube.net/shopping/login)

Markup:
include /assets/tmpl/elements/6.3.login.pug
+ec-guest
hoge

Styleguide 6.1.2
*/
.ec-guest {
  margin: 50px -15px -20px;
  padding-inline: 15px;
  border-top: 1px solid #efefef;
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .ec-guest {
    margin: 50px 0 0;
    padding: 0;
  }
}
.ec-guest .ec-guest__inner {
  padding-top: 30px;
  vertical-align: middle;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-guest .ec-guest__inner {
    padding-top: 50px;
  }
}
.ec-guest .ec-guest__inner p {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .ec-guest .ec-guest__inner p {
    margin-bottom: 50px;
    font-size: 1.8rem;
  }
}
.ec-guest .ec-guest__actions {
  width: 270px;
  margin: auto;
}

/*
　愛好会ログイン
 */
#login_box {
  padding-bottom: 84px;
}
#login_box .column {
  background: #F3F4F4;
  height: 100%;
  padding: 8px 8px 32px;
  margin-bottom: 16px;
}
@media only screen and (min-width: 768px) {
  #login_box .column {
    padding: 16px 16px 40px;
  }
}
#login_box .column--login {
  background-color: #fcf1d1;
}
@media only screen and (min-width: 768px) {
  #login_box .column p {
    margin-bottom: 8px;
  }
}
#login_box .column .form-group > label {
  display: block;
  font-weight: bold;
  clear: both;
}
#login_box .form-group {
  padding: 8px 0 8px 10%;
}
@media only screen and (min-width: 768px) {
  #login_box .form-group {
    padding: 8px 0 8px 13%;
  }
}
#login_box .form-group label {
  display: inline-block;
  padding: 5px 0;
}
#login_box input[type=text], #login_box input[type=email], #login_box input[type=password] {
  width: 90%;
}
@media only screen and (min-width: 768px) {
  #login_box input[type=text], #login_box input[type=email], #login_box input[type=password] {
    width: 85%;
  }
}
#login_box .btn-block {
  display: block;
  width: 100%;
}
#login_box .btn {
  border: 2px solid #333;
  background-color: #fff;
  color: #333;
}
#login_box .btn:hover, #login_box .btn:active, #login_box .btn:focus {
  background-color: #333;
  color: #fff;
}
#login_box .btn-sm, #login_box .btn-group-sm > .btn {
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  #login_box .btn-sm, #login_box .btn-group-sm > .btn {
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.5;
  }
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
商品掲載

トップページに商品掲載するスタイルガイド群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 7.1
*/
/*
商品アイテム（商品紹介B）

３項目横並びの商品アイテムを表示します。
必要に応じて商品詳細や、キャッチコピーなどを添えることが出来ます。

ex [トップページ　商品紹介部分](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/7.1.itembanner.pug
+ec-displayB

Styleguide 7.1.1
*/
.ec-displayB {
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .ec-displayB {
    flex-direction: row;
  }
}
.ec-displayB .ec-displayB__cell {
  width: 100%;
  margin-bottom: 16px;
}
.ec-displayB .ec-displayB__cell a {
  color: inherit;
  text-decoration: none;
}
.ec-displayB .ec-displayB__cell a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-displayB .ec-displayB__cell {
    width: 31.4466%;
    margin-bottom: 0;
  }
}
.ec-displayB .ec-displayB__cell:hover {
  text-decoration: none;
}
.ec-displayB .ec-displayB__cell:hover img {
  opacity: 0.8;
}
.ec-displayB .ec-displayB__cell:hover a {
  text-decoration: none;
}
.ec-displayB .ec-displayB__img {
  margin-bottom: 15px;
}
.ec-displayB .ec-displayB__catch {
  margin-bottom: 15px;
  text-decoration: none;
  font-weight: bold;
  color: #9a947e;
}
.ec-displayB .ec-displayB__comment {
  margin-bottom: 14px;
  text-decoration: none;
  color: #525263;
  font-size: 14px;
}
.ec-displayB .ec-displayB__link {
  text-decoration: none;
  font-weight: bold;
  color: #9a947e;
}

/*
商品アイテム（商品紹介C）

４項目横並びの商品アイテムを表示します。

ex [トップページ　商品紹介部分](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/7.1.itembanner.pug
+ec-displayC
p hoge

Styleguide 7.1.2
*/
.ec-displayC {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 24px;
}
.ec-displayC .ec-displayC__cell {
  width: 47%;
}
.ec-displayC .ec-displayC__cell a {
  color: inherit;
  text-decoration: none;
}
.ec-displayC .ec-displayC__cell a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-displayC .ec-displayC__cell {
    width: 22.8775%;
  }
}
.ec-displayC .ec-displayC__cell:hover a {
  text-decoration: none;
}
.ec-displayC .ec-displayC__cell:hover img {
  opacity: 0.8;
}
.ec-displayC .ec-displayC__img {
  display: block;
  width: 100%;
  margin-bottom: 15px;
}
.ec-displayC .ec-displayC__catch {
  display: block;
  width: 100%;
  font-weight: bold;
  color: #9a947e;
}
.ec-displayC .ec-displayC__title {
  display: block;
  width: 100%;
  color: #525263;
}
.ec-displayC .ec-displayC__price {
  display: block;
  width: 100%;
  font-weight: bold;
  color: #525263;
}
.ec-displayC .ec-displayC__price--sp {
  display: block;
  width: 100%;
  font-weight: bold;
  color: #DE5D50;
}

/*
商品アイテム（商品紹介D）

６項目横並びの商品アイテムを表示します。

ex [トップページ　商品紹介部分](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/7.1.itembanner.pug
+ec-displayD

Styleguide 7.1.3
*/
.ec-displayD {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap-reverse;
}
@media only screen and (min-width: 768px) {
  .ec-displayD {
    box-sizing: border-box;
    flex-wrap: nowrap;
  }
}
.ec-displayD .ec-displayD__cell {
  width: 30%;
  margin-bottom: 8px;
}
.ec-displayD .ec-displayD__cell a {
  color: inherit;
  text-decoration: none;
}
.ec-displayD .ec-displayD__cell a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-displayD .ec-displayD__cell {
    width: 14.3083%;
    margin-bottom: 16px;
  }
}
.ec-displayD .ec-displayD__cell:hover {
  text-decoration: none;
}
.ec-displayD .ec-displayD__cell:hover img {
  opacity: 0.8;
}
.ec-displayD .ec-displayD__img {
  display: block;
  width: 100%;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
検索・一覧表示

検索欄や、一覧表示に使用するスタイル群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 7.2
*/
/*
トピックパス

検索結果で表示されるトピックパスのスタイルです。

ex [商品一覧ページ　横並びリスト部分](http://demo3.ec-cube.net/products/list?category_id=&name=)

Markup:
include /assets/tmpl/elements/7.2.search.pug
+ec-topicpath

Styleguide 7.2.1
*/
.ec-topicpathRole {
  width: 100%;
  margin: 0 auto 20px;
  padding: 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .ec-topicpathRole {
    max-width: 1310px;
    margin-bottom: 0;
    border: 0;
    overflow-x: hidden;
  }
}
.ec-topicpathRole__list {
  list-style: none;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0 5px;
}
@media only screen and (min-width: 768px) {
  .ec-topicpathRole__list {
    display: block;
    padding: 10px 15px 20px;
  }
}
.ec-topicpathRole .ec-topicpathRole__item {
  font-size: 1.2rem;
  word-break: keep-all;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .ec-topicpathRole .ec-topicpathRole__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-topicpathRole .ec-topicpathRole__item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-topicpathRole .ec-topicpathRole__item {
    display: inline;
    font-size: 1.6rem;
    word-break: break-all;
    white-space: normal;
  }
}
@media only screen and (min-width: 768px) {
  .ec-topicpathRole .ec-topicpathRole__item:first-child {
    margin-left: -10px;
  }
}
.ec-topicpathRole .ec-topicpathRole__item:not(:first-child):before {
  content: ">";
  display: inline;
  line-height: calc(22px + 1.2rem);
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-topicpathRole .ec-topicpathRole__item:not(:first-child):before {
    line-height: calc(20px + 1.6rem);
    font-size: 1.6rem;
  }
}
.ec-topicpathRole .ec-topicpathRole__item > a,
.ec-topicpathRole .ec-topicpathRole__item > span {
  padding: 0 10px;
  color: currentColor;
  line-height: calc(1em + 20px);
}
.ec-topicpathRole .ec-topicpathRole__item a {
  text-decoration: underline;
}

/*
ページャ

検索結果で表示される商品一覧のスタイルです。

ex [商品一覧ページ　ページャ部分](http://demo3.ec-cube.net/products/list?category_id=&name=)

Markup:
include /assets/tmpl/elements/7.2.search.pug
+ec-pager

Styleguide 7.2.2
*/
.ec-pager {
  list-style: none;
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  margin: 0;
  padding: 50px 0 0;
  text-align: center;
}
.ec-pager .ec-pager__item, .ec-pager .ec-pager__item--active {
  display: inline-block;
  min-width: 29px;
  text-align: center;
  position: relative;
}
.ec-pager .ec-pager__item a, .ec-pager .ec-pager__item--active a {
  color: inherit;
  text-decoration: none;
}
.ec-pager .ec-pager__item a:hover, .ec-pager .ec-pager__item--active a:hover {
  text-decoration: none;
}
.ec-pager .ec-pager__item > a, .ec-pager .ec-pager__item > span, .ec-pager .ec-pager__item--active > a, .ec-pager .ec-pager__item--active > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 4.6rem;
  height: 4.6rem;
  color: inherit !important;
  font-size: 2rem;
  font-weight: bold;
  text-decoration: none;
}
.ec-pager .ec-pager__item--active > a, .ec-pager .ec-pager__item--active > span, .ec-pager .ec-pager__item:hover > a, .ec-pager .ec-pager__item:hover > span {
  background: #efefef;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
@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: 1000;
  opacity: 1;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
カート

ショッピングカートに関するスタイルです。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 7.3
*/
/*
カートヘッダ

購入完了までの手順や、現在の状態を表示します。

ul 要素を用いたリスト要素としてマークアップします。

ex [カートページ　ヘッダ部分](http://demo3.ec-cube.net/cart)

Markup:
include /assets/tmpl/elements/7.3.cart.pug
+ec-progress

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 7.3.1
*/
.ec-progress {
  list-style: none;
  display: flex;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 10px;
  padding: 0 0.8em 0 0;
  border-radius: 5px;
  background: #d9d9d9;
  font-size: 1.1rem;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .ec-progress {
    margin-bottom: 30px;
    font-size: 1.8rem;
  }
}
#page_shopping_complete .ec-progress {
  background: #0097c6;
}
.ec-progress .ec-progress__item {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 0 0.8em 2.8em;
  background: #d9d9d9;
  position: relative;
  text-align: center;
  font-weight: bold;
  color: #d9d9d9;
  font-feature-settings: "palt";
}
@media only screen and (min-width: 768px) {
  .ec-progress .ec-progress__item {
    padding-left: 2.4rem;
  }
}
.ec-progress .ec-progress__item:first-child {
  padding-left: 0.8em;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.ec-progress .ec-progress__item:not(:last-child) span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 94%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  transform: translate(46%, -50%) rotate(45deg);
}
@media only screen and (min-width: 768px) {
  .ec-progress .ec-progress__item:not(:last-child) span {
    height: 88%;
  }
}
.ec-progress .ec-progress__item:not(:last-child) span:after {
  content: "";
  display: block;
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 6px;
  border: 1px solid transparent;
  border-top-color: #fff;
  border-right-color: #fff;
  background: linear-gradient(45deg, transparent 50%, currentColor 50%);
  background-origin: border-box;
  transform: skew(-6deg, -6deg);
}
.ec-progress .ec-progress__number {
  display: none;
  /*
  line-height: 30px;
  width: 30px;
  height: 30px;
  margin-bottom: 5px;
  font-size: 12px;
  background: #525263;
  color: #fff;
  top: 0;
  left: 18px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  border-radius: 50%;
  @include media_desktop(){
    line-height: 42px;
    width: 42px;
    height: 42px;
    font-size: 20px;
  }
  */
}
.ec-progress .ec-progress__label {
  font-size: 1.1rem;
  color: #000;
  word-break: keep-all;
}
@media only screen and (min-width: 768px) {
  .ec-progress .ec-progress__label {
    font-size: 1.8rem;
  }
}
.ec-progress .is-complete {
  background: #0097c6;
  color: #0097c6;
}
.ec-progress .is-complete .ec-progress__label {
  color: #fff;
}

/*
カートナビゲーション

カートナビゲーションを表示します。　カートに追加された商品の個数も表示します。

ex [カートページ　ナビゲーション部分](http://demo3.ec-cube.net/cart)

Markup:
include /assets/tmpl/elements/11.2.header.pug
+ec-headerCart

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>


Styleguide 7.3.5
*/
.ec-cartNaviWrap {
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-cartNaviWrap {
    position: relative;
  }
}

.ec-cartNavi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  color: black;
  background: transparent;
}
.ec-cartNavi .ec-cartNavi__icon {
  display: inline-block;
  display: inline-block;
  opacity: 1;
  visibility: visible;
  animation: fadeIn 200ms linear 0s;
  position: relative;
}
.ec-cartNavi .ec-cartNavi__badge {
  display: inline-block;
  border-radius: 10px;
  box-sizing: border-box;
  padding: 5px;
  height: 17px;
  font-size: 10px;
  line-height: 0.7;
  vertical-align: top;
  color: #fff;
  text-align: left;
  white-space: nowrap;
  background-color: #469bff;
  position: absolute;
  left: 48%;
  top: -3px;
}
@media only screen and (min-width: 768px) {
  .ec-cartNavi .ec-cartNavi__badge {
    display: inline-block;
    min-width: 17px;
  }
}
.ec-cartNavi .ec-cartNavi__price {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-cartNavi .ec-cartNavi__price {
    display: inline-block;
    font-size: 14px;
    font-weight: normal;
    vertical-align: middle;
  }
}
.ec-cartNavi .ec-cartNavi__itemIcon {
  display: block;
  font-size: 24px;
  line-height: 1;
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-cartNavi .ec-cartNavi__itemIcon {
    font-size: 32px;
  }
}
.ec-cartNavi .ec-cartNavi__itemLink {
  display: block;
  font-size: 10px;
  line-height: 1;
  vertical-align: middle;
  color: black;
  padding-top: 2px;
}
@media only screen and (min-width: 768px) {
  .ec-cartNavi .ec-cartNavi__itemLink {
    font-size: 12px;
  }
}

.ec-cartNavi.is-active .ec-cartNavi__icon:before {
  content: "\f00d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.ec-cartNavi.is-active .ec-cartNavi__badge {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-cartNavi.is-active .ec-cartNavi__badge {
    display: none;
  }
}

/*
カートナビゲーションのポップアップ(商品詳細)

カートナビゲーションのポップアップを表示します。カートに追加された商品の詳細が表示されます。

ex [カートページ　ナビゲーション部分](http://demo3.ec-cube.net/cart)

Markup:
div(style="height:350px;")
  // 上記のdivはスタイルガイド都合上、高さをもたせるため設置(mocでは不要)
  .is_active
    .ec-cartNavi
      .ec-cartNavi__icon
        img(src='/moc/icon/cart-dark.svg', alt='close')
      .ec-cartNavi__iconClose
        img(src='/moc/icon/cross-dark.svg', alt='close')
      .ec-cartNavi__badge 1
      .ec-cartNavi__label
        | 合計
        .ec-cartNavi__price ¥1920
    +b.ec-cartNaviIsset
      +e.cart
        +e.cartImage
          img(src='http://demo3.ec-cube.net/upload/save_image/0701104933_5593472d8d179.jpeg')
        +e.cartContent
          +e.cartContentTitle ミニテーブル
          +e.cartContentPrice ¥ 12,960
            +e.cartContentTax 税込
          +e.cartContentNumber 数量：1
      +e.action
        a.ec-blockBtn--action(href="/moc/guest/cart1") カートへ進む
        a.ec-blockBtn.ec-cartNavi--cancel キャンセル

Styleguide 7.3.6
*/
.ec-cartNaviIsset {
  display: none;
  width: 100%;
  text-align: center;
  background: #f8f8f8;
  box-sizing: border-box;
  padding: 16px;
  z-index: 20;
  position: absolute;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ec-cartNaviIsset {
    margin-top: 10px;
    min-width: 256px;
    max-width: 256px;
  }
  .ec-cartNaviIsset::before {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8.5px 10px 8.5px;
    border-color: transparent transparent #f8f8f8 transparent;
    position: absolute;
    top: -9px;
  }
}
.ec-cartNaviIsset .ec-cartNaviIsset__cart {
  border-bottom: 1px solid #E8E8E8;
  margin-bottom: 16px;
  padding-bottom: 32px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cart:after {
  content: " ";
  display: table;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cart:after {
  clear: both;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartImage {
  float: left;
  width: 45%;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartImage img {
  width: 100%;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContent {
  float: right;
  width: 55%;
  padding-left: 16px;
  text-align: left;
  box-sizing: border-box;
}
.ec-cartNaviIsset .ec-cartNaviIsset__action .ec-blockBtn--action {
  color: #fff;
  margin-bottom: 8px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTitle {
  margin-bottom: 8px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice {
  font-weight: bold;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTax {
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  margin-left: 2px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContentNumber {
  font-size: 14px;
}

.ec-cartNaviIsset.is-active {
  display: block;
}

/*
カートナビゲーションのポップアップ(商品なし)

カートナビゲーションのポップアップを表示します。商品が登録されていない場合の表示です。

ex [カートページ　ナビゲーション部分](http://demo3.ec-cube.net/cart)

Markup:
div(style="height:170px;")
  // 上記のdivはスタイルガイド都合上、高さをもたせるため設置(mocでは不要)
  .is_active
    .ec-cartNavi
      .ec-cartNavi__icon
        img(src='/moc/icon/cart-dark.svg', alt='cart')
      .ec-cartNavi__iconClose
        img(src='/moc/icon/cross-dark.svg', alt='close')
      .ec-cartNavi__badge 1
      .ec-cartNavi__label
        | 合計
        .ec-cartNavi__price ¥1920
    .ec-cartNaviNull
      .ec-cartNaviNull__message
        p 現在カート内に
          br
          | 商品がございません。
    //+b.ec-cartNaviIsset
    //  +e.cart
    //    +e.cartImage
    //      img(src='http://demo3.ec-cube.net/upload/save_image/0701104933_5593472d8d179.jpeg')
    //    +e.cartContent
    //      +e.cartContentTitle ミニテーブル
    //      +e.cartContentPrice ¥ 12,960
    //        +e.cartContentTax 税込
    //      +e.cartContentNumber 数量：1
    //  +e.action
    //    a.ec-blockBtn--action(href="/moc/guest/cart1") カートへ進む
    //    a.ec-blockBtn キャンセル

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>


Styleguide 7.3.7
*/
.ec-cartNaviNull {
  display: none;
  width: 100%;
  text-align: center;
  background: #f8f8f8;
  box-sizing: border-box;
  padding: 16px;
  z-index: 3;
  position: absolute;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ec-cartNaviNull {
    margin-top: 10px;
    min-width: 256px;
    max-width: 256px;
  }
  .ec-cartNaviNull::before {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8.5px 10px 8.5px;
    border-color: transparent transparent #f8f8f8 transparent;
    position: absolute;
    top: -9px;
  }
}
.ec-cartNaviNull .ec-cartNaviNull__message {
  border: 1px solid #D9D9D9;
  padding: 16px 0;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #F99;
}
.ec-cartNaviNull .ec-cartNaviNull__message p {
  margin: 0;
}

.ec-cartNaviNull.is-active {
  display: block;
}

/*
総計

会計時の合計金額、総計を表示します。

ex [カートページ　統計部分](http://demo3.ec-cube.net/cart)

Markup:
include /assets/tmpl/elements/7.3.cart.pug
+ec-totalBox

Styleguide 7.3.8
*/
.ec-totalBox {
  margin-top: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-totalBox {
    margin-top: 0;
    position: sticky;
    top: 15px;
  }
  #page_mypage_history .ec-totalBox {
    margin-top: 30px;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-totalBox {
    top: 104px;
  }
}
.ec-totalBox__spec {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
  padding: 0 15px 6px;
  background: #efefef;
  line-height: 1;
}
.ec-totalBox__spec dt {
  font-size: 1.4rem;
  font-weight: normal;
}
.ec-totalBox__spec dd {
  margin-bottom: 0;
  font-size: 1.6rem;
}
.ec-totalBox__spec:first-child {
  padding-top: 10px;
}
.ec-totalBox__spec:last-of-type {
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
}
.ec-totalBox .delivery_fee {
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
}
.ec-totalBox .delivery_fee + .ec-totalBox__spec,
.ec-totalBox .delivery_fee + .ec-totalBox__pointBlock > .ec-totalBox__spec:first-child {
  padding-top: 10px;
}
.ec-totalBox .ec-totalBox__pointBlock + .ec-totalBox__spec {
  padding-top: 10px;
}
.ec-totalBox .ec-totalBox__total {
  border-top: 1px dotted #ccc;
  padding: 8px 0;
  text-align: right;
  font-size: 14px;
  font-weight: bold;
}
.ec-totalBox .ec-totalBox__paymentTotal {
  display: flex;
  align-items: center;
  padding: 15px;
  background: #efefef;
  font-weight: bold;
}
.ec-totalBox .ec-totalBox__paymentTotal span {
  font-weight: normal;
}
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price {
  margin-left: auto;
  font-size: 2rem;
}
.ec-totalBox .ec-totalBox__price {
  margin-left: 16px;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-totalBox .ec-totalBox__price {
    font-size: 24px;
  }
}
.ec-totalBox .ec-totalBox__taxLabel {
  margin-top: 6px;
  margin-left: 8px;
  font-size: 1.2rem;
}
.ec-totalBox .ec-totalBox__taxRate {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
  font-size: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-totalBox .ec-totalBox__taxRate {
    font-size: 12px;
  }
}
.ec-totalBox .ec-totalBox__taxRate dt {
  font-weight: normal;
  text-align: left;
  margin-right: 8px;
}
.ec-totalBox .ec-totalBox__taxRate dt::before {
  content: "[ ";
}
.ec-totalBox .ec-totalBox__taxRate dd {
  text-align: right;
}
.ec-totalBox .ec-totalBox__taxRate dd::after {
  content: " ]";
}
.ec-totalBox__receiptBlock {
  margin-top: 15px;
}
.ec-totalBox__receiptBlock__heading {
  padding: 15px 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  font-weight: bold;
}
.ec-totalBox__receiptBlock__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid #efefef;
}
.ec-totalBox__receiptBlock__content p {
  width: 100%;
  margin-bottom: 15px;
  font-size: 1.4rem;
  line-height: 1;
}
.ec-totalBox__receiptBlock__content input {
  margin-bottom: 0;
  background: #efefef;
  border-color: #efefef;
}
.ec-totalBox__receiptBlock__content button {
  width: 105px;
  background: #000;
  border-color: #000;
  color: #fff;
  font-size: 1.2rem;
}
.ec-totalBox .ec-totalBox__btn {
  margin-top: 30px;
  color: #fff;
}
.ec-totalBox .ec-totalBox__btn a {
  color: inherit;
  text-decoration: none;
}
.ec-totalBox .ec-totalBox__btn a:hover {
  text-decoration: none;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cart {
  width: 270px;
  margin-inline: auto;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--action {
  width: 270px;
  margin-inline: auto;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
  width: 270px;
  margin-inline: auto;
  margin-top: 15px;
}
.ec-totalBox .ec-color-accent {
  margin-top: 10px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
お知らせ

新着情報やバナーなどの掲載項目を紹介していきます。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 8.1
*/
/*
新着情報

新着情報の掲載をします。

ex [トップページ　新着情報部分](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/8.1.info.pug
+ec-news

Styleguide 8.1.1
*/
.ec-news {
  margin-bottom: 16px;
  background: #F8F8F8;
}
@media only screen and (min-width: 768px) {
  .ec-news {
    margin-right: 3%;
  }
}
@media only screen and (min-width: 768px) {
  .ec-news {
    margin-bottom: 32px;
  }
}
.ec-news .ec-news__title {
  font-weight: bold;
  padding: 8px;
  font-size: 16px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-news .ec-news__title {
    padding: 16px;
    text-align: left;
    font-size: 24px;
  }
}
.ec-news .ec-news__items {
  padding: 0;
  list-style: none;
  border-top: 1px dotted #ccc;
}

/*
折りたたみ項目

折りたたみ項目を掲載します。

ex [トップページ　折りたたみ項目部分](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/8.1.info.pug
+b.ec-news
        +e.title 新着情報
        +e.UL.items
            +e.LI.item
                +b.ec-newsline.is_active
                    +e.info
                        +e.date 2016/09/29
                        +e.comment サイトオープンしました
                        +e.close
                            a.ec-closeBtn--circle
                                span.ec-closeBtn--circle__icon
                                    .ec-icon
                                        img(src='/moc/icon/angle-down-white.svg', alt='')
                    +e.description 一人暮らしからオフィスなどさまざまなシーンで あなたの生活をサポートするグッズをご家庭へお届けします！

Styleguide 8.1.2
*/
.ec-newsline {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  padding: 0 16px;
}
.ec-newsline .ec-newsline__info {
  width: 100%;
  padding: 16px 0;
}
.ec-newsline .ec-newsline__info:after {
  content: " ";
  display: table;
}
.ec-newsline .ec-newsline__info:after {
  clear: both;
}
.ec-newsline .ec-newsline__date {
  display: inline-block;
  margin-right: 10px;
  float: left;
}
.ec-newsline .ec-newsline__comment {
  display: inline-block;
  float: left;
}
.ec-newsline .ec-newsline__close {
  float: right;
  display: inline-block;
  text-align: right;
}
.ec-newsline .ec-newsline__close .ec-closeBtn--circle {
  display: inline-block;
  width: 25px;
  height: 25px;
  min-width: 25px;
  min-height: 25px;
}
.ec-newsline .ec-newsline__description {
  width: 100%;
  height: 0;
  transition: all 0.2s ease-out;
}
.ec-newsline.is_active .ec-newsline__description {
  height: auto;
  transition: all 0.2s ease-out;
  padding-bottom: 16px;
}
.ec-newsline.is_active .ec-icon img {
  transform: rotateX(180deg);
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
マイページ

マイページで利用するためのスタイルガイド群です。

sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>


Styleguide 9.1
*/
/*
マイページ

マイページで表示するメニューリストです。

ul を利用したリスト要素で記述します。

ex [マイページ　メニューリスト部分](http://demo3.ec-cube.net/mypage)

Markup:
include /assets/tmpl/elements/9.1.mypage.pug
+ec-navlist

Styleguide 9.1.1
*/
.ec-navlistRole {
  margin-inline: -15px;
  padding-inline: 15px;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-navlistRole {
    max-width: 1000px;
    margin-inline: auto;
    padding-inline: 0;
  }
}
.ec-navlistRole .ec-navlistRole__navlist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
  padding: 10px 0;
  list-style: none;
}
@media only screen and (min-width: 768px) {
  .ec-navlistRole .ec-navlistRole__navlist a {
    transition: all 0.5s ease 0s;
  }
  .ec-navlistRole .ec-navlistRole__navlist a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-navlistRole .ec-navlistRole__navlist {
    padding: 20px 0;
  }
}
.ec-navlistRole .ec-navlistRole__item {
  display: flex;
}
.ec-navlistRole .ec-navlistRole__item a {
  display: block;
  width: 100%;
  margin: auto;
  padding: 10px;
  font-size: 1.4rem;
  line-height: 1;
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (min-width: 768px) {
  .ec-navlistRole .ec-navlistRole__item a {
    font-size: 1.8rem;
  }
}
.ec-navlistRole .active a {
  font-weight: bold;
}

/*
マイページ（お気に入り機能無効）

マイページで表示するメニューリストです。

ul を利用したリスト要素で記述します。

ex [マイページ　メニューリスト部分](http://demo3.ec-cube.net/mypage)

Markup:
include /assets/tmpl/elements/9.1.mypage.pug
+ec-navlist_noFavorite

Styleguide 9.1.2
*/
/*
Welcome メッセージ

マイページで表示するログイン名の表示コンポーネントです。

ex [マイページ　メニューリスト下部分](http://demo3.ec-cube.net/mypage)

Markup:
include /assets/tmpl/elements/9.1.mypage.pug
+ec-welcomeMsg

Styleguide 9.1.3
*/
.ec-welcomeMsg {
  margin-right: auto;
  margin-left: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  width: auto;
  margin: 0 -15px;
  padding: 10px 15px;
  border-bottom: 1px solid #efefef;
}
.ec-welcomeMsg:after {
  content: " ";
  display: table;
}
.ec-welcomeMsg:after {
  clear: both;
}
.ec-welcomeMsg textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-welcomeMsg img {
  max-width: 100%;
  height: auto;
}
.ec-welcomeMsg html {
  box-sizing: border-box;
}
.ec-welcomeMsg *,
.ec-welcomeMsg *::before,
.ec-welcomeMsg *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-welcomeMsg {
    max-width: 1000px;
    margin-inline: auto;
    padding: 30px 0;
  }
}
#page_mypage .ec-welcomeMsg, #page_mypage_favorite .ec-welcomeMsg {
  border: none;
}
.ec-welcomeMsg p {
  font-size: 1.2rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-welcomeMsg p {
    font-size: 1.6rem;
  }
}

/*
お気に入り一覧

お気に入り一覧で表示するアイテムの表示コンポーネントです。

ex [マイページ　お気に入り一覧](http://demo3.ec-cube.net/mypage/favorite)

Markup:
include /assets/tmpl/elements/9.1.mypage.pug
+ec-favorite

Styleguide 9.1.4
*/
.ec-favoriteRole__header {
  margin: 0 -15px 30px;
  padding: 10px 15px;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-favoriteRole__header {
    display: flex;
    justify-content: space-between;
    margin-inline: 0;
    padding: 30px 0 0;
    border-bottom: none;
  }
}
.ec-favoriteRole__header__pager {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-favoriteRole__header__pager {
    display: block;
  }
  .ec-favoriteRole__header__pager .ec-pager {
    padding-top: 0;
  }
}
.ec-favoriteRole__header__count {
  font-size: 1.2rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-favoriteRole__header__count {
    font-size: 1.6rem;
  }
}
.ec-shelfGrid .ec-favoriteRole__delete {
  width: 100%;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid #efefef;
  text-align: center;
}
.ec-shelfGrid .ec-favoriteRole__delete a {
  color: currentColor;
  font-size: 1.4rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-favoriteRole__noItem {
  margin-bottom: -20px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-favoriteRole__noItem {
    margin-bottom: 0;
    padding-top: 20px;
    font-size: 1.8rem;
  }
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
.ec-coupon {
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 30px;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.ec-coupon__name {
  font-weight: bold;
}
.ec-coupon .ec-coupon__button-area {
  font-size: inherit;
}

.register_coupon {
  display: flex;
  gap: 20px;
}
.register_coupon__form {
  width: calc(100% - 80px);
}
@media only screen and (min-width: 768px) {
  .register_coupon__form {
    max-width: 35%;
  }
}
.register_coupon__btn {
  width: 60px;
}
.register_coupon .ec-blockBtn--action {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 16px;
  font-size: 1.4rem;
}

.register_coupon,
.registered_coupon {
  padding-top: 30px;
}

#coupon_use_Coupon .choice_coupon:first-child {
  display: none;
}
#coupon_use_Coupon .products {
  font-feature-settings: "palt";
}
#coupon_use_Coupon .info {
  color: #777;
}

.shopping_coupon_use {
  padding-top: 30px;
}
@media only screen and (min-width: 768px) {
  .shopping_coupon_use {
    display: flex;
    align-items: end;
    gap: 20px;
  }
}
.shopping_coupon_use__cd {
  margin: -10px 0 6px;
  padding-left: 29px;
}
@media only screen and (min-width: 768px) {
  .shopping_coupon_use__cd {
    margin-bottom: 12px;
    padding-left: 0;
  }
}
.shopping_coupon_use__example {
  margin-bottom: 16px;
  padding-left: 29px;
  color: #777;
}
@media only screen and (min-width: 768px) {
  .shopping_coupon_use__example {
    padding-left: 0;
  }
}
.shopping_coupon_use .ec-errorMessage {
  margin-bottom: -6px;
  font-size: 1rem;
  font-weight: bold;
  color: #DE5D50;
}

.choice_coupon {
  display: flex;
  align-items: start;
  gap: 16px;
  margin-bottom: 16px;
}
.choice_coupon input {
  margin-top: 6px;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
.ec-commonNav {
  display: flex;
  padding-top: 3px;
}
.ec-commonNav .ec-commonNav__item {
  flex-grow: 1;
  margin-left: 0;
  display: inline-block;
  text-align: center;
  max-width: 50px;
  min-width: 46px;
  min-height: 46px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-commonNav .ec-commonNav__item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__item {
    max-width: unset;
    min-width: 60px;
    min-height: 60px;
  }
}
.ec-commonNav .ec-commonNav__item + .ec-commonNav__item {
  margin-left: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__item + .ec-commonNav__item {
    margin-left: 20px;
  }
}
.ec-commonNav .ec-commonNav__item + .ec-commonNav__item:before {
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  background: #efefef;
  position: absolute;
  left: -8px;
  top: calc(50% - 8px);
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__item + .ec-commonNav__item:before {
    left: -10px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-headerSearch .ec-commonNav .ec-commonNav__item:last-child {
    margin-right: 20px;
  }
}
.ec-headerSearch .ec-commonNav .ec-commonNav__item:last-child:after {
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  background: #efefef;
  position: absolute;
  right: -10px;
  top: calc(50% - 8px);
}
.ec-commonNav .ec-commonNav__item a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
.ec-commonNav .ec-commonNav__item a.current:before {
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #469bff;
  position: absolute;
  top: 2px;
  left: calc((100% - 7px) / 2);
}
.ec-commonNav .ec-commonNav__itemIcon {
  display: block;
  font-size: 24px;
  line-height: 1;
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__itemIcon {
    font-size: 32px;
  }
}
.ec-commonNav .ec-commonNav__itemLink {
  display: block;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: middle;
  color: black;
  padding-top: 4px;
  word-break: keep-all;
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__itemLink {
    font-size: 12px;
  }
}
.ec-commonNav .ec-commonNav__itemLink img {
  max-width: 100%;
  width: 38px;
  height: 10px;
  margin-top: -1px;
  margin-bottom: -1px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .ec-commonNav .ec-commonNav__itemLink img {
    width: 46px;
    height: 17px;
    margin-top: -2px;
    margin-bottom: -2px;
  }
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
.ec-categoryNav__itemList {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
  border-bottom: 1px solid #efefef;
  display: flex;
  flex-wrap: wrap;
}
.ec-categoryNav__itemList a {
  color: inherit;
  text-decoration: none;
}
.ec-categoryNav__itemList a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-categoryNav__itemList a {
    transition: all 0.5s ease 0s;
  }
  .ec-categoryNav__itemList a:hover {
    opacity: 0.7;
  }
}
.ec-categoryNav__item {
  width: 50%;
  border-bottom: 1px solid #efefef;
}
.ec-categoryNav__item:nth-child(2n+1) {
  border-right: 1px solid #efefef;
}
.ec-categoryNav__item:nth-child(2n+1):last-child {
  border-bottom: none;
}
.ec-categoryNav__item:nth-child(2n+1):last-child + .ec-categoryNav__item {
  border-bottom: none;
}
.ec-categoryNav__item:last-child {
  border-bottom: none;
}
.ec-categoryNav__item:nth-last-child(2):first-child {
  border-bottom: none;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryNav__item {
    width: 25%;
  }
  .ec-categoryNav__item:nth-child(4n+1), .ec-categoryNav__item:nth-child(4n+2), .ec-categoryNav__item:nth-child(4n+3) {
    border-right: 1px solid #efefef;
  }
  .ec-categoryNav__item:nth-child(4n+1):last-child {
    border-bottom: none;
  }
  .ec-categoryNav__item:nth-child(4n+1):last-child + .ec-categoryNav__item {
    border-bottom: none;
  }
  .ec-categoryNav__item:nth-last-child(3):first-child {
    border-bottom: none;
  }
  .ec-categoryNav__item:nth-last-child(3):first-child + .ec-categoryNav__item {
    border-bottom: none;
  }
  .ec-categoryNav__item:nth-last-child(4):first-child {
    border-bottom: none;
  }
  .ec-categoryNav__item:nth-last-child(4):first-child + .ec-categoryNav__item {
    border-bottom: none;
  }
}
.ec-categoryNav__item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 15px;
}
.ec-categoryNav__item__text {
  font-size: 1.4rem;
  line-height: 1;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryNav__item__text {
    font-size: 1.6rem;
  }
}
.ec-categoryNav__item i {
  font-size: 1.6rem;
  line-height: 1;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
.ec-oshiraseList {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ec-oshiraseList a {
  color: inherit;
  text-decoration: none;
}
.ec-oshiraseList a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-oshiraseList a {
    transition: all 0.5s ease 0s;
  }
  .ec-oshiraseList a:hover {
    opacity: 0.7;
  }
}
.ec-oshiraseList--noList {
  padding-top: 10px;
  font-size: 12px;
  text-align: center;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList--noList {
    padding-top: 30px;
    font-size: 16px;
  }
}
.ec-oshiraseList__item {
  border-bottom: 1px solid #efefef;
}
.ec-oshiraseList__item:first-child {
  border-top: 1px solid #efefef;
}
.ec-oshiraseModal .ec-oshiraseList__item:first-child {
  border-top: none;
}
.ec-oshiraseModal .ec-oshiraseList__item:nth-child(n+3) {
  display: none;
}
.ec-oshiraseList__item a {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 15px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item a {
    padding: 10px 0;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseModal .ec-oshiraseList__item a {
    padding: 10px 15px;
  }
}
.ec-oshiraseList__item dl {
  margin: 0 0 0 10px;
  flex: 1;
}
.ec-oshiraseList__item dl dt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item dl dt {
    font-size: 14px;
  }
}
.ec-oshiraseList__item dl dd {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 5px 0 0;
}
.ec-oshiraseList__item__img {
  display: flex;
  width: 60px;
  height: 60px;
}
.ec-oshiraseList__item__img img {
  display: block;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}
.ec-oshiraseList__item__noImage {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  min-height: 60px;
  background: #d9d9d9;
  text-align: center;
  font-size: 12px;
  color: #666666;
  padding: 3px;
}
.ec-oshiraseList__item__icon {
  display: flex;
  justify-content: center;
  width: 24px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item__icon {
    width: 36px;
  }
}
.ec-oshiraseList__item__icon i {
  font-size: 24px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item__icon i {
    font-size: 36px;
  }
}
.ec-oshiraseList__item__category {
  font-size: 12px;
  flex: 1;
  color: #666666;
  font-weight: normal;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item__category {
    font-size: 14px;
  }
}
.ec-oshiraseModal .ec-oshiraseList__item__category {
  font-size: 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseModal .ec-oshiraseList__item__category {
    font-size: 14px;
  }
}
.ec-oshiraseList__item__category > span + span {
  margin-left: 10px;
}
.ec-oshiraseList__item__date {
  font-size: 12px;
  margin-left: auto;
  min-width: 11em;
  text-align: right;
  color: #666666;
  font-weight: normal;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item__date {
    font-size: 14px;
    margin-left: 10px;
  }
}
.ec-oshiraseModal .ec-oshiraseList__item__date {
  font-size: 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseModal .ec-oshiraseList__item__date {
    font-size: 14px;
  }
}
.ec-oshiraseList__item__title {
  font-size: 12px;
  font-weight: normal;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item__title {
    font-size: 14px;
  }
}
.ec-oshiraseList__item__tag > span {
  display: inline-block;
  font-size: 10px;
  color: #000;
  font-weight: normal;
  background: #efefef;
  padding: 5px 10px;
  border-radius: 3px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__item__tag > span {
    font-size: 12px;
  }
}
.ec-oshiraseList__item__tag > span + span {
  margin-left: 10px;
}
.ec-oshiraseList__moreBtn {
  text-align: center;
  margin-top: 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__moreBtn {
    margin-top: 20px;
  }
}
.ec-oshiraseList__moreBtn a {
  font-size: 14px;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__moreBtn a {
    font-size: 16px;
  }
}
.ec-oshiraseList__moreBtn a i {
  font-size: 18px;
  margin-left: 3px;
  vertical-align: bottom;
}
@media only screen and (min-width: 1100px) {
  .ec-oshiraseList__moreBtn a i {
    font-size: 20px;
  }
}
.ec-oshiraseList__moreBtn a span {
  vertical-align: bottom;
}
.ec-oshiraseList__moreBtn__close {
  display: none;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
標準セクション

通常のコンテナブロックです。

ex [商品詳細ページ　コンテナ](http://demo3.ec-cube.net/products/detail/33)

Markup:
include /assets/tmpl/elements/11.1.role.pug
+ec-roleRole

Styleguide 11.1
*/
.ec-role, .ec-role--800 {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-role:after, .ec-role--800:after {
  content: " ";
  display: table;
}
.ec-role:after, .ec-role--800:after {
  clear: both;
}
.ec-role textarea, .ec-role--800 textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-role img, .ec-role--800 img {
  max-width: 100%;
  height: auto;
}
.ec-role html, .ec-role--800 html {
  box-sizing: border-box;
}
.ec-role *, .ec-role--800 *,
.ec-role *::before,
.ec-role--800 *::before,
.ec-role *::after,
.ec-role--800 *::after {
  box-sizing: inherit;
}
.ec-role--800 {
  max-width: calc(800px + 2 * 15px);
}

/*
マイページセクション

マイページ専用のコンテナブロックです。

ex [マイページ　コンテナ](http://demo3.ec-cube.net/mypage)

Markup:
include /assets/tmpl/elements/11.1.role.pug
+ec-mypageRole

Styleguide 11.1.2
*/
.ec-mypageRole {
  margin-right: auto;
  margin-left: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-mypageRole:after {
  content: " ";
  display: table;
}
.ec-mypageRole:after {
  clear: both;
}
.ec-mypageRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-mypageRole img {
  max-width: 100%;
  height: auto;
}
.ec-mypageRole html {
  box-sizing: border-box;
}
.ec-mypageRole *,
.ec-mypageRole *::before,
.ec-mypageRole *::after {
  box-sizing: inherit;
}

/*
 トップページ等　ブロックスタイル
 */
.ec-block {
  position: relative;
  padding-top: 50px;
  margin-bottom: 50px;
}
.ec-block:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-block:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
.ec-block:last-child {
  margin-bottom: 0;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
@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: 1000;
  opacity: 1;
}

/*
ヘッダー

ヘッダー用のプロジェクトコンポーネントを提供します。

ex [トップページ　ヘッダー](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/11.2.header.pug
include /assets/tmpl/elements/11.3.headerNavi.pug
include /assets/tmpl/elements/11.4.categoryNavi.pug
+b.ec-layoutRole
  +e.header
    +ec-headerRole
    +ec-headerNaviRole
    +ec-categoryNaviRole

Styleguide 11.2
*/
.ec-layoutRole {
  display: flex;
  flex-direction: column;
  width: 100%;
  transition: transform 0.3s;
  background: #fff;
}
.ec-layoutRole .ec-layoutRole__contentTop {
  padding: 0;
}
.ec-layoutRole .ec-layoutRole__contents {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 1310px;
  display: flex;
  flex-wrap: nowrap;
  flex-grow: 1;
}
.ec-layoutRole .ec-layoutRole__main {
  width: 100%;
}
.ec-layoutRole .ec-layoutRole__mainWithColumn {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__mainWithColumn {
    width: 75%;
  }
}
.ec-layoutRole .ec-layoutRole__mainBetweenColumn {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__mainBetweenColumn {
    width: 50%;
  }
}
.ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
    display: block;
    width: 25%;
  }
}
.ec-layoutRole__footer {
  margin-top: 50px;
}
#page_product_detail .ec-layoutRole__footer, #page_mypage .ec-layoutRole__footer {
  margin-top: 0;
}
#page_shopping .ec-layoutRole__footer, #page_shopping_confirm .ec-layoutRole__footer, #page_mypage_history .ec-layoutRole__footer {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  #page_shopping .ec-layoutRole__footer, #page_shopping_confirm .ec-layoutRole__footer, #page_mypage_history .ec-layoutRole__footer {
    margin-top: 50px;
  }
}

.ec-headerRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  padding-top: 15px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: auto;
}
.ec-headerRole:after {
  content: " ";
  display: table;
}
.ec-headerRole:after {
  clear: both;
}
.ec-headerRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-headerRole img {
  max-width: 100%;
  height: auto;
}
.ec-headerRole html {
  box-sizing: border-box;
}
.ec-headerRole *,
.ec-headerRole *::before,
.ec-headerRole *::after {
  box-sizing: inherit;
}
.ec-headerRole:after {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-headerRole:after {
    content: " ";
    display: table;
  }
  .ec-headerRole:after {
    clear: both;
  }
}
.ec-headerRole::before {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-headerRole {
    width: 100%;
  }
  .ec-headerRole:after {
    content: " ";
    display: table;
  }
  .ec-headerRole:after {
    clear: both;
  }
}
.ec-headerRole .ec-headerRole__title {
  width: 100%;
}
.ec-headerRole .ec-headerRole__navSP {
  display: block;
  position: absolute;
  top: 15px;
  width: 27%;
  right: 0;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .ec-headerRole .ec-headerRole__navSP {
    display: none;
  }
}

.ec-headerNaviRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  position: fixed;
  z-index: 2;
  background: #fff;
}
.ec-headerNaviRole:after {
  content: " ";
  display: table;
}
.ec-headerNaviRole:after {
  clear: both;
}
.ec-headerNaviRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-headerNaviRole img {
  max-width: 100%;
  height: auto;
}
.ec-headerNaviRole html {
  box-sizing: border-box;
}
.ec-headerNaviRole *,
.ec-headerNaviRole *::before,
.ec-headerNaviRole *::after {
  box-sizing: inherit;
}
.ec-headerNaviRole .fa-bars {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .ec-headerNaviRole {
    padding-top: 16px;
    padding-bottom: 16px;
    position: initial;
  }
}
.ec-headerNaviRole__left {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .ec-headerNaviRole__left {
    flex: initial;
    width: 252px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-headerNaviRole__search {
    display: inline-block;
    margin-top: 10px;
  }
  .ec-headerNaviRole__search a {
    color: inherit;
    text-decoration: none;
  }
  .ec-headerNaviRole__search a:hover {
    text-decoration: none;
  }
}
.ec-headerNaviRole__navSP {
  display: block;
}
@media only screen and (min-width: 768px) {
  .ec-headerNaviRole__navSP {
    display: none;
  }
  .ec-headerNaviRole__navSP a {
    color: inherit;
    text-decoration: none;
  }
  .ec-headerNaviRole__navSP a:hover {
    text-decoration: none;
  }
}
.ec-headerNaviRole__right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex: 1;
}
.ec-headerNaviRole__nav {
  display: inline-block;
}
.ec-headerNaviRole__nav a {
  color: inherit;
  text-decoration: none;
}
.ec-headerNaviRole__nav a:hover {
  text-decoration: none;
}
.ec-headerNaviRole__cart {
  display: inline-block;
}
.ec-headerNaviRole__cart a {
  color: inherit;
  text-decoration: none;
}
.ec-headerNaviRole__cart a:hover {
  text-decoration: none;
}
.ec-headerNaviRole__commonNav {
  display: none;
}
.ec-headerNaviRole__commonNav a {
  color: inherit;
  text-decoration: none;
}
.ec-headerNaviRole__commonNav a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 1100px) {
  .ec-headerNaviRole__commonNav {
    display: inline-block;
  }
}

.ec-headerNavSP {
  display: block;
  cursor: pointer;
  border-radius: 50%;
  box-sizing: border-box;
  padding: 10px;
  width: 40px;
  height: 40px;
  font-size: 18px;
  text-align: center;
  color: black;
  background: white;
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
}
.ec-headerNavSP .fas {
  vertical-align: top;
}
@media only screen and (min-width: 768px) {
  .ec-headerNavSP {
    display: none;
  }
}

.ec-headerNavSP.is-active {
  display: none;
}

.ec-headerSearchRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  padding-top: 3px;
  padding-bottom: 8px;
  margin-top: 46px;
}
.ec-headerSearchRole:after {
  content: " ";
  display: table;
}
.ec-headerSearchRole:after {
  clear: both;
}
.ec-headerSearchRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-headerSearchRole img {
  max-width: 100%;
  height: auto;
}
.ec-headerSearchRole html {
  box-sizing: border-box;
}
.ec-headerSearchRole *,
.ec-headerSearchRole *::before,
.ec-headerSearchRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-headerSearchRole {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
  }
}
.ec-headerSearchRole.ec-largeModal {
  display: block;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearchRole__fixed {
    display: flex;
    width: 100%;
    align-items: center;
    background: #fff;
    box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
    border-radius: 20px;
    padding: 0 20px;
  }
}
.ec-headerSearchRole__fixed.fixed {
  position: fixed;
  z-index: 11;
  top: 15px;
  max-width: 1280px;
  width: calc(100vw - 40px);
}
.ec-headerSearchRole__search a {
  color: inherit;
  text-decoration: none;
}
.ec-headerSearchRole__search a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearchRole__search {
    width: 100%;
  }
}

/*
ヘッダー：タイトル

ヘッダー内で使用されるタイトルコンポーネントです。

Markup:
include /assets/tmpl/elements/11.2.header.pug
+ec-headerTitle

Styleguide 11.2.1
*/
.ec-headerTitle {
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  max-width: 132px;
}
.ec-headerTitle textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-headerTitle img {
  max-width: 100%;
  height: auto;
}
.ec-headerTitle html {
  box-sizing: border-box;
}
.ec-headerTitle *,
.ec-headerTitle *::before,
.ec-headerTitle *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-headerTitle {
    max-width: 252px;
  }
}
.ec-headerTitle .ec-headerTitle__title {
  text-align: center;
}
.ec-headerTitle .ec-headerTitle__title h1, .ec-headerTitle .ec-headerTitle__title .h1 {
  margin: 0;
  padding: 0;
  font-size: 0;
}
.ec-headerTitle .ec-headerTitle__title a {
  display: inline-block;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-headerTitle .ec-headerTitle__title a {
    font-size: 40px;
  }
}
.ec-headerTitle .ec-headerTitle__title a:hover {
  opacity: 0.8;
}
.ec-headerTitle .ec-headerTitle__subtitle {
  font-size: 10px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-headerTitle .ec-headerTitle__subtitle {
    font-size: 16px;
    margin-bottom: 10px;
  }
}
.ec-headerTitle .ec-headerTitle__subtitle a {
  display: inline-block;
  color: #0092C4;
  text-decoration: none;
  cursor: pointer;
}

/*
ヘッダー：ユーザナビゲーション

ヘッダー内でユーザに関与するナビゲーションコンポーネントです。
<br><br>
`.ec-headerNaviRole`>`.ec-headerNaviRole__nav`内に記述すると２カラム上の右側に配置することができます。

Markup:
include /assets/tmpl/elements/11.3.headerNavi.pug
+ec-headerNav

sg-wrapper:
<div class="ec-headerNaviRole">
  <div class="ec-headerNaviRole__nav">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.2.3
*/
.ec-headerNav {
  display: flex;
}
.ec-headerNav .ec-headerNav__item, .ec-headerNav .ec-headerNav__item--cart, .ec-headerNav .ec-headerNav__item--search {
  margin-left: 0;
  display: inline-block;
  text-align: center;
  min-width: 46px;
  min-height: 46px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .ec-headerNav__item a, .ec-headerNav .ec-headerNav__item--cart a, .ec-headerNav .ec-headerNav__item--search a {
    transition: all 0.5s ease 0s;
  }
  .ec-headerNav .ec-headerNav__item a:hover, .ec-headerNav .ec-headerNav__item--cart a:hover, .ec-headerNav .ec-headerNav__item--search a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .ec-headerNav__item, .ec-headerNav .ec-headerNav__item--cart, .ec-headerNav .ec-headerNav__item--search {
    min-width: 60px;
    min-height: 60px;
  }
}
@media (hover: hover) {
  .ec-headerNav .ec-headerNav__item:is(.has_modal):hover, .ec-headerNav .ec-headerNav__item--cart:is(.has_modal):hover, .ec-headerNav .ec-headerNav__item--search:is(.has_modal):hover {
    z-index: 3;
  }
  .ec-headerNav .ec-headerNav__item:is(.has_modal):hover .ec-headerNav__item__link, .ec-headerNav .ec-headerNav__item--cart:is(.has_modal):hover .ec-headerNav__item__link, .ec-headerNav .ec-headerNav__item--search:is(.has_modal):hover .ec-headerNav__item__link {
    opacity: 0.7;
  }
  .ec-headerNav .ec-headerNav__item:is(.has_modal):hover .ec-headerNav__modal, .ec-headerNav .ec-headerNav__item--cart:is(.has_modal):hover .ec-headerNav__modal, .ec-headerNav .ec-headerNav__item--search:is(.has_modal):hover .ec-headerNav__modal {
    opacity: 1;
    pointer-events: all;
  }
}
@media (hover: none) {
  .ec-headerNav .ec-headerNav__item:is(.active), .ec-headerNav .ec-headerNav__item--cart:is(.active), .ec-headerNav .ec-headerNav__item--search:is(.active) {
    z-index: 3;
  }
  .ec-headerNav .ec-headerNav__item:is(.active) .ec-headerNav__item__link, .ec-headerNav .ec-headerNav__item--cart:is(.active) .ec-headerNav__item__link, .ec-headerNav .ec-headerNav__item--search:is(.active) .ec-headerNav__item__link {
    opacity: 0.7;
  }
  .ec-headerNav .ec-headerNav__item:is(.active) .ec-headerNav__modal, .ec-headerNav .ec-headerNav__item--cart:is(.active) .ec-headerNav__modal, .ec-headerNav .ec-headerNav__item--search:is(.active) .ec-headerNav__modal {
    opacity: 1;
    pointer-events: all;
  }
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .ec-headerNav__item + .ec-headerNav__item, .ec-headerNav .ec-headerNav__item--cart + .ec-headerNav__item, .ec-headerNav .ec-headerNav__item + .ec-headerNav__item--cart, .ec-headerNav .ec-headerNav__item--cart + .ec-headerNav__item--cart, .ec-headerNav .ec-headerNav__item--search + .ec-headerNav__item, .ec-headerNav .ec-headerNav__item--search + .ec-headerNav__item--cart, .ec-headerNav .ec-headerNav__item + .ec-headerNav__item--search, .ec-headerNav .ec-headerNav__item--cart + .ec-headerNav__item--search, .ec-headerNav .ec-headerNav__item--search + .ec-headerNav__item--search {
    margin-left: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .ec-headerNav__item + .ec-headerNav__item:before, .ec-headerNav .ec-headerNav__item--cart + .ec-headerNav__item:before, .ec-headerNav .ec-headerNav__item + .ec-headerNav__item--cart:before, .ec-headerNav .ec-headerNav__item--cart + .ec-headerNav__item--cart:before, .ec-headerNav .ec-headerNav__item--search + .ec-headerNav__item:before, .ec-headerNav .ec-headerNav__item--search + .ec-headerNav__item--cart:before, .ec-headerNav .ec-headerNav__item + .ec-headerNav__item--search:before, .ec-headerNav .ec-headerNav__item--cart + .ec-headerNav__item--search:before, .ec-headerNav .ec-headerNav__item--search + .ec-headerNav__item--search:before {
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    background: #efefef;
    position: absolute;
    left: -10px;
    top: calc(50% - 8px);
  }
}
@media only screen and (min-width: 1100px) {
  .ec-headerNav .ec-headerNav__item--search {
    display: none;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-headerNav .ec-headerNav__item--cart:after {
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    background: #efefef;
    position: absolute;
    left: -15px;
    top: calc(50% - 8px);
  }
}
.ec-headerNav .ec-headerNav__item__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  border: none;
  background: #fff;
}
.ec-headerNav .ec-headerNav__item__link[type=button] {
  padding: 0;
  width: 100%;
}
.ec-headerNav .ec-headerNav__itemIcon {
  display: block;
  font-size: 24px;
  line-height: 1;
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .ec-headerNav__itemIcon {
    font-size: 32px;
  }
}
.ec-headerNav .ec-headerNav__itemLink, .ec-headerNav .ec-headerNav__itemLink--mypage {
  display: block;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: middle;
  color: black;
  padding-top: 2px;
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .ec-headerNav__itemLink, .ec-headerNav .ec-headerNav__itemLink--mypage {
    font-size: 12px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
}
.ec-headerNav .ec-headerNav__itemLink--mypage {
  letter-spacing: -0.1em;
}
.ec-headerNav__modal {
  width: 200px;
  padding-top: 3px;
  position: absolute;
  top: 100%;
  right: -10px;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease 0s;
}
.ec-headerNav__modal__inner {
  border-radius: 20px;
  background: #fff;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
}
.ec-headerNav__modal a {
  display: flex;
  align-items: center;
  height: 50px;
  padding-inline: 20px;
  border-radius: 20px;
}
.ec-headerNav .oshirase-link:hover {
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .ec-headerNav .oshirase-link:hover a {
    transition: all 0.5s ease 0s;
  }
  .ec-headerNav .oshirase-link:hover a:hover {
    opacity: 0.7;
  }
}

/*
ヘッダー：検索ボックス

ヘッダー内で使用される商品検索コンポーネントです。
<br><br>
`.ec-headerNaviRole`>`.ec-headerNaviRole__search`内に記述すると２カラム上の右側に配置することができます。

Markup:
include /assets/tmpl/elements/11.3.headerNavi.pug
+ec-headerSearch

sg-wrapper:
<div class="ec-headerNaviRole">
  <div class="ec-headerNaviRole__search">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.2.4
*/
.ec-headerSearch:after {
  content: " ";
  display: table;
}
.ec-headerSearch:after {
  clear: both;
}
.ec-headerSearch .ec-headerSearch__left {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch .ec-headerSearch__left {
    display: block;
    width: 400px;
    padding: 5px 0;
  }
}
.ec-headerSearch .ec-headerSearch__right {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch .ec-headerSearch__right {
    justify-content: flex-end;
    flex: 1;
    padding: 10px 0;
  }
}
.ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__right {
  justify-content: space-between;
}
.ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close, .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close--suggest {
  display: none;
  position: relative;
  transform: none;
  top: 0;
  margin-left: 15px;
  right: auto;
}
.ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close, .ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close--suggest {
  display: block;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close, .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close--suggest {
    display: none;
  }
  .ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close, .ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__right > .ec-largeModal__close--suggest {
    display: none;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch .searchform > .ec-largeModal__header {
    display: flex;
  }
}
.ec-headerSearch .ec-headerSearch__category {
  float: none;
}
@media only screen and (min-width: 768px) {
  .ec-headerSearch .ec-headerSearch__category {
    float: left;
    width: 43%;
  }
}
.ec-headerSearch .ec-headerSearch__category .ec-select {
  overflow: hidden;
  width: 100%;
  margin: 0;
  text-align: center;
}
.ec-headerSearch .ec-headerSearch__category .ec-select select {
  width: 100%;
  cursor: pointer;
  padding: 8px 24px 8px 8px;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .ec-headerSearch .ec-headerSearch__category .ec-select select {
    max-width: 165px;
    height: 36px;
  }
}
.ec-headerSearch .ec-headerSearch__category .ec-select select option {
  color: #000;
}
.ec-headerSearch .ec-headerSearch__category .ec-select select::-ms-expand {
  display: none;
}
.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
  position: relative;
  border: 0;
  background: #000;
  color: #fff;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
    border-top-right-radius: inherit;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
  }
}
.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search::before {
  position: absolute;
  top: 0.8em;
  right: 0.4em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #fff;
  pointer-events: none;
}
.ec-headerSearch__recommendKeywords, .ec-headerSearch__suggest {
  position: absolute;
  width: 100%;
  right: 0;
  top: calc(100% + 1px);
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__recommendKeywords, .ec-headerSearch__suggest {
    right: auto;
  }
}
.ec-headerSearch .ec-headerSearch__keyword {
  flex: 1;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch .ec-headerSearch__keyword {
    position: relative;
    border-radius: 5px;
    padding: 0 20px 0 10px;
    height: 100%;
  }
}
.ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__keyword {
  padding: 7px 15px 7px 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearchRole.show .ec-headerSearch .ec-headerSearch__keyword {
    padding: 0 20px 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .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, .ec-headerSearch .ec-headerSearch__keyword .ec-select, .ec-headerSearch .ec-headerSearch__keyword .ec-birth {
    height: 100%;
  }
}
.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
  width: 100%;
  height: 40px;
  font-size: 16px;
  border: 0 none;
  padding: 10px;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  margin-bottom: 0;
  background: #efefef;
  border-radius: 5px;
}
@media only screen and (min-width: 768px) {
  .ec-headerSearch .ec-headerSearch__keyword input[type=search] {
    font-size: 18px;
    height: 100%;
  }
}
.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
  width: 22px;
  height: 22px;
}
.ec-headerSearch #fixed-nav-search-open, .ec-headerSearch #fixed-nav-search-close {
  display: none;
  background: #0097c6;
  border: none;
  border-radius: 5px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 40px;
  height: 100%;
  align-items: center;
  cursor: pointer;
  transition: all 0.5s ease 0s;
}
.ec-headerSearch #fixed-nav-search-open:hover, .ec-headerSearch #fixed-nav-search-close:hover {
  opacity: 0.7;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch #fixed-nav-search-open {
    display: flex;
  }
  .ec-headerSearchRole.show .ec-headerSearch #fixed-nav-search-open {
    display: none;
  }
}
.ec-headerSearch #fixed-nav-search-close {
  background: #666666;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch #fixed-nav-search-close {
    display: none;
  }
  .ec-headerSearchRole.show .ec-headerSearch #fixed-nav-search-close {
    display: flex;
  }
}
.ec-headerSearch .ec-headerSearch__keywordBtn {
  border: 0;
  background: none;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-55%);
  display: block;
  white-space: nowrap;
  z-index: 1;
}
.ec-headerSearch__keywordResetBtn {
  border: 0;
  background: none;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-55%);
  display: block;
  white-space: nowrap;
  z-index: 1;
  width: 10px;
  height: 10px;
}
.ec-headerSearch__bulkOrder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  padding: 10px 20px;
  border-radius: 5px;
  background: #000;
  color: #fff !important;
  width: 100%;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__bulkOrder {
    font-size: 18px;
    padding: 10px 20px;
  }
}
.ec-headerSearch__bulkOrder i {
  font-size: 14px;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__bulkOrder i {
    font-size: 20px;
  }
}
.ec-headerSearch__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #23B13A;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: bold;
  border-radius: 5px;
  height: 100%;
  padding: 10px 40px;
  border: none;
  color: #fff;
}
.ec-headerSearch__submit::-moz-selection {
  color: #fff;
}
.ec-headerSearch__submit::selection {
  color: #fff;
}
.ec-headerSearch__reset input[type=reset] {
  border: none;
  text-decoration: underline;
  font-size: 14px;
  background: none;
}
.ec-headerSearch.detail-open #detail-search-open {
  display: none;
}
.ec-headerSearch.detail-open #detail-search-close {
  display: flex;
}
.ec-headerSearch #detail-search-open, .ec-headerSearch #detail-search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
  border-radius: 5px;
}
.ec-headerSearch #detail-search-open i, .ec-headerSearch #detail-search-close i {
  font-size: 24px;
  margin-right: 5px;
}
.ec-headerSearch #detail-search-open {
  background: #0097c6;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch #detail-search-open {
    display: none;
  }
}
.ec-headerSearch #detail-search-close {
  background: #666666;
  display: none;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch #detail-search-close {
    display: none;
  }
}
.ec-headerSearch__currentSearch {
  font-size: 14px;
  white-space: nowrap;
  overflow: auto;
}
.ec-headerSearch__detailSearch__expand {
  background: #efefef;
  display: none;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__detailSearch__expand {
    display: block;
    background: #fff;
    border-bottom: none;
  }
}
.ec-headerSearch.detail-open .ec-headerSearch__detailSearch__expand {
  display: block;
}
.ec-headerSearch__detailSearch__expandButton {
  background: #efefef !important;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__detailSearch__expandButton {
    display: none;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__detailSearch__currentSearch {
    display: none;
  }
}
.ec-headerSearch__bottom {
  display: flex;
  justify-content: space-between;
  background: #efefef;
  padding: 15px;
  position: sticky;
  bottom: 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-headerSearch__bottom a {
    transition: all 0.5s ease 0s;
  }
  .ec-headerSearch__bottom a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__bottom {
    background: #fff;
    border-top: 1px solid #efefef;
    padding: 20px 0 0 0;
  }
}
.ec-headerSearch__bottom__bulkOrder {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__bottom__bulkOrder {
    display: flex;
    align-items: center;
  }
}
.ec-headerSearch__bottom__search {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__bottom__search {
    justify-content: flex-end;
    width: auto;
  }
}
.ec-headerSearch__bottom__search .ec-headerSearch__submit {
  min-width: 164px;
  min-height: 44px;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__bottom__search .ec-headerSearch__submit {
    margin-left: 30px;
    min-height: 53px;
    transition: all 0.5s ease 0s;
  }
  .ec-headerSearch__bottom__search .ec-headerSearch__submit:hover {
    opacity: 0.7;
  }
}
.ec-headerSearch__itemList > div, .ec-headerSearch__itemList--checkbox > div, .ec-headerSearch__itemList--radio > div {
  display: flex;
  flex-wrap: wrap;
}
.ec-headerSearch__itemList label, .ec-headerSearch__itemList--checkbox label, .ec-headerSearch__itemList--radio label {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  padding: 2px 15px 2px 22px;
  margin: 2px 0;
  width: 50%;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__itemList label, .ec-headerSearch__itemList--checkbox label, .ec-headerSearch__itemList--radio label {
    width: auto;
  }
}
.ec-headerSearch__itemList--radio input[type=radio] {
  display: none;
}
.ec-headerSearch__itemList--radio input[type=radio] + label:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
}
.ec-headerSearch__itemList--radio input[type=radio] + label:before {
  border: 3px solid #999999;
}
.ec-headerSearch__itemList--radio input[type=radio]:checked + label:before, .ec-headerSearch__itemList--radio input[type=radio].checked + label:before {
  border: 3px solid #000;
  background: #000;
}
.ec-headerSearch__itemList--checkbox input[type=checkbox] {
  display: none;
}
.ec-headerSearch__itemList--checkbox input[type=checkbox] + span:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  width: 17px;
  height: 17px;
}
.ec-headerSearch__itemList--checkbox input[type=checkbox] + span:before {
  border: 3px solid #999999;
}
.ec-headerSearch__itemList--checkbox input[type=checkbox]:checked + span:before {
  border: 3px solid #000;
  background: #000;
}
.ec-headerSearch__itemList__nextList {
  display: none;
}
.ec-headerSearch__orderItemList {
  padding-top: 5px;
}
.ec-headerSearch__orderItemList > div {
  display: flex;
  flex-wrap: wrap;
  margin: -8px -8px;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__orderItemList > div {
    margin: auto;
  }
}
.ec-headerSearch__orderItemList label {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  margin: 8px;
  width: calc(50% - 16px);
  text-align: center;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__orderItemList label {
    width: auto;
    min-width: 160px;
    margin: 0 15px 0 0;
  }
}
.ec-headerSearch__orderItemList input[type=radio] {
  display: none;
}
.ec-headerSearch__orderItemList input[type=radio] + label {
  padding: 10px;
  border-radius: 10px;
  border: 2px solid #999999;
  background: #fff;
}
.ec-headerSearch__orderItemList input[type=radio] + label span {
  position: relative;
  font-size: 14px;
}
.ec-headerSearch__orderItemList input[type=radio]:checked + label {
  border: 2px solid #000;
  background: #efefef;
}
.ec-headerSearch__orderItemList input[type=radio]:checked + label span {
  padding-left: 23px;
}
.ec-headerSearch__orderItemList input[type=radio]:checked + label span:before {
  content: "✔️";
  font-size: 14px;
  display: block;
  position: absolute;
  left: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSearch__linkList {
    display: none;
  }
}
.ec-headerSearch__linkList .ec-headerSearch__bulkOrder {
  width: calc(100% - 15px - 15px);
  margin: 20px 15px;
}

/*
ヘッダー：カテゴリナビ

ヘッダー内で使用されている商品のカテゴリ一覧として使用します。
`li`の中に`ul > li`要素を入れることで、階層を深くする事ができます。

Markup:
include /assets/tmpl/elements/11.4.categoryNavi.pug
+ec-itemNav

sg-wrapper:
<div class="ec-categoryNaviRole" style="padding-bottom:150px;">
  <sg-wrapper-content/>
</div>

Styleguide 11.2.5
*/
.ec-categoryNaviRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  display: none;
}
.ec-categoryNaviRole:after {
  content: " ";
  display: table;
}
.ec-categoryNaviRole:after {
  clear: both;
}
.ec-categoryNaviRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-categoryNaviRole img {
  max-width: 100%;
  height: auto;
}
.ec-categoryNaviRole html {
  box-sizing: border-box;
}
.ec-categoryNaviRole *,
.ec-categoryNaviRole *::before,
.ec-categoryNaviRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-categoryNaviRole {
    display: block;
    width: 100%;
  }
  .ec-categoryNaviRole a {
    color: inherit;
    text-decoration: none;
  }
  .ec-categoryNaviRole a:hover {
    text-decoration: none;
  }
}

.ec-itemNav {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  text-align: center;
}

.ec-itemNav__nav {
  display: block;
  margin: 0 auto;
  padding: 0;
  width: auto;
  height: auto;
  list-style-type: none;
  text-align: center;
  vertical-align: bottom;
}
@media only screen and (min-width: 768px) {
  .ec-itemNav__nav {
    display: inline-block;
  }
}

.ec-itemNav__nav li {
  float: none;
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-itemNav__nav li {
    float: left;
    width: auto;
  }
}

.ec-itemNav__nav li a {
  display: block;
  border-bottom: 1px solid #E8E8E8;
  margin: 0;
  padding: 16px;
  height: auto;
  color: #2e3233;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  text-decoration: none;
  text-align: left;
  background: #fff;
  border-bottom: 1px solid #E8E8E8;
}
@media only screen and (min-width: 768px) {
  .ec-itemNav__nav li a {
    text-align: center;
    border-bottom: none;
  }
}

.ec-itemNav__nav li ul {
  display: none;
  z-index: 0;
  margin: 0;
  padding: 0;
  min-width: 200px;
  list-style: none;
  position: static;
  top: 100%;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-itemNav__nav li ul {
    display: block;
    z-index: 100;
    position: absolute;
  }
}

.ec-itemNav__nav li ul li {
  overflow: hidden;
  width: 100%;
  height: auto;
  transition: 0.3s;
}
@media only screen and (min-width: 768px) {
  .ec-itemNav__nav li ul li {
    overflow: hidden;
    height: 0;
  }
}

.ec-itemNav__nav li ul li a {
  border-bottom: 1px solid #E8E8E8;
  padding: 16px 22px 16px 16px;
  font-size: 16px;
  font-weight: bold;
  color: white;
  text-align: left;
  background: black;
}

.ec-itemNav__nav > li:hover > a {
  background: #fafafa;
}

.ec-itemNav__nav > li:hover li:hover > a {
  background: #333;
}

@media only screen and (min-width: 768px) {
  .ec-itemNav__nav > li:hover > ul > li {
    overflow: visible;
    height: auto;
  }
}

.ec-itemNav__nav li ul li ul {
  top: 0;
  left: 100%;
  width: auto;
}

@media only screen and (min-width: 768px) {
  .ec-itemNav__nav li ul li ul:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    color: white;
    position: absolute;
    top: 19px;
    right: auto;
    left: -20px;
  }
}

@media only screen and (min-width: 768px) {
  .ec-itemNav__nav li ul li:hover > ul > li {
    overflow: visible;
    height: auto;
    width: auto;
  }
}

.ec-itemNav__nav li ul li ul li a {
  background: #7D7D7D;
}

.ec-itemNav__nav li:hover ul li ul li a:hover {
  background: #333;
}

/*
ヘッダー：SPヘッダー

SP時のみ出現するヘッダーに関係するコンポーネントです。<br>
ex [トップページ](http://demo3.ec-cube.net/)画面サイズが768px以下に該当。<br>
<br>
`.ec-drawerRole`：SPのドロワー内の要素をwrapするコンポーネントです。<br>
`.ec-headerSearch`、`.ec-headerNav`、`.ec-itemNav`は`.ec-drawerRole`の子要素にある場合、ドロワーに適したスタイルに変化します。<br><br>
`.ec-overlayRole`：SPのドロワー出現時にz-indexがドロワー以下の要素に半透明の黒背景をかぶせるコンポーネントです。<br>

Styleguide 11.2.6
*/
.ec-drawerRole {
  overflow-y: scroll;
  background: black;
  width: 260px;
  height: 100vh;
  transform: translateX(-300px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  transition: z-index 0ms 1ms;
}
@media only screen and (min-width: 768px) {
  .ec-drawerRole {
    display: none;
  }
}
.ec-drawerRole .ec-headerSearchArea {
  padding: 20px 10px;
  width: 100%;
  background: #F8F8F8;
}
.ec-drawerRole .ec-headerSearch {
  padding: 16px 8px 26px;
  background: #EBEBEB;
  color: #636378;
}
.ec-drawerRole .ec-headerSearch select {
  width: 100% !important;
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading {
  border-top: 1px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
  padding: 1em 10px;
  font-size: 16px;
  font-weight: bold;
  color: black;
  background: #F8F8F8;
}
.ec-drawerRole .ec-headerCategoryArea p {
  margin-top: 0;
  margin-bottom: 0;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a {
  border-bottom: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  color: black;
  font-weight: normal;
  background: #f8f8f8;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a {
  border-bottom: 1px solid #ccc;
  padding-left: 20px;
  font-weight: normal;
  background: white;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:hover > a {
  background: #f8f8f8;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:hover li:hover > a {
  background: white;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li ul li a {
  padding-left: 40px;
  color: black;
  background: white;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li:hover ul li ul li a:hover {
  background: white;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li ul li ul li a {
  padding-left: 60px;
  font-weight: normal;
}
.ec-drawerRole .ec-headerLinkArea {
  background: black;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
  border-top: 1px solid #ccc;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 15px 20px;
  font-size: 16px;
  font-weight: bold;
  color: white;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__icon {
  display: inline-block;
  width: 28px;
  font-size: 17px;
}

.ec-drawerRoleClose {
  display: none;
  cursor: pointer;
  border-radius: 50%;
  box-sizing: border-box;
  padding: 10px;
  width: 40px;
  height: 40px;
  font-size: 18px;
  text-align: center;
  color: black;
  background: white;
  position: fixed;
  top: 10px;
  left: 270px;
  z-index: 1000;
}
.ec-drawerRoleClose .fas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .ec-drawerRoleClose {
    display: none;
  }
}

.ec-drawerRole.is_active {
  display: block;
  transform: translateX(0);
  transition: all 0.3s;
  z-index: 100000;
}
@media only screen and (min-width: 768px) {
  .ec-drawerRole.is_active {
    display: none;
  }
}

.ec-drawerRoleClose.is_active {
  display: inline-block;
  transition: all 0.3s;
}
@media only screen and (min-width: 768px) {
  .ec-drawerRoleClose.is_active {
    display: none;
  }
}

.ec-overlayRole {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 0;
  background: transparent;
  transform: translateX(0);
  transition: all 0.3s;
  visibility: hidden;
}
@media only screen and (min-width: 768px) {
  .ec-overlayRole {
    display: none;
  }
}

.have_curtain {
  overflow-y: hidden;
  position: fixed;
  width: 100%;
}
@media only screen and (min-width: 1100px) {
  .have_curtain {
    position: revert;
  }
}

.have_curtain .ec-overlayRole {
  display: block;
  opacity: 1;
  background: rgba(0, 0, 0, 0.3);
  visibility: visible;
  z-index: 1;
}

/*
ヘッダー：test

test

Markup:
span.ec-itemAccordionParent test1
ul.ec-itemNavAccordion
  li.ec-itemNavAccordion__item
    a(href='') test2
    ul.ec-itemNavAccordion
      li.ec-itemNavAccordion__item
        a(href='') test3
        ul.ec-itemNavAccordion
          li.ec-itemNavAccordion__item
            a(href='') test4

Styleguide 11.2.7
*/
.ec-itemNavAccordion {
  display: none;
}

.ec-maintenanceAlert {
  background: steelblue;
  height: 50px;
  position: fixed;
  top: 0;
  width: 100%;
  color: white;
  z-index: 9999;
  display: flex;
  font-weight: bold;
}
.ec-maintenanceAlert > * {
  margin: auto;
}
.ec-maintenanceAlert .ec-maintenanceAlert__icon {
  display: inline-block;
  margin-right: 1rem;
  width: 20px;
  height: 20px;
  color: #fff;
  fill: #fff;
  vertical-align: top;
}
.ec-maintenanceAlert + * {
  margin-top: 50px;
}

.ec-headerCommonNav {
  display: flex;
}
.ec-headerSearch .ec-headerCommonNav {
  flex-wrap: wrap;
  border-bottom: 1px solid #efefef;
}
.ec-headerCommonNav .ec-headerCommonNav__item {
  margin: 0 15px;
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .ec-headerCommonNav .ec-headerCommonNav__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-headerCommonNav .ec-headerCommonNav__item a:hover {
    opacity: 0.7;
  }
}
.ec-headerCommonNav .ec-headerCommonNav__item a {
  color: inherit;
  text-decoration: none;
}
.ec-headerCommonNav .ec-headerCommonNav__item a:hover {
  text-decoration: none;
}
.ec-headerSearch .ec-headerCommonNav .ec-headerCommonNav__item {
  margin: 0;
  width: 50%;
}
.ec-headerSearch .ec-headerCommonNav .ec-headerCommonNav__item:nth-child(-n+2) {
  border-bottom: 1px solid #efefef;
}
.ec-headerSearch .ec-headerCommonNav .ec-headerCommonNav__item:nth-child(2n+1) {
  border-right: 1px solid #efefef;
}
.ec-headerCommonNav .ec-headerCommonNav__item__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  cursor: pointer;
}
.ec-headerCommonNav .ec-headerCommonNav__item__link:hover {
  opacity: 0.7;
}
.ec-headerSearch .ec-headerCommonNav .ec-headerCommonNav__item__link {
  padding: 20px 15px;
}
.ec-headerCommonNav .ec-headerCommonNav__itemIcon {
  display: block;
  font-size: 20px;
  line-height: 1;
  width: 20px;
}
.ec-headerCommonNav .ec-headerCommonNav__itemLink {
  display: block;
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
  padding-left: 5px;
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .ec-headerCommonNav .ec-headerCommonNav__itemLink {
    font-size: 16px;
    color: #333333;
  }
}

.ec-headerSuggest, .ec-headerSuggest--list, .ec-headerSuggest--list-history, .ec-headerSuggest--list-keyword, .ec-headerSuggest--list-category, .ec-headerSuggest--list-product, .ec-headerSuggest--list-catalogCode, .ec-headerSuggest--tags {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ec-headerSuggest a, .ec-headerSuggest--list a, .ec-headerSuggest--list-history a, .ec-headerSuggest--list-keyword a, .ec-headerSuggest--list-category a, .ec-headerSuggest--list-product a, .ec-headerSuggest--list-catalogCode a, .ec-headerSuggest--tags a {
  color: inherit;
  text-decoration: none;
}
.ec-headerSuggest a:hover, .ec-headerSuggest--list a:hover, .ec-headerSuggest--list-history a:hover, .ec-headerSuggest--list-keyword a:hover, .ec-headerSuggest--list-category a:hover, .ec-headerSuggest--list-product a:hover, .ec-headerSuggest--list-catalogCode a:hover, .ec-headerSuggest--tags a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-headerSuggest a, .ec-headerSuggest--list a, .ec-headerSuggest--list-history a, .ec-headerSuggest--list-keyword a, .ec-headerSuggest--list-category a, .ec-headerSuggest--list-product a, .ec-headerSuggest--list-catalogCode a, .ec-headerSuggest--tags a {
    transition: all 0.5s ease 0s;
  }
  .ec-headerSuggest a:hover, .ec-headerSuggest--list a:hover, .ec-headerSuggest--list-history a:hover, .ec-headerSuggest--list-keyword a:hover, .ec-headerSuggest--list-category a:hover, .ec-headerSuggest--list-product a:hover, .ec-headerSuggest--list-catalogCode a:hover, .ec-headerSuggest--tags a:hover {
    opacity: 0.7;
  }
}
.ec-headerSuggest--tags li {
  display: inline-block;
  font-size: 0;
  margin-right: 10px;
  margin-bottom: 10px;
}
.ec-headerSuggest--tags li a {
  display: block;
  padding: 8px 10px;
  border: 1px solid #000;
  font-size: 1.2rem;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSuggest--tags li a {
    font-size: 1.4rem;
  }
}
.ec-headerSuggest--tags li a:focus, .ec-headerSuggest--tags li a:focus-visible {
  outline: #337ab7 auto 1px;
  outline-offset: 1px;
}
.ec-headerSuggest--list li a, .ec-headerSuggest--list-history li a, .ec-headerSuggest--list-keyword li a, .ec-headerSuggest--list-category li a, .ec-headerSuggest--list-product li a, .ec-headerSuggest--list-catalogCode li a {
  display: inline-block;
  width: 100%;
  padding: 15px 0;
  font-size: 1.4rem;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSuggest--list li a, .ec-headerSuggest--list-history li a, .ec-headerSuggest--list-keyword li a, .ec-headerSuggest--list-category li a, .ec-headerSuggest--list-product li a, .ec-headerSuggest--list-catalogCode li a {
    font-size: 1.6rem;
  }
}
.ec-headerSuggest--list-history a:focus, .ec-headerSuggest--list-history a:focus-visible, .ec-headerSuggest--list-keyword a:focus, .ec-headerSuggest--list-keyword a:focus-visible, .ec-headerSuggest--list-category a:focus, .ec-headerSuggest--list-category a:focus-visible, .ec-headerSuggest--list-product a:focus, .ec-headerSuggest--list-product a:focus-visible, .ec-headerSuggest--list-catalogCode a:focus, .ec-headerSuggest--list-catalogCode a:focus-visible, .ec-headerSuggest--list-article a:focus, .ec-headerSuggest--list-article a:focus-visible {
  outline: #337ab7 auto 1px;
  outline-offset: 1px;
}
.ec-headerSuggest--list-history li, .ec-headerSuggest--list-keyword li {
  display: flex;
  justify-content: space-between;
}
.ec-headerSuggest--list-keyword {
  margin-top: -15px;
}
.ec-headerSuggest--list-product li a, .ec-headerSuggest--list-catalogCode li a {
  display: flex;
  align-items: center;
  padding: 6px 0;
}
.ec-headerSuggest--list-product li a img, .ec-headerSuggest--list-catalogCode li a img {
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-headerSuggest--list-product li a img, .ec-headerSuggest--list-catalogCode li a img {
    margin-right: 15px;
  }
}
.ec-headerSuggest--list-article li {
  list-style: initial;
}
.ec-headerSuggest__matchWord {
  font-weight: bold;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
フッター

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

ex [トップページ　フッター](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/11.8.footer.pug
+ec-footerRole

Styleguide 11.3
*/
.ec-footerRole {
  padding-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole {
    background: #fbfbfb;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerRole {
    padding-bottom: 50px;
  }
}
.ec-footerRole .ec-footerRole__inner {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
}
.ec-footerRole .ec-footerRole__inner:after {
  content: " ";
  display: table;
}
.ec-footerRole .ec-footerRole__inner:after {
  clear: both;
}
.ec-footerRole .ec-footerRole__inner textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-footerRole .ec-footerRole__inner img {
  max-width: 100%;
  height: auto;
}
.ec-footerRole .ec-footerRole__inner html {
  box-sizing: border-box;
}
.ec-footerRole .ec-footerRole__inner *,
.ec-footerRole .ec-footerRole__inner *::before,
.ec-footerRole .ec-footerRole__inner *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole .ec-footerRole__inner {
    flex-direction: row;
    justify-content: space-between;
  }
}
.ec-footerRole__calendar {
  position: relative;
  padding-top: 51px;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole__calendar {
    width: 50%;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerRole__calendar {
    width: calc(50% - 50px);
  }
}
.ec-footerRole__calendar:before {
  content: "";
  display: block;
  width: calc(100% + 2 * 15px);
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: -15px;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole__calendar:before {
    display: none;
  }
}
.ec-footerRole__navi {
  position: relative;
  padding-top: 51px;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole__navi {
    padding-bottom: 30px;
    position: relative;
    width: calc(50% - 60px);
    margin-left: auto;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerRole__navi {
    width: calc(50% - 50px);
  }
}
.ec-footerRole__navi:before {
  content: "";
  display: block;
  width: calc(100% + 2 * 15px);
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: -15px;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole__navi:before {
    width: 1px;
    height: calc(100% - 50px);
    top: 50px;
    left: -30px;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerRole__navi:before {
    left: -50px;
  }
}
.ec-footerRole .ec-footerRole__commonNav {
  position: fixed;
  z-index: 1;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 2 * 15px);
  max-width: 345px;
  background: #fff;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  padding: 5px 17px;
  bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-footerRole .ec-footerRole__commonNav {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 420px;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerRole .ec-footerRole__commonNav {
    display: none;
  }
}
.ec-footerRole__copyright {
  font-size: 1rem;
  color: #999999;
}

.ec-footerHeading {
  margin-top: 0;
  margin-bottom: 15px;
}
.ec-footerHeading p {
  margin-top: -3px;
  margin-bottom: -2px;
  font-weight: bold;
  font-size: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-footerHeading p {
    font-size: 2rem;
  }
}

/*
フッターナビ

フッタープロジェクトで使用するナビゲーション用のコンポーネントです。

Markup:
include /assets/tmpl/elements/11.8.footer.pug
+ec-footerNav

sg-wrapper:
<div class="ec-footerRole">
  <div class="ec-footerRole__inner">
    <sg-wrapper-content/>
  </div>
</div>

Styleguide 11.3.1
*/
.ec-footerNavi {
  margin-bottom: 50px;
  padding: 0;
  list-style: none;
}
.ec-footerNavi__group {
  padding: 0;
  margin-bottom: 28px;
}
.ec-footerNavi__heading {
  margin-top: 0;
  margin-bottom: 10px;
}
.ec-footerNavi__heading p {
  margin-top: -3px;
  margin-bottom: -2px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-footerNavi__heading p {
    font-size: 2rem;
  }
}
.ec-footerNavi__linkList, .ec-footerNavi__linkList--other, .ec-footerNavi__linkList--note {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: -5px -10px;
  padding: 0;
}
.ec-footerNavi__linkList--other {
  margin: -5px -7px;
}
.ec-footerNavi__link a {
  display: block;
  padding: 5px 10px;
  color: currentColor;
  font-size: 1.2rem;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-footerNavi__link a {
    font-size: 1.4rem;
  }
}
.ec-footerNavi__link a:hover {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (min-width: 768px) {
  .ec-footerNavi__link a:hover a {
    transition: all 0.5s ease 0s;
  }
  .ec-footerNavi__link a:hover a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-footerNavi__linkList--note .ec-footerNavi__link a {
    transition: all 0.5s ease 0s;
  }
  .ec-footerNavi__linkList--note .ec-footerNavi__link a:hover {
    opacity: 0.7;
  }
}
.ec-footerNavi__linkList--note .ec-footerNavi__link a {
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 2px;
  line-height: 0.5;
}
@media only screen and (min-width: 768px) {
  .ec-footerNavi__linkList--note .ec-footerNavi__link a {
    font-size: 2rem;
  }
}
.ec-footerNavi__linkList--other .ec-footerNavi__link {
  position: relative;
}
.ec-footerNavi__linkList--other .ec-footerNavi__link:not(:last-child):before {
  content: "/";
  position: absolute;
  top: 50%;
  right: -5px;
  transform: translate(-50%, -50%);
  font-size: 1rem !important;
}
.ec-footerNavi__linkList--other .ec-footerNavi__link a {
  padding: 5px 7px;
  font-size: 1rem !important;
}

.ec-footerCalendar {
  display: flex;
  flex-direction: column;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar {
    display: block;
    margin-bottom: 0;
  }
}
.ec-footerCalendar .ec-footerHeading {
  order: 1;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar .ec-footerHeading {
    float: left;
    clear: left;
  }
}
.ec-footerCalendar__date {
  order: 2;
  margin-bottom: 24px;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar__date {
    float: left;
    clear: left;
    width: 140px;
  }
}
.ec-footerCalendar__date span {
  display: inline-block;
  margin-left: 10px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar__date span {
    width: 100%;
    margin-left: 0;
  }
}
.ec-footerCalendar__legend {
  order: 4;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 210px;
  margin: 0 auto 50px;
  padding: 1.4rem 0;
  border-radius: 5px;
  background: #efefef;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar__legend {
    float: left;
    clear: left;
    width: 140px;
    margin: 0;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerCalendar__legend {
    width: 180px;
  }
}
.ec-footerCalendar__legendShipping, .ec-footerCalendar__legendClosing {
  display: flex;
  align-items: center;
  line-height: 1;
}
.ec-footerCalendar__legendShipping:before, .ec-footerCalendar__legendClosing:before {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  margin-right: 0.8rem;
  border-radius: 99px;
}
.ec-footerCalendar__legendShipping:before {
  background: #469bff;
}
.ec-footerCalendar__legendClosing:before {
  background: #FFA0A0;
}
.ec-footerCalendar__calendar {
  order: 3;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar__calendar {
    float: right;
    width: calc(100% - 160px);
  }
}
@media only screen and (min-width: 1100px) {
  .ec-footerCalendar__calendar {
    width: calc(100% - 220px);
  }
}
.ec-footerCalendar__international {
  order: 5;
  padding-left: 15px;
  border-left: 2px solid #efefef;
  font-size: 1rem;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar__international {
    float: left;
    clear: both;
    width: 100%;
    font-size: 1.2rem;
  }
}
.ec-footerCalendar__international .ec-font-bold {
  margin-bottom: 10px;
}
.ec-footerCalendar__international span {
  display: inline-block;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-footerCalendar__international span {
    width: auto;
    margin-left: 16px;
  }
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
トップページ

トップページ スライド部に関する Project コンポーネントを定義します。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/12.1.slider.pug
+ec-sliderRole

Styleguide 12.1
*/
.ec-sliderRole {
  min-height: 100vw;
  padding-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ec-sliderRole {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1310px;
    min-height: 369px;
  }
  .ec-sliderRole:after {
    content: " ";
    display: table;
  }
  .ec-sliderRole:after {
    clear: both;
  }
  .ec-sliderRole textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
  }
  .ec-sliderRole img {
    max-width: 100%;
    height: auto;
  }
  .ec-sliderRole html {
    box-sizing: border-box;
  }
  .ec-sliderRole *,
  .ec-sliderRole *::before,
  .ec-sliderRole *::after {
    box-sizing: inherit;
  }
}

.main_visual {
  width: 100%;
  margin-bottom: 50px !important;
}
@media only screen and (min-width: 768px) {
  .main_visual {
    max-width: 1000px;
    margin-bottom: 100px !important;
    margin-inline: auto;
  }
}
.main_visual .slick-slide {
  transition: all 0.5s;
  opacity: 0;
}
.main_visual .slick-current {
  opacity: 1;
}
.main_visual .item {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .main_visual .item a {
    transition: all 0.5s ease 0s;
  }
  .main_visual .item a:hover {
    opacity: 0.7;
  }
}
.main_visual .item a {
  display: block;
  color: currentColor;
}
.main_visual .item_link--text {
  width: -moz-fit-content;
  width: fit-content;
}
.main_visual .item img {
  width: 100%;
  aspect-ratio: 1/1;
  margin-bottom: 50px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (min-width: 768px) {
  .main_visual .item img {
    aspect-ratio: 2/1;
    margin-bottom: 65px;
  }
}
.main_visual .item_text {
  padding: 0 15px;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .main_visual .item_text {
    padding: 0;
  }
}
.main_visual .item_title {
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .main_visual .item_title {
    font-size: 2rem;
  }
}
.main_visual .item_desc {
  text-align: justify;
  word-break: break-all;
  font-size: 1.2rem;
  font-weight: 300;
}
@media only screen and (min-width: 768px) {
  .main_visual .item_desc {
    font-size: 1.6rem;
  }
}
.main_visual .item:not(:first-child) {
  display: none;
}
.main_visual .slick-initialized .item {
  display: block !important;
}

.ec-sliderItemRole {
  margin-bottom: 30px;
  position: sticky;
  top: 103px;
}
.ec-sliderItemRole__main {
  position: relative;
}
.ec-sliderItemRole ul {
  padding: 0;
  list-style: none;
}
.ec-sliderItemRole img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.ec-sliderItemRole .item_visual {
  margin-bottom: 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-sliderItemRole .item_visual {
    margin-bottom: 25px;
  }
}
.ec-sliderItemRole .slide-item {
  aspect-ratio: 1/1;
}
.ec-sliderItemRole .slide-item:not(:first-child) {
  display: none;
}
.ec-sliderItemRole .item_nav {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 calc(-15px);
  opacity: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-sliderItemRole .item_nav {
    width: auto;
    margin-inline: -5px;
  }
}
.ec-sliderItemRole .item_nav.slick-initialized {
  opacity: 1;
}
.ec-sliderItemRole .item_nav .slick-list {
  padding-inline: calc(15px - 5px) 14%;
}
@media only screen and (min-width: 1100px) {
  .ec-sliderItemRole .item_nav .slick-list {
    padding: 0;
    width: 100%;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-sliderItemRole .item_nav .slick-track {
    width: 100% !important;
    transform: unset !important;
  }
}
.ec-sliderItemRole .item_nav .slick-slide {
  position: relative;
}
@media only screen and (min-width: 1100px) {
  .ec-sliderItemRole .item_nav .slick-slide {
    width: 14.2857142857% !important;
  }
}
.ec-sliderItemRole .item_nav .slick-current:after {
  content: "";
  width: calc(100% - 8px);
  aspect-ratio: 1/1;
  border: 1px solid #469bff;
  position: absolute;
  top: 0;
  left: 4px;
  z-index: 1;
}
.ec-sliderItemRole .slideThumb {
  padding: 1px 5px;
  cursor: pointer;
}
@media only screen and (min-width: 1100px) {
  .ec-sliderItemRole .slideThumb {
    margin-bottom: 5px;
  }
}
.ec-sliderItemRole .slideThumb:focus {
  outline: none;
}
.ec-sliderItemRole .slideThumb:hover {
  opacity: 1;
}

.leaflet-pane--stay {
  transform: translate3d(0px, 0px, 0px) !important;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
アイキャッチ

トップページ アイキャッチ部に関する Project コンポーネントを定義します。

ex [トップページスライダー直下 アイキャッチ部](http://demo3.ec-cube.net/)

Markup:
include /assets/tmpl/elements/12.2.eyecatch.pug
+ec-eyecatchRole

Styleguide 12.2
*/
.ec-eyecatchRole {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
  /* Deprecated https://github.com/EC-CUBE/ec-cube/pull/4220 */
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole {
    flex-wrap: nowrap;
  }
}
.ec-eyecatchRole .ec-eyecatchRole__image {
  display: block;
  margin-bottom: 40px;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole .ec-eyecatchRole__image {
    order: 2;
  }
}
.ec-eyecatchRole .ec-eyecatchRole__intro {
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole .ec-eyecatchRole__intro {
    padding-right: 5%;
    order: 1;
  }
}
.ec-eyecatchRole .ec-eyecatchRole__introEnTitle {
  margin-bottom: 0.8em;
  font-size: 16px;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole .ec-eyecatchRole__introEnTitle {
    margin-top: 45px;
  }
}
.ec-eyecatchRole .ec-eyecatchRole__introTitle {
  margin-bottom: 0.8em;
  font-size: 24px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole .ec-eyecatchRole__introTitle {
    margin-bottom: 1em;
    font-size: 26px;
  }
}
.ec-eyecatchRole .ec-eyecatchRole__introDescriptiron {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 2;
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole .ec-eyecatchRole__introDescriptiron {
    margin-bottom: 30px;
  }
}
.ec-eyecatchRole .ec-eyecatchRole__introDescription {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 2;
}
@media only screen and (min-width: 768px) {
  .ec-eyecatchRole .ec-eyecatchRole__introDescription {
    margin-bottom: 30px;
  }
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
ボタン

トップページで使用されているボタンのスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.3
*/
/*
通常ボタン

インラインの要素としてボタンを定義出来ます。

Markup:
.ec-inlineBtn--top more

Styleguide 12.3.1
*/
.ec-inlineBtn--top {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: white;
  background-color: black;
  border-color: black;
}
.ec-inlineBtn--top:focus, .ec-inlineBtn--top.focus, .ec-inlineBtn--top:active:focus, .ec-inlineBtn--top:active.focus, .ec-inlineBtn--top.active:focus, .ec-inlineBtn--top.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-inlineBtn--top:hover, .ec-inlineBtn--top:focus, .ec-inlineBtn--top.focus {
  opacity: 0.7;
  text-decoration: none;
  color: white;
}
.ec-inlineBtn--top:active, .ec-inlineBtn--top.active {
  outline: 0;
  background-image: none;
}
.ec-inlineBtn--top.disabled, .ec-inlineBtn--top[disabled], fieldset[disabled] .ec-inlineBtn--top {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-inlineBtn--top .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

/*
ロングボタン（全幅）

ロングタイプのボタンです。

Markup:
.ec-blockBtn--top 商品一覧へ

Styleguide 2.1.2
*/
.ec-blockBtn--top {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: white;
  background-color: black;
  border-color: black;
  display: block;
  height: 56px;
  line-height: 56px;
  padding-top: 0;
  padding-bottom: 0;
}
.ec-blockBtn--top:focus, .ec-blockBtn--top.focus, .ec-blockBtn--top:active:focus, .ec-blockBtn--top:active.focus, .ec-blockBtn--top.active:focus, .ec-blockBtn--top.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-blockBtn--top:hover, .ec-blockBtn--top:focus, .ec-blockBtn--top.focus {
  opacity: 0.7;
  text-decoration: none;
  color: white;
}
.ec-blockBtn--top:active, .ec-blockBtn--top.active {
  outline: 0;
  background-image: none;
}
.ec-blockBtn--top.disabled, .ec-blockBtn--top[disabled], fieldset[disabled] .ec-blockBtn--top {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-blockBtn--top .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}
@media only screen and (min-width: 768px) {
  .ec-blockBtn--top {
    max-width: 260px;
  }
}

/*
見出し

トップページで使用されている見出しのスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.4
*/
/*
横並び見出し

横並びの見出しです。

Markup:
.ec-secHeading
  span.ec-secHeading__en TOPIC
  span.ec-secHeading__line |
  span.ec-secHeading__ja 特集

Styleguide 12.4.1
*/
.ec-secHeading {
  margin-bottom: 15px;
  color: black;
}
.ec-secHeading .ec-secHeading__en {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.ec-secHeading .ec-secHeading__line {
  display: inline-block;
  margin: 0 20px;
  width: 1px;
  height: 14px;
  background: black;
}
.ec-secHeading .ec-secHeading__ja {
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0.15em;
  vertical-align: 2px;
}

/*
縦並び見出し

縦並びの見出しです。

Markup:
.ec-secHeading--tandem
  span.ec-secHeading__en TOPIC
  span.ec-secHeading__line |
  span.ec-secHeading__ja 特集

Styleguide 12.4.2
*/
.ec-secHeading--tandem {
  margin-bottom: 15px;
  color: black;
  text-align: center;
}
.ec-secHeading--tandem .ec-secHeading__en {
  display: block;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.ec-secHeading--tandem .ec-secHeading__line {
  display: block;
  margin: 13px auto;
  width: 20px;
  height: 1px;
  background: black;
}
.ec-secHeading--tandem .ec-secHeading__ja {
  display: block;
  margin-bottom: 30px;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0.15em;
  vertical-align: 2px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
トピック（アイテム2列）

トップページで使用されているトピックのスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.5.1
*/
.ec-topicRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  position: relative;
  padding-top: 50px;
  margin-bottom: 50px;
}
.ec-topicRole:after {
  content: " ";
  display: table;
}
.ec-topicRole:after {
  clear: both;
}
.ec-topicRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-topicRole img {
  max-width: 100%;
  height: auto;
}
.ec-topicRole html {
  box-sizing: border-box;
}
.ec-topicRole *,
.ec-topicRole *::before,
.ec-topicRole *::after {
  box-sizing: inherit;
}
.ec-topicRole:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-topicRole:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
.ec-topicRole:last-child {
  margin-bottom: 0;
}
.ec-topicRole .ec-topicRole__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(15px / -2) calc(15px * -2);
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-topicRole .ec-topicRole__list {
    margin-inline: -8px;
  }
}
.ec-topicRole .ec-topicRole__listItem {
  margin-bottom: calc(15px * 2);
  padding: 0 calc(15px / 2);
  width: 50%;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-topicRole .ec-topicRole__listItem a {
    transition: all 0.5s ease 0s;
  }
  .ec-topicRole .ec-topicRole__listItem a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-topicRole .ec-topicRole__listItem {
    width: 25%;
    padding-inline: 8px;
  }
}
.ec-topicRole .ec-topicRole__listItem a {
  display: block;
  color: currentColor;
}
.ec-topicRole .ec-topicRole__listItem img {
  width: 100%;
  margin-bottom: 15px;
}
.ec-topicRole .ec-topicRole__listItem__noImage {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1.5/1;
  background: #d9d9d9;
  text-align: center;
  font-size: 12px;
  color: #666666;
  padding: 3px;
  margin-bottom: 15px;
}
.ec-topicRole .ec-topicRole__listItemTitle {
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-topicRole .ec-topicRole__listItemTitle {
    font-size: 1.6rem;
  }
}
.ec-topicRole__listItemDesc {
  font-size: 1.4rem;
  line-height: 1.7;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
カテゴリ（アイテム4列 スマホの時は2列）

トップページで使用されているアイテムリストのスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.6.1
*/
.ec-newItemRole .ec-newItemRole__list {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .ec-newItemRole .ec-newItemRole__list {
    flex-wrap: nowrap;
  }
}
.ec-newItemRole .ec-newItemRole__listItem {
  margin-bottom: 4%;
  width: 48%;
  height: auto;
}
.ec-newItemRole .ec-newItemRole__listItem:not(:first-child) a {
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-newItemRole .ec-newItemRole__listItem {
    margin-bottom: 15px;
    width: 25%;
  }
  .ec-newItemRole .ec-newItemRole__listItem:not(:last-of-type) {
    margin-right: 30px;
  }
}
.ec-newItemRole .ec-newItemRole__listItem:nth-child(odd) {
  margin-right: 4%;
}
@media only screen and (min-width: 768px) {
  .ec-newItemRole .ec-newItemRole__listItem:nth-child(odd) {
    margin-right: 30px;
  }
}
.ec-newItemRole .ec-newItemRole__listItemHeading {
  margin-top: calc(45% - 20px);
}
.ec-newItemRole .ec-newItemRole__listItemTitle {
  margin: 8px 0;
  font-size: 14px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-newItemRole .ec-newItemRole__listItemTitle {
    margin: 20px 0 10px;
  }
}
.ec-newItemRole .ec-newItemRole__listItemPrice {
  font-size: 12px;
}

.tabs {
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .ec-blockHeading--large ~ .tabs {
    margin-top: -65px;
  }
}

.tab-list {
  list-style: none;
  display: flex;
  width: 100%;
  max-width: 1030px;
  margin: 0 auto 24px;
  padding: 0 15px;
}
@media only screen and (min-width: 768px) {
  .tab-list {
    margin-bottom: 50px;
    padding-inline: 0;
  }
}

.tab-list li {
  width: 33.3333333333%;
  padding: 0 10px;
}
@media only screen and (min-width: 768px) {
  .tab-list li {
    padding-inline: 15px;
  }
}

.tab {
  width: 100%;
  height: 37px;
  border-radius: 5px;
  border: 5px solid #efefef;
  background: #fff;
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  .tab {
    height: 63px;
    border-radius: 0;
    border: none;
    font-size: 2.4rem;
  }
  .tab:before {
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    border-radius: 99px;
    background: #efefef;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .tab:hover {
    background: #efefef;
  }
  .tab:hover:before {
    background: #469bff;
  }
}

.tab[aria-selected=true] {
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}
@media only screen and (min-width: 768px) {
  .tab[aria-selected=true] {
    filter: none;
  }
  .tab[aria-selected=true]:before {
    background: #469bff;
  }
}

.tab-panel {
  width: 100%;
  position: absolute;
  top: 61px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .tab-panel {
    top: 113px;
  }
}

.tab-panel[aria-hidden=true] {
  z-index: -1;
  opacity: 0;
  pointer-events: none;
}

#panel-1 {
  position: static !important;
  transform: none !important;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
カテゴリ（アイテム3列）

トップページで使用されているカテゴリのスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.7.1
*/
.ec-categoryRole {
  position: relative;
  padding-top: 50px;
  margin-bottom: 50px;
  margin-bottom: -1px;
  padding-bottom: 0;
}
.ec-categoryRole:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
.ec-categoryRole:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1310px;
    margin-bottom: 50px;
  }
  .ec-categoryRole:after {
    content: " ";
    display: table;
  }
  .ec-categoryRole:after {
    clear: both;
  }
  .ec-categoryRole textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
  }
  .ec-categoryRole img {
    max-width: 100%;
    height: auto;
  }
  .ec-categoryRole html {
    box-sizing: border-box;
  }
  .ec-categoryRole *,
  .ec-categoryRole *::before,
  .ec-categoryRole *::after {
    box-sizing: inherit;
  }
}
.ec-categoryRole .ec-blockHeading {
  padding-inline: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole .ec-blockHeading {
    padding-inline: 0;
  }
}
.ec-categoryRole .ec-categoryRole__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole .ec-categoryRole__list {
    padding: 0 15px;
  }
}
.ec-categoryRole .ec-categoryRole__list:first-of-type:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole .ec-categoryRole__list:first-of-type:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole .ec-categoryRole__list:after {
    content: "";
    display: block;
    width: calc(100% - 15px * 2);
    height: 1px;
    background: #efefef;
    position: absolute;
    bottom: 0;
    left: 15px;
  }
}
.ec-categoryRole .ec-categoryRole__listItem {
  margin: 0;
  padding: 0;
  width: 50%;
  height: 57px;
  border-bottom: 1px solid #efefef;
  position: relative;
}
.ec-categoryRole .ec-categoryRole__listItem:nth-child(2n+1):before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #efefef;
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole .ec-categoryRole__listItem {
    width: 25%;
  }
  .ec-categoryRole .ec-categoryRole__listItem:not(:nth-child(4n)):before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #efefef;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.ec-categoryRole .ec-categoryRole__listItem a {
  display: flex;
  justify-content: start;
  align-items: center;
  height: 100%;
  padding: 0 32px 0 15px;
  color: currentColor;
  font-size: 1.4rem;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  .ec-categoryRole .ec-categoryRole__listItem a {
    font-size: 1.6rem;
    font-weight: bold;
  }
}
.ec-categoryRole .ec-categoryRole__listItem a:hover {
  background: #efefef;
}
.ec-categoryRole .ec-categoryRole__listItem a:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%) rotate(45deg);
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
見出し

トップページで使用されている新着情報のスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.8.1
*/
.ec-newsRole {
  padding: 40px 0 0;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole {
    padding: 60px 0 0;
  }
}
.ec-newsRole .ec-newsRole__news {
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__news {
    border: 16px solid #F8F8F8;
    padding: 20px 30px;
  }
}
.ec-newsRole .ec-newsRole__newsItem {
  width: 100%;
}
.ec-newsRole .ec-newsRole__newsItem:not(:last-of-type) {
  border-bottom: 1px solid #ccc;
}
.ec-newsRole .ec-newsRole__newsItem:last-of-type {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsItem:last-of-type {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsItem {
    padding: 20px 0;
  }
}
.ec-newsRole .ec-newsRole__newsHeading {
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsHeading {
    display: flex;
  }
}
.ec-newsRole .ec-newsRole__newsDate {
  display: block;
  margin: 15px 0 5px;
  font-size: 12px;
  color: black;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsDate {
    display: inline-block;
    margin: 0;
    min-width: 120px;
    font-size: 14px;
  }
}
.ec-newsRole .ec-newsRole__newsColumn {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsColumn {
    display: inline-flex;
    min-width: calc(100% - 120px);
  }
}
.ec-newsRole .ec-newsRole__newsTitle {
  display: inline-block;
  margin-bottom: 10px;
  width: 90%;
  font-size: 14px;
  font-weight: bold;
  color: #7D7D7D;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsTitle {
    margin-bottom: 0;
    line-height: 1.8;
  }
}
.ec-newsRole .ec-newsRole__newsClose {
  display: inline-block;
  width: 10%;
  position: relative;
}
.ec-newsRole .ec-newsRole__newsCloseBtn {
  display: inline-block;
  margin-left: auto;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  color: white;
  text-align: center;
  background: black;
  cursor: pointer;
  position: absolute;
  right: 5px;
}
.ec-newsRole .ec-newsRole__newsDescription {
  display: none;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.4;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsDescription {
    margin: 20px 0 0;
    line-height: 1.8;
  }
}
.ec-newsRole .ec-newsRole__newsDescription a {
  color: #0092C4;
}
.ec-newsRole__newsItem.is_active .ec-newsRole__newsDescription {
  margin: 0 0 10px;
}
@media only screen and (min-width: 768px) {
  .ec-newsRole__newsItem.is_active .ec-newsRole__newsDescription {
    margin: 20px 0 0;
  }
}
.ec-newsRole__newsItem.is_active .ec-newsRole__newsCloseBtn i {
  display: inline-block;
  transform: rotateX(180deg) translateY(2px);
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
見出し

トップページで使用されているカレンダーのスタイルです。

ex [トップページ](http://demo3.ec-cube.net/)

Markup:
sg-wrapper:
<div class="ec-role">
  <sg-wrapper-content/>
</div>

Styleguide 12.9.1
*/
/* 背景や文字の色調整 */
.ec-calendar {
  display: flex;
  max-width: 210px;
}
@media only screen and (min-width: 768px) {
  .ec-calendar {
    max-width: 245px;
  }
}
.ec-calendar__month {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  margin: auto;
}
.ec-calendar__month th, .ec-calendar__month td {
  height: 30px;
  text-align: center;
  vertical-align: middle;
  line-height: 1;
  font-size: 1.2rem;
}
@media only screen and (min-width: 1100px) {
  .ec-calendar__month th, .ec-calendar__month td {
    height: 35px;
    font-size: 1.6rem;
  }
}
.ec-calendar__month td {
  width: 30px;
  padding-left: 0.1em;
}
@media only screen and (min-width: 1100px) {
  .ec-calendar__month td {
    width: 35px;
  }
}
.ec-calendar .ec-calendar__title {
  height: 38px;
  border: 0;
  font-size: 1.4rem;
}
@media only screen and (min-width: 1100px) {
  .ec-calendar .ec-calendar__title {
    font-size: 1.6rem;
  }
}
.ec-calendar .ec-calendar__sun {
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  background: transparent;
  color: #FFA0A0;
}
.ec-calendar .ec-calendar__mon, .ec-calendar .ec-calendar__tue, .ec-calendar .ec-calendar__wed, .ec-calendar .ec-calendar__thu, .ec-calendar .ec-calendar__fri {
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  background: transparent;
  color: #000;
}
.ec-calendar .ec-calendar__sat {
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  background: transparent;
  color: #469bff;
}
.ec-calendar .ec-calendar__day {
  background: transparent;
  color: #333;
}
.ec-calendar .ec-calendar__holiday {
  background: transparent;
  color: #fff !important;
  position: relative;
}
.ec-calendar .ec-calendar__holiday:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 99px;
  background: #FFA0A0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .ec-calendar .ec-calendar__holiday:before {
    width: 26px;
    height: 26px;
  }
}
.ec-calendar .next_commit_date {
  background: transparent;
  color: #fff !important;
  position: relative;
}
.ec-calendar .next_commit_date:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 99px;
  background: #469bff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .ec-calendar .next_commit_date:before {
    width: 26px;
    height: 26px;
  }
}
.ec-calendar .ec-calendar__today {
  color: #333;
  position: relative;
  z-index: 1;
}
.ec-calendar .ec-calendar__today::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  display: block;
  width: 11px;
  height: 1px;
  background: #469bff;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .ec-calendar .ec-calendar__today::after {
    width: 13px;
  }
}

.ec-calendar.slick-slider {
  margin: 0 auto;
  background: #fff;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
.ec-calendar.slick-slider .arrow {
  display: flex;
  align-items: center;
  width: 40px;
  height: 100%;
  border: none;
  position: absolute;
  top: 0;
}
.ec-calendar.slick-slider .arrow:hover, .ec-calendar.slick-slider .arrow:focus {
  opacity: 0.7;
  transition: all 0.5s ease 0s;
  color: currentColor;
}
.ec-calendar.slick-slider .prev {
  left: -60px;
  background: no-repeat left 10px center/10px url("/html/template/yanoman/assets/icon/angle-left-solid.svg");
}
@media only screen and (min-width: 768px) {
  .ec-calendar.slick-slider .prev {
    left: -20px;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-calendar.slick-slider .prev {
    left: -60px;
  }
}
.ec-calendar.slick-slider .next {
  right: -60px;
  background: no-repeat right 10px center/10px url("/html/template/yanoman/assets/icon/angle-right-solid.svg");
}
@media only screen and (min-width: 768px) {
  .ec-calendar.slick-slider .next {
    right: -20px;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-calendar.slick-slider .next {
    right: -60px;
  }
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
検索ラベル

商品一覧 ヘッダー部 に関する Project コンポーネントを定義します。

ex [商品一覧 ヘッダー部](http://demo3.ec-cube.net/products/list)

Markup:
include /assets/tmpl/elements/13.1.searchnav.pug
+ec-searchnavRole__topicpath
+ec-searchnavRole__info

Styleguide 13.1

*/
.ec-searchnavRole {
  margin-bottom: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1310px;
  }
  .ec-searchnavRole:after {
    content: " ";
    display: table;
  }
  .ec-searchnavRole:after {
    clear: both;
  }
  .ec-searchnavRole textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
  }
  .ec-searchnavRole img {
    max-width: 100%;
    height: auto;
  }
  .ec-searchnavRole html {
    box-sizing: border-box;
  }
  .ec-searchnavRole *,
  .ec-searchnavRole *::before,
  .ec-searchnavRole *::after {
    box-sizing: inherit;
  }
  .ec-wpRole .ec-searchnavRole {
    padding-right: 0;
    padding-left: 0;
  }
}
.ec-searchnavRole:first-child .ec-searchnavRole__search {
  padding-top: 0;
}
.ec-searchnavRole .ec-searchnavRole__infos {
  border-top: 1px solid #efefef;
  display: flex;
  margin-bottom: 30px;
  padding-inline: 15px;
  flex-direction: column;
}
.ec-wpRole .ec-searchnavRole .ec-searchnavRole__infos {
  margin-bottom: 20px;
  border: none;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole .ec-searchnavRole__infos {
    flex-wrap: wrap;
    padding-left: 0;
    padding-right: 0;
    flex-direction: row;
    justify-content: space-between;
  }
  .ec-wpRole .ec-searchnavRole .ec-searchnavRole__infos {
    margin-bottom: 30px;
    border: none;
  }
}
.ec-searchnavRole__search {
  padding: 20px 0 18px;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole__search {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding: 15px 0;
    border-bottom: 1px solid #efefef;
  }
}
.ec-searchnavRole__search .ec-blockBtn,
.ec-searchnavRole__search .ec-blockBtn--primary {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole__search .ec-blockBtn,
  .ec-searchnavRole__search .ec-blockBtn--primary {
    width: 165px;
  }
}
.ec-searchnavRole__search .ec-blockBtn {
  height: 48px;
  line-height: 48px;
  border-width: 2px;
}
.ec-searchnavRole__search .ec-blockBtn span {
  display: flex;
  align-items: center;
}
.ec-searchnavRole__search .ec-blockBtn i {
  margin-right: auto;
  font-size: 3rem;
}
@media only screen and (min-width: 375px) {
  .ec-searchnavRole__search .ec-blockBtn i {
    margin-right: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole__search .ec-blockBtn i {
    margin-right: 0.8rem;
  }
}
.ec-searchnavRole__search .ec-blockBtn--primary {
  height: 34px;
  line-height: 34px;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole__search .ec-blockBtn--primary {
    height: 48px;
    line-height: 48px;
  }
}
.ec-searchnavRole__search .ec-blockBtn--primary i {
  margin-right: 1.2rem;
  font-size: 2.2rem;
}
.ec-searchnavRole__search .ec-blockBtn:not(:is(.selected)) {
  border-color: #999999;
  background: #fff;
  color: #999999;
}
.ec-searchnavRole__search__sort {
  display: flex;
  margin-bottom: 12px;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole__search__sort {
    margin-bottom: 0;
  }
}
.ec-searchnavRole__search__sort :not(:first-child) {
  margin-left: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole__search__search {
    margin-left: 15px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole .ec-searchnavRole__counter {
    padding-top: 15px;
  }
  .ec-wpRole .ec-searchnavRole .ec-searchnavRole__counter {
    padding-top: 0;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-searchnavRole .ec-searchnavRole__counter {
    flex-shrink: 1;
  }
}
.ec-searchnavRole .ec-searchnavRole__counter__filter, .ec-searchnavRole .ec-searchnavRole__counter__result {
  display: block;
  padding-left: 5em;
  position: relative;
}
.ec-searchnavRole .ec-searchnavRole__counter__filter:before, .ec-searchnavRole .ec-searchnavRole__counter__result:before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.ec-searchnavRole .ec-searchnavRole__counter__filter {
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .ec-searchnavRole .ec-searchnavRole__counter__filter {
    margin-bottom: 10px;
  }
}
.ec-searchnavRole .ec-searchnavRole__counter__filter:before {
  content: "検索条件：";
}
.ec-searchnavRole .ec-searchnavRole__counter__result:before {
  content: "検索結果：";
}
.ec-searchnavRole .ec-searchnavRole__actions {
  display: none;
  text-align: right;
  width: 100%;
}
.ec-searchnavRole .ec-pagerRole {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .ec-searchnavRole .ec-pagerRole {
    display: block;
    padding: 15px 0 0;
  }
  .ec-wpRole .ec-searchnavRole .ec-pagerRole {
    padding: 0;
  }
}
.ec-searchnavRole .ec-pagerRole .ec-pager {
  padding-top: 0;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
商品一覧

商品一覧 に関する Project コンポーネントを定義します。

Markup:
include /assets/tmpl/elements/13.2.shelf.pug
+b.ec-shelfRole
  +ec-shelfGrid

Styleguide 13.2

*/
.ec-shelfRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-shelfRole:after {
  content: " ";
  display: table;
}
.ec-shelfRole:after {
  clear: both;
}
.ec-shelfRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-shelfRole img {
  max-width: 100%;
  height: auto;
}
.ec-shelfRole html {
  box-sizing: border-box;
}
.ec-shelfRole *,
.ec-shelfRole *::before,
.ec-shelfRole *::after {
  box-sizing: inherit;
}
body:not(#page_product_detail) .ec-layoutRole__main > div:last-child .ec-shelfRole:last-child {
  margin-bottom: -50px;
}

/*
商品一覧グリッド

商品一覧 で使用するグリッドコンポーネントです。

Markup:
include /assets/tmpl/elements/13.2.shelf.pug
+b.ec-shelfRole
  +ec-shelfGrid

Styleguide 13.2.1

*/
.ec-shelfGrid {
  margin: 0 0 -50px;
  padding: 0;
  list-style: none;
}
.ec-shelfGrid a {
  color: inherit;
  text-decoration: none;
}
.ec-shelfGrid a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-shelfGrid {
    display: flex;
    flex-wrap: wrap;
  }
  #page_product_list .ec-shelfGrid, #page_mypage_favorite .ec-shelfGrid {
    margin-inline: -10px;
  }
}
.ec-shelfGrid__item {
  display: flex !important;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 50px;
  padding-inline: 21px 20px;
}
@media only screen and (min-width: 768px) {
  .ec-shelfGrid__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-shelfGrid__item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-shelfGrid__item {
    width: 33.3333333333%;
  }
}
#page_product_list .ec-shelfGrid__item, #page_mypage_favorite .ec-shelfGrid__item {
  padding: 0;
}
@media only screen and (min-width: 768px) {
  #page_product_list .ec-shelfGrid__item, #page_mypage_favorite .ec-shelfGrid__item {
    flex-direction: column;
    padding: 0 10px;
  }
}
@media only screen and (min-width: 1100px) {
  #page_product_list .ec-shelfGrid__item, #page_mypage_favorite .ec-shelfGrid__item {
    width: 20%;
  }
}
.ec-shelfGrid__item__top {
  order: 1;
  width: calc((100% - 15px) / 2);
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  #page_product_list .ec-shelfGrid__item__top, #page_mypage_favorite .ec-shelfGrid__item__top {
    width: 100%;
  }
}
.ec-shelfGrid__item__top a {
  display: block;
  position: relative;
}
.ec-shelfGrid__item__middle {
  order: 2;
  width: calc((100% - 15px) / 2);
  margin-left: 15px;
  padding-top: 2px;
}
#page_product_list .ec-shelfGrid__item__middle, #page_mypage_favorite .ec-shelfGrid__item__middle {
  padding-top: 0;
}
@media only screen and (min-width: 768px) {
  #page_product_list .ec-shelfGrid__item__middle, #page_mypage_favorite .ec-shelfGrid__item__middle {
    width: 100%;
    margin-left: 0;
    padding-inline: 10px;
  }
}
.ec-shelfGrid__item__middle:hover ~ .ec-shelfGrid__item__top {
  opacity: 0.7;
}
.ec-shelfGrid__item__bottom {
  order: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin-top: 25px;
}
.ec-shelfGrid__item__bottom > button {
  width: calc(50% + 7px);
}
.ec-shelfGrid__item__form {
  width: calc(50% - 7px);
  padding-right: 15px;
}
.ec-shelfGrid__item__form .ec-numberInput {
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-size: 1.8rem;
}
.ec-shelfGrid__item__form .ec-numberInput input {
  max-width: calc(100% - 50px);
  margin-bottom: 0;
  font-size: 1.8rem;
}
.ec-shelfGrid__item__image {
  display: block;
  margin-bottom: 25px;
}
#page_product_list .ec-shelfGrid__item__image, #page_mypage_favorite .ec-shelfGrid__item__image {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  #page_product_list .ec-shelfGrid__item__image, #page_mypage_favorite .ec-shelfGrid__item__image {
    margin-bottom: 18px;
  }
}
.ec-shelfGrid__item__tagList {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.ec-shelfGrid__item__tagList span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 9px;
  border-radius: 3px;
  background: #469bff;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
}
.ec-shelfGrid__item__tagList span.frame {
  padding: 4px 6px;
  border: 1px solid currentColor;
  background: #fff;
  color: #000;
}
.ec-shelfGrid__item__release {
  margin-bottom: 5px;
  color: #469bff;
  font-size: 1rem;
  font-weight: bold;
}
.ec-shelfGrid__item__release:first-child {
  margin-top: -0.2em;
}
.ec-shelfGrid__item__catalogCode {
  margin-bottom: 2px;
  color: #666666;
  font-size: 1.2rem;
}
.ec-shelfGrid__item__catalogCode:first-child {
  margin-top: -0.2em;
}
.ec-shelfGrid__item__janCode {
  margin-bottom: 5px;
  color: #666666;
  font-size: 1.2rem;
}
.ec-shelfGrid__item__janCode:first-child {
  margin-top: -0.2em;
}
.ec-shelfGrid__item__name {
  margin-bottom: 5px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.7;
  text-align: justify;
  word-break: break-all;
}
.ec-shelfGrid__item__name:first-child {
  margin-top: -0.35em;
}
.ec-shelfGrid__item__copyright {
  margin-bottom: 15px;
  font-size: 1rem;
  font-weight: 300;
  text-align: justify;
  word-break: break-all;
}
.ec-shelfGrid__item__supply {
  margin-bottom: 15px;
  padding: 5px 7px;
  background: #f6d471;
  font-size: 1rem;
  font-feature-settings: "palt";
}
@media only screen and (min-width: 375px) {
  .ec-shelfGrid__item__supply {
    padding: 5px 9px;
  }
}
.ec-shelfGrid__item__piece, .ec-shelfGrid__item__price, .ec-shelfGrid__item__price--sale {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  font-size: 1.2rem;
  font-weight: bold;
}
.ec-shelfGrid__item__price--sale {
  margin-bottom: 0;
  color: #e05a87;
}
#page_product_list .ec-shelfGrid .ec-blockBtn--active,
#page_product_list .ec-shelfGrid .ec-blockBtn--cart, #page_mypage_favorite .ec-shelfGrid .ec-blockBtn--active,
#page_mypage_favorite .ec-shelfGrid .ec-blockBtn--cart {
  height: 32px;
  margin-top: 20px;
  line-height: 30px;
  font-size: 1.4rem;
}
.ec-shelfGrid .ec-blockBtn--cart.yoyaku {
  background: #E0B45A;
  border-color: #E0B45A;
}

#RelatedProduct-product_area,
#product_recommend_products,
#other_look_products,
#page_cart #past,
#page_cart #other {
  width: auto;
  margin-inline: -15px;
  padding: 30px 0;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  #RelatedProduct-product_area,
  #product_recommend_products,
  #other_look_products,
  #page_cart #past,
  #page_cart #other {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
#RelatedProduct-product_area .ec-productRole__blockHeader,
#product_recommend_products .ec-productRole__blockHeader,
#other_look_products .ec-productRole__blockHeader,
#page_cart #past .ec-productRole__blockHeader,
#page_cart #other .ec-productRole__blockHeader {
  padding-inline: 15px;
}
@media only screen and (min-width: 1100px) {
  #RelatedProduct-product_area .ec-productRole__blockHeader,
  #product_recommend_products .ec-productRole__blockHeader,
  #other_look_products .ec-productRole__blockHeader,
  #page_cart #past .ec-productRole__blockHeader,
  #page_cart #other .ec-productRole__blockHeader {
    padding-inline: 0;
  }
}
#RelatedProduct-product_area .slick-slider,
#product_recommend_products .slick-slider,
#other_look_products .slick-slider,
#page_cart #past .slick-slider,
#page_cart #other .slick-slider {
  position: relative;
}
@media only screen and (min-width: 1100px) {
  #RelatedProduct-product_area .slick-slider:before, #RelatedProduct-product_area .slick-slider:after,
  #product_recommend_products .slick-slider:before,
  #product_recommend_products .slick-slider:after,
  #other_look_products .slick-slider:before,
  #other_look_products .slick-slider:after,
  #page_cart #past .slick-slider:before,
  #page_cart #past .slick-slider:after,
  #page_cart #other .slick-slider:before,
  #page_cart #other .slick-slider:after {
    content: "";
    width: 22px;
    height: calc(100% - 48px);
    background: #fff;
    position: absolute;
    top: -1px;
    z-index: 1;
  }
  #RelatedProduct-product_area .slick-slider:before,
  #product_recommend_products .slick-slider:before,
  #other_look_products .slick-slider:before,
  #page_cart #past .slick-slider:before,
  #page_cart #other .slick-slider:before {
    left: -23px;
  }
  #RelatedProduct-product_area .slick-slider:after,
  #product_recommend_products .slick-slider:after,
  #other_look_products .slick-slider:after,
  #page_cart #past .slick-slider:after,
  #page_cart #other .slick-slider:after {
    right: -22px;
  }
}
#RelatedProduct-product_area .slick-arrow,
#product_recommend_products .slick-arrow,
#other_look_products .slick-arrow,
#page_cart #past .slick-arrow,
#page_cart #other .slick-arrow {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
  pointer-events: none;
}
#RelatedProduct-product_area .arrow,
#product_recommend_products .arrow,
#other_look_products .arrow,
#page_cart #past .arrow,
#page_cart #other .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  position: absolute;
  bottom: 20px;
  pointer-events: all;
  font-size: 3.2rem;
}
#RelatedProduct-product_area .prev,
#product_recommend_products .prev,
#other_look_products .prev,
#page_cart #past .prev,
#page_cart #other .prev {
  right: 55px;
}
@media only screen and (min-width: 1100px) {
  #RelatedProduct-product_area .prev,
  #product_recommend_products .prev,
  #other_look_products .prev,
  #page_cart #past .prev,
  #page_cart #other .prev {
    right: 40px;
  }
}
#RelatedProduct-product_area .next,
#product_recommend_products .next,
#other_look_products .next,
#page_cart #past .next,
#page_cart #other .next {
  right: 7px;
}
@media only screen and (min-width: 1100px) {
  #RelatedProduct-product_area .next,
  #product_recommend_products .next,
  #other_look_products .next,
  #page_cart #past .next,
  #page_cart #other .next {
    right: -8px;
  }
}
#RelatedProduct-product_area .slick-list,
#product_recommend_products .slick-list,
#other_look_products .slick-list,
#page_cart #past .slick-list,
#page_cart #other .slick-list {
  margin-left: calc(15px - 21px);
}
@media only screen and (min-width: 1100px) {
  #RelatedProduct-product_area .slick-list,
  #product_recommend_products .slick-list,
  #other_look_products .slick-list,
  #page_cart #past .slick-list,
  #page_cart #other .slick-list {
    margin-inline: -21px -20px;
    padding-left: 0;
  }
}
#RelatedProduct-product_area .slick-disabled .arrow,
#product_recommend_products .slick-disabled .arrow,
#other_look_products .slick-disabled .arrow,
#page_cart #past .slick-disabled .arrow,
#page_cart #other .slick-disabled .arrow {
  color: #efefef;
  cursor: not-allowed;
}
#RelatedProduct-product_area .slick-track,
#product_recommend_products .slick-track,
#other_look_products .slick-track,
#page_cart #past .slick-track,
#page_cart #other .slick-track {
  display: flex;
}
#RelatedProduct-product_area .slick-slide,
#product_recommend_products .slick-slide,
#other_look_products .slick-slide,
#page_cart #past .slick-slide,
#page_cart #other .slick-slide {
  height: auto;
  position: relative;
}
#RelatedProduct-product_area .slick-slide:not(:first-child):before,
#product_recommend_products .slick-slide:not(:first-child):before,
#other_look_products .slick-slide:not(:first-child):before,
#page_cart #past .slick-slide:not(:first-child):before,
#page_cart #other .slick-slide:not(:first-child):before {
  content: "";
  width: 1px;
  padding-top: 15%;
  border-bottom: 130px solid #efefef;
  position: absolute;
  top: 0;
  left: 0;
}

#other_look_products .ec-productRole__blockHeader h3, #other_look_products .ec-productRole__blockHeader .h3 {
  font-feature-settings: "palt";
  letter-spacing: 0.07em;
}

/*
商品一覧フッター

商品一覧 フッター に関する Project コンポーネントを定義します。

ex [商品一覧 ページャ部](http://demo3.ec-cube.net/products/list)

Markup:
include /assets/tmpl/elements/13.3.pager.pug
+ec-pagerRole

Styleguide 13.3

*/
.ec-pagerRole {
  padding-inline: 15px;
  text-align: right;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
カート追加モーダル

カート追加モーダルに関する Project コンポーネントを定義します。

ex [商品一覧、商品詳細](http://demo3.ec-cube.net/products/list)

+ec-modal

Styleguide 13.4

*/
.ec-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
}
.ec-modal.small {
  width: 30%;
}
.ec-modal.full {
  width: 100%;
  height: 100%;
}
.ec-modal .ec-modal-overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
}
.ec-modal .ec-modal-wrap {
  position: relative;
  border-radius: 2px;
  border: 1px solid #333;
  background-color: #fff;
  width: 90%;
  margin: 20px;
  padding: 40px 5px;
}
@media only screen and (min-width: 768px) {
  .ec-modal .ec-modal-wrap {
    padding: 40px 10px;
    width: 50%;
    margin: 20px auto;
  }
}
.ec-modal .ec-modal-close {
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 10px;
  font-size: 20px;
  height: 30px;
  width: 20px;
}
.ec-modal .ec-modal-close:hover {
  color: #4b5361;
}
.ec-modal .ec-modal-box {
  text-align: center;
}
.ec-modal .ec-modal-box__addCart {
  margin: -5px;
}
.ec-modal .ec-modal-box__addCart > a, .ec-modal .ec-modal-box__addCart > span {
  margin: 5px;
}
.ec-modal .ec-role, .ec-modal .ec-role--800 {
  margin-top: 20px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
商品詳細

商品詳細ページに関する Project コンポーネントを定義します。

ex [商品詳細ページ](http://demo3.ec-cube.net/products/detail/18)


Markup:
include /assets/tmpl/elements/14.1.product.pug
+ec-productSimpleRole

Styleguide 14.1
*/
.ec-productRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-productRole:after {
  content: " ";
  display: table;
}
.ec-productRole:after {
  clear: both;
}
.ec-productRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-productRole img {
  max-width: 100%;
  height: auto;
}
.ec-productRole html {
  box-sizing: border-box;
}
.ec-productRole *,
.ec-productRole *::before,
.ec-productRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__header {
    display: flex;
  }
}
.ec-productRole__header__left {
  padding-top: 20px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__header__left {
    padding-top: 0;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__header__left {
    width: calc(100% - 548px);
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__header__right {
    width: 548px;
  }
}
.ec-productRole__fav {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__fav {
    bottom: 20px;
    right: 20px;
  }
}
.ec-productRole__favBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 99px;
  border: 2px solid transparent;
  background: #d9d9d9;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__favBtn {
    width: 80px;
    height: 80px;
    font-size: 48px;
  }
}
.ec-productRole__favBtn[disabled] {
  border-color: #FFA0A0;
  background: #fff;
  color: #FFA0A0;
}
.ec-productRole__favBtn:hover {
  border-color: #FFA0A0;
  background: #fff;
  color: #FFA0A0;
}
.ec-productRole__profile {
  margin-left: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__profile {
    margin-left: 50px;
  }
}
.ec-productRole__profile__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
}
.ec-productRole__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
  padding: 0;
}
.ec-productRole__tags span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 9px;
  border-radius: 3px;
  background: #469bff;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__tags span {
    padding: 6px 8px;
    font-size: 1.6rem;
  }
}
.ec-productRole__release {
  margin-left: 5px;
  color: #469bff;
  font-size: 1.2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__release {
    margin-left: 10px;
    font-size: 1.8rem;
  }
}
.ec-productRole__title {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__title {
    margin-bottom: 50px;
  }
}
.ec-productRole__title .ec-headingTitle {
  display: block;
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__title .ec-headingTitle {
    font-size: 3rem;
  }
}
.ec-productRole__copyright {
  display: block;
  font-size: 1rem;
  font-weight: 300;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__copyright {
    font-size: 1.6rem;
  }
}
.ec-productRole__priceBox {
  width: 100%;
  text-align: right;
}
.ec-productRole__priceBox__inner {
  display: inline-flex;
  flex-direction: column;
  margin-left: auto;
}
.ec-productRole__priceRegular, .ec-productRole__price, .ec-productRole__point {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.6rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__priceRegular, .ec-productRole__price, .ec-productRole__point {
    font-size: 1.8rem;
  }
}
.ec-productRole__priceRegular__title, .ec-productRole__price__title, .ec-productRole__point__title {
  margin-right: 40px;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__priceRegular__title, .ec-productRole__price__title, .ec-productRole__point__title {
    margin-right: 70px;
  }
}
.ec-productRole__priceRegular__num, .ec-productRole__price__num, .ec-productRole__point__num {
  margin-left: auto;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__priceRegular__num, .ec-productRole__price__num, .ec-productRole__point__num {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .ec-productRole__priceRegular__tax, .ec-productRole__price__tax, .ec-productRole__point__tax {
    font-size: 1.8rem;
  }
}
.ec-productRole__priceRegular, .ec-productRole__price {
  align-items: center;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__priceRegular, .ec-productRole__price {
    margin-bottom: 16px;
  }
}
.ec-productRole__point {
  align-items: flex-end;
  margin-bottom: 15px;
}
.ec-productRole__price {
  color: #e05a87;
}
.ec-productRole__login {
  margin: -10px 0 30px;
  text-align: right;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__login a {
    transition: all 0.5s ease 0s;
  }
  .ec-productRole__login a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-productRole__login {
    font-size: 1.4rem;
  }
}
.ec-productRole__login a {
  display: inline-block;
  padding: 10px 0;
  color: currentColor;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 1.4px;
}
.ec-productRole__login__desc {
  display: inline-block;
  text-align: left;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__login__desc {
    text-align: inherit;
  }
}
.ec-productRole__bulk {
  font-size: 1.4rem;
  margin-bottom: 15px;
  text-align: left;
  padding: 5px;
  font-weight: normal;
  border-radius: 5px;
  border: 2px dotted #ffaa00;
}
.ec-productRole__bulk span {
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__bulk {
    font-size: 1.6rem;
  }
}
.ec-productRole__form {
  margin-bottom: 30px;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.ec-productRole__actions {
  width: 270px;
  margin: 0 auto 15px;
  text-align: right;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__actions {
    width: calc(100% - 310px);
    margin: 0;
    text-align: left;
  }
}
.ec-productRole__actions .ec-select select {
  height: 40px;
  max-width: 100%;
}
.ec-productRole__actions .ec-numberInput input {
  margin-bottom: 0;
  font-size: 1.8rem;
}
.ec-productRole__btn {
  width: 270px;
  margin: 0 auto;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__btn {
    margin-right: 0;
  }
}
.ec-productRole__btn .ec-blockBtn--cart.yoyaku {
  background: #E0B45A;
  border-color: #E0B45A;
}
.ec-productRole__btn .ec-blockBtn--cart.nyuka {
  background: #000;
  border-color: #000;
}
.ec-productRole__btn .ec-blockBtn--cart.nyuka.registered {
  background: gray;
  border-color: gray;
}
.ec-productRole__daibikiOnly {
  width: 100%;
  margin-bottom: 15px;
  font-size: 1.2rem;
  color: red;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__daibikiOnly {
    order: 4;
    margin-top: 5px;
    margin-bottom: 0;
  }
}
.ec-productRole__orderUnit {
  width: 100%;
  margin-bottom: 15px;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__orderUnit {
    order: 3;
    margin-bottom: 0;
    margin-top: 15px;
  }
}
.ec-productRole__share {
  display: flex;
  flex-wrap: wrap;
  margin-inline: calc(-15px);
  padding: 10px 15px;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__share a {
    transition: all 0.5s ease 0s;
  }
  .ec-productRole__share a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__share {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__share__link {
  display: flex;
  align-items: center;
  height: 20px;
  margin-right: 10px;
  padding-inline: 6px;
  font-size: 1rem;
  line-height: 1;
  color: #fff !important;
}
.ec-productRole__share .facebook {
  background: #1877F2;
}
.ec-productRole__share .facebook i {
  font-size: 1.3rem;
}
.ec-productRole__share .twitter {
  background: #1D9BF0;
}
.ec-productRole__share .twitter i {
  font-size: 1.3rem;
}
.ec-productRole__share .line {
  background: #06C755;
}
.ec-productRole__share .line i {
  font-size: 2rem;
  margin-right: 0.1rem;
}
.ec-productRole__info {
  margin-inline: calc(-15px);
  padding: 30px 40px;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__info {
    margin: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__info__inner {
  border-top: 1px solid #999999;
  border-left: 1px solid #999999;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__info__inner {
    font-size: 1.4rem;
  }
}
.ec-productRole__info dl {
  display: flex;
  width: 100%;
  margin: 0;
}
.ec-productRole__info dt {
  width: 88px;
  padding: 5px 10px;
  border-right: 1px solid #999999;
  border-bottom: 1px solid #999999;
  background: #efefef;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__info dt {
    width: 100px;
  }
}
.ec-productRole__info dd {
  width: calc(100% - 88px);
  margin: 0;
  padding: 5px 10px;
  border-right: 1px solid #999999;
  border-bottom: 1px solid #999999;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__info dd {
    width: calc(100% - 100px);
  }
}
.ec-productRole__info__wide dt {
  width: 140px;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__info__wide dt {
    width: 160px;
  }
}
.ec-productRole__info__wide dd {
  width: calc(100% - 140px);
}
@media only screen and (min-width: 768px) {
  .ec-productRole__info__wide dd {
    width: calc(100% - 160px);
  }
}
.ec-productRole__info .btn {
  display: inline-block;
  margin: -6px 0;
  vertical-align: baseline;
}
.ec-productRole__info .btn :focus {
  box-shadow: none;
}
.ec-productRole__character {
  margin-inline: calc(-15px);
  padding: 30px 15px;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__character {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__character__header {
  margin-bottom: 20px;
}
.ec-productRole__character__header h3, .ec-productRole__character__header .h3 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__character__header h3, .ec-productRole__character__header .h3 {
    font-size: 2.4rem;
  }
}
.ec-productRole__character__content {
  display: flex;
}
.ec-productRole__character__content:not(:last-child) {
  margin-bottom: 15px;
}
.ec-productRole__character__icon {
  width: 27px;
  margin-right: 10px;
}
.ec-productRole__character__text {
  width: calc(100% - 37px);
  text-align: justify;
  word-break: break-all;
}
.ec-productRole__character__text h4, .ec-productRole__character__text .h4 {
  margin-top: -0.1em;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__character__text h4, .ec-productRole__character__text .h4 {
    font-size: 1.6rem;
  }
}
.ec-productRole__character__text p {
  font-size: 1.2rem;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__character__text p {
    font-size: 1.4rem;
  }
}
.ec-productRole .detail__reservation--bto {
  color: #fff;
  padding: 10px;
  margin-bottom: 0;
  background: #f6d471;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-productRole .detail__reservation--bto {
    padding: 5px 20px 5px;
  }
}
.ec-productRole__blockHeader {
  margin-bottom: 30px;
}
.ec-productRole__blockHeader h3, .ec-productRole__blockHeader .h3 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__blockHeader h3, .ec-productRole__blockHeader .h3 {
    font-size: 2.4rem;
  }
}
.ec-productRole__description {
  margin: 0 calc(-15px);
  padding: 30px 15px;
  border-top: 1px solid #efefef;
  text-align: justify;
  word-break: break-all;
  font-size: 1.4rem;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__description {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__description {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__description .ec-productRole__blockHeader {
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__description .ec-productRole__blockHeader {
    margin-bottom: 30px;
  }
}
.ec-productRole__descText, .ec-productRole__noDiscount {
  margin-top: 1em;
}
.ec-productRole__relatedTag {
  margin-inline: -15px;
  padding: 30px 0;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__relatedTag {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__relatedTag .ec-productRole__blockHeader {
  padding-inline: 15px;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__relatedTag .ec-productRole__blockHeader {
    padding-inline: 0;
  }
}
.ec-productRole__relatedTag .ec-productRole__blockHeader i {
  font-size: 2.2rem;
  vertical-align: bottom;
  line-height: 1.92rem;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__relatedTag .ec-productRole__blockHeader i {
    font-size: 3.4rem;
    vertical-align: bottom;
    line-height: 2.88rem;
  }
}
.ec-productRole__relatedTag__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -20px;
  padding: 0 5px;
  position: relative;
  z-index: 1;
}
@media (hover: none) {
  .ec-productRole__relatedTag__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin: -20px 0 -20px;
    padding: 20px calc(15px - 10px) 0;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__relatedTag__list {
    margin-inline: -10px;
    padding: 0;
  }
}
.ec-productRole__relatedTag__list li {
  margin: 0 0 20px;
  padding: 0 10px;
}
.ec-productRole__relatedTag__list a {
  display: flex;
  align-items: center;
  height: 30px;
  padding: 0 10px;
  border-radius: 5px;
  border: 2px solid #efefef;
  color: currentColor;
  font-size: 1.4rem;
  line-height: 1;
  white-space: nowrap;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__relatedTag__list a {
    font-size: 1.6rem;
  }
}
.ec-productRole__relatedTag__list a:hover {
  background: #efefef;
}
.ec-productRole__pickup {
  margin-inline: -15px;
  padding: 30px 15px;
  background: #efefef;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__pickup {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__pickup__inner {
  max-width: 480px;
  margin-inline: auto;
}
.ec-productRole__pickup__inner iframe {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  position: static;
  visibility: visible;
}
.ec-productRole__pickup .ec-productRole__blockHeader span {
  display: inline-block;
  margin-left: 1rem;
}
.ec-productRole__note {
  margin-inline: -15px;
  padding: 30px 0;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__note {
    margin-inline: 0;
    padding-inline: 20px;
  }
}
.ec-productRole__pickup + .ec-productRole__note {
  border-top: none;
}
.ec-productRole__note .ec-productRole__blockHeader {
  padding-inline: 15px;
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__note .ec-productRole__blockHeader {
    padding-inline: 0;
  }
}
.ec-productRole__note__list {
  display: flex;
  flex-wrap: wrap;
  padding-inline: calc(15px - 8px);
}
@media (hover: none) {
  .ec-productRole__note__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .ec-productRole__note__list::-webkit-scrollbar {
    display: none;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__note__list {
    margin-bottom: -30px;
    margin-inline: -8px;
    padding-inline: 0;
  }
}
.ec-productRole__note__item {
  width: 33.3333333333%;
  margin-bottom: 30px;
  padding-inline: 8px;
}
.ec-productRole__note__item a {
  color: inherit;
  text-decoration: none;
}
.ec-productRole__note__item a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__note__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-productRole__note__item a:hover {
    opacity: 0.7;
  }
}
@media (hover: none) {
  .ec-productRole__note__item {
    flex-shrink: 0;
    width: 46%;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-productRole__note__item {
    width: 20%;
  }
}
.ec-productRole__note__item a {
  display: block;
  cursor: pointer;
}
.ec-productRole__note__image {
  margin-bottom: 16px;
}
.ec-productRole__note__magazine {
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__note__magazine {
    font-size: 1.4rem;
  }
}
.ec-productRole__note__magazine i {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__note__magazine i {
    font-size: 1.6rem;
  }
}
.ec-productRole__note__title {
  margin-bottom: 7px;
  font-size: 1.4rem;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__note__title {
    font-size: 1.6rem;
  }
}
#relatedTopic_slider .ec-productRole__note__title, #faq_slider .ec-productRole__note__title, #piece_slider .ec-productRole__note__title {
  color: #333333;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  #relatedTopic_slider .ec-productRole__note__title, #faq_slider .ec-productRole__note__title, #piece_slider .ec-productRole__note__title {
    font-size: 1.4rem;
  }
}
.ec-productRole__note__date {
  color: #999999;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-productRole__note__date {
    font-size: 1.4rem;
  }
}
.ec-productRole #product_review_area .review, .ec-productRole #product_review_area .review--pc, .ec-productRole #product_review_area .review--sp {
  padding-inline: 0;
}
.ec-productRole #product_review_area #no_review {
  margin-bottom: 15px;
}

#leaflet-wrapper {
  width: 100%;
  margin-bottom: 15px;
  aspect-ratio: 1/1;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  #leaflet-wrapper {
    margin-bottom: 30px;
  }
}
#leaflet-wrapper .slick-list {
  height: 100%;
}
#leaflet-wrapper .slick-slide > div {
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
}
#leaflet-wrapper .leaflet-container {
  width: 100% !important;
  height: 100% !important;
  background: #fff;
  top: 0 !important;
  left: 0 !important;
}

.leaflet-container {
  opacity: 0;
}

#leaflet-wrapper.slick-initialized .leaflet-container {
  opacity: 1;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
カート

カート 注文詳細 に関する Project コンポーネントを定義します。

ex [カートページ](http://demo3.ec-cube.net/shopping)

(カート内に商品がある状態でアクセス)

Markup:
include /assets/tmpl/elements/15.1.cart.pug
+ec-cartRole

Styleguide 15.1

*/
.ec-cartRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  max-width: calc(1000px + 2 * 15px);
}
.ec-cartRole:after {
  content: " ";
  display: table;
}
.ec-cartRole:after {
  clear: both;
}
.ec-cartRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-cartRole img {
  max-width: 100%;
  height: auto;
}
.ec-cartRole html {
  box-sizing: border-box;
}
.ec-cartRole *,
.ec-cartRole *::before,
.ec-cartRole *::after {
  box-sizing: inherit;
}
.ec-cartRole::before {
  display: none;
}
#page_bulk .ec-cartRole {
  padding-top: 30px;
}
@media only screen and (min-width: 768px) {
  #page_bulk .ec-cartRole {
    padding-top: 50px;
  }
}
.ec-cartRole .ec-cartRole__progress {
  width: 100%;
  text-align: center;
}
.ec-cartRole .ec-cartRole__error {
  width: 100%;
  text-align: center;
}
.ec-cartRole .ec-cartRole__error .ec-alert-warning {
  max-width: 80%;
  display: inline-block;
}
.ec-cartRole .ec-cartRole__totalText {
  padding-bottom: 10px;
  width: 100%;
  border-bottom: 1px solid #efefef;
  font-size: 1.2rem;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole .ec-cartRole__totalText {
    padding-bottom: 30px;
    font-size: 1.6rem;
  }
}
.ec-cartRole .ec-cartRole__totalText p {
  margin: 0;
}
.ec-cartRole__shipping {
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
}
.ec-cartRole__shipping__text {
  margin-bottom: -3px;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__shipping__text {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
}
.ec-cartRole__shipping__text p {
  display: inline-block;
  margin-right: 0.4rem;
  margin-bottom: 8px;
}
.ec-cartRole__shipping__text p i {
  font-size: 1.2em;
  vertical-align: bottom;
}
.ec-cartRole__shipping__text p .color2 {
  font-weight: normal;
}
.ec-cartRole__shipping__sub {
  font-size: 1rem;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__shipping__sub {
    font-size: 1.2rem;
  }
}
.ec-cartRole__nonMember {
  width: 100%;
  padding: 10px 10px 10px 40px;
  border-radius: 5px;
  background: #efefef;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__nonMember a {
    transition: all 0.5s ease 0s;
  }
  .ec-cartRole__nonMember a:hover {
    opacity: 0.7;
  }
}
.ec-cartRole__nonMember:before {
  content: "\f05a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2rem;
  position: absolute;
  top: 10px;
  left: 10px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__nonMember:before {
    font-size: 2.2rem;
    top: 12px;
    left: 12px;
  }
}
.ec-cartRole__nonMember p {
  margin-bottom: 6px;
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__nonMember p {
    font-size: 1.4rem;
  }
}
.ec-cartRole__nonMember a {
  display: inline-block;
  margin: 0 0.8rem 0 0;
  color: #469bff;
  font-size: 1.2rem;
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__nonMember a {
    font-size: 1.4rem;
  }
}
.ec-cartRole__userInfo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.ec-cartRole__userInfo__inner {
  width: 100%;
  border: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__userInfo__inner {
    width: calc(50% - 10px);
  }
}
.ec-cartRole__userInfo__inner:not(:last-child) {
  margin-bottom: 8px;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__userInfo__inner:not(:last-child) {
    margin-bottom: 0;
  }
}
.ec-cartRole__userInfo__header {
  padding: 5px 10px;
  background: #efefef;
}
.ec-cartRole__userInfo__header p {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__userInfo__header p {
    font-size: 1.4rem;
  }
}
.ec-cartRole__userInfo__content {
  padding: 8px 10px;
}
.ec-cartRole__userInfo__content:not(:last-child) {
  border-bottom: 1px dashed #efefef;
}
.ec-cartRole__userInfo__content p {
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__userInfo__content p {
    font-size: 1.4rem;
  }
}
.ec-cartRole__userInfo__content p:not(:last-child) {
  margin-bottom: 5px;
}
.ec-cartRole__userInfo__content i {
  margin-right: 0.5em;
  font-size: 1.2em;
  vertical-align: bottom;
}
.ec-cartRole__userInfo__content span {
  display: inline;
}
.ec-cartRole__userInfo__content .ec-cartRole__userInfo__content__sub {
  font-size: 1rem;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__userInfo__content .ec-cartRole__userInfo__content__sub {
    font-size: 1.2rem;
  }
}
.ec-cartRole__userInfo__gold {
  font-weight: bold;
  border-bottom: 2px solid #E0B45A;
}
.ec-cartRole__cartHeader {
  width: 100%;
  margin-bottom: 15px;
  padding: 15px 0;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__cartHeader {
    margin-bottom: 30px;
    padding: 30px 0;
  }
}
.ec-cartRole__cartHeader h2, .ec-cartRole__cartHeader .h2 {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__cartHeader h2, .ec-cartRole__cartHeader .h2 {
    font-size: 2.4rem;
  }
}
.ec-cartRole__cart {
  margin: 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__cart {
    max-width: 800px;
    margin: 0 auto;
  }
}
.ec-cartRole__nonMemberPrice {
  margin-top: 10px;
  font-size: 1rem;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__nonMemberPrice a {
    transition: all 0.5s ease 0s;
  }
  .ec-cartRole__nonMemberPrice a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__nonMemberPrice {
    font-size: 1.2rem;
  }
}
.ec-cartRole__nonMemberPrice a {
  color: #469bff;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-cartRole__notice, .ec-cartRole__notice--top {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 30px;
  border-radius: 5px;
  border: 1px solid #666666;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__notice, .ec-cartRole__notice--top {
    margin-top: 30px;
  }
}
.ec-cartRole__notice--top {
  margin-top: 0;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__notice--top {
    margin-top: 0;
  }
}
.ec-cartRole__notice__header {
  padding: 5px 0 6px;
  background: #666666;
  text-align: center;
}
.ec-cartRole__notice__header p {
  margin: 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__notice__header p {
    font-size: 1.4rem;
  }
}
.ec-cartRole__notice__content {
  padding: 10px;
}
.ec-cartRole__notice__content p {
  display: block;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__notice__content p {
    font-size: 1.4rem;
  }
}
.ec-cartRole__notice__content p:not(:last-child) {
  margin-bottom: 10px;
}
.ec-cartRole__notice__content .color2 {
  margin-bottom: 0 !important;
  font-weight: bold;
}
.ec-cartRole .ec-cartRole__actions {
  text-align: center;
  width: 100%;
  margin: 30px 0;
}
.ec-cartRole .ec-inlineBtn--cart {
  width: 270px;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole .ec-inlineBtn--cart {
    font-size: 2.4rem;
  }
}
#page_bulk .ec-cartRole .ec-inlineBtn--cart {
  margin-top: 15px;
}
@media only screen and (min-width: 768px) {
  #page_bulk .ec-cartRole .ec-inlineBtn--cart {
    margin-top: 30px;
  }
}
.ec-cartRole__total {
  display: flex;
  width: 100%;
}
.ec-cartRole__total__inner {
  width: 100%;
  max-width: 345px;
  margin-inline: auto 0;
  background: #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__total__inner {
    margin-right: 0;
  }
}
.ec-cartRole__total dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding-inline: 15px;
}
.ec-cartRole__total dt, .ec-cartRole__total dd {
  margin: 0;
}
.ec-cartRole__total__totalPoint {
  height: 49px;
  border-bottom: 1px solid #fff;
}
.ec-cartRole__total__totalPoint dt {
  font-size: 1.4rem;
}
.ec-cartRole__total__totalPoint dd {
  font-size: 2rem;
}
.ec-cartRole__total__totalPrice {
  height: 50px;
}
.ec-cartRole__total__totalPrice dt {
  font-size: 1.6rem;
}
.ec-cartRole__total__totalPrice dd {
  font-size: 2rem;
}
.ec-cartRole__total__totalPrice .ec-price__tax {
  left: 6px;
  font-size: 1.2rem;
}
.ec-cartRole__noItem {
  width: 100%;
}
.ec-cartRole__noItem__content {
  margin: 30px 0;
  text-align: center;
}
.ec-cartRole__noItem__content a {
  color: inherit;
  text-decoration: none;
}
.ec-cartRole__noItem__content a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__noItem__content a {
    transition: all 0.5s ease 0s;
  }
  .ec-cartRole__noItem__content a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__noItem__content {
    margin: 50px 0;
    font-size: 1.8rem;
  }
}
.ec-cartRole__noItem__content p {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__noItem__content p {
    font-size: 1.8rem;
  }
}
.ec-cartRole__bottomLink {
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 30px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__bottomLink a {
    transition: all 0.5s ease 0s;
  }
  .ec-cartRole__bottomLink a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-cartRole__bottomLink {
    margin-bottom: 50px;
  }
}
.ec-cartRole__bottomLink a {
  color: currentColor;
  font-size: 1.4rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-cartRole__bottomLink a:not(:last-child) {
  margin-bottom: 10px;
}

/*
カート商品表示枠（テーブルヘッダ）

カート内の商品をを表示するテーブル枠です。

ex [カートページ　テーブル部分(カート内に商品がある状態でアクセス)](http://demo3.ec-cube.net/cart)

Markup:
include /assets/tmpl/elements/15.1.cart.pug
+ec-cartTable

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>

Styleguide 15.1.2
*/
.ec-cartRole__error + form .ec-cartTable {
  border-top: 1px solid #efefef;
}

/*
カート商品表示枠（テーブルヘッダ）

カート内の商品を表示するテーブルのヘッダです。
スマホでは非表示となります。

ex [カートページ　カートテーブルヘッダ部分(カート内に商品がある状態でアクセス)](http://demo3.ec-cube.net/cart)


Markup:
include /assets/tmpl/elements/15.1.cart.pug
.ec-cartTable
  +ec-cartHeader

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>


Styleguide 15.1.3
*/
/*
.ec-cartHeader{
  display: none;
  width: 100%;
  background: #F4F3F0;
  @include media_desktop {
    display: table-row;
  }
  & &__label{
    display: table-cell;
    padding: 16px;
    text-align: center;
    background: #F4F3F0;
    overflow-x: hidden;
    font-weight: bold;
  }
}*/
.ec-cartCompleteRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-cartCompleteRole:after {
  content: " ";
  display: table;
}
.ec-cartCompleteRole:after {
  clear: both;
}
.ec-cartCompleteRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-cartCompleteRole img {
  max-width: 100%;
  height: auto;
}
.ec-cartCompleteRole html {
  box-sizing: border-box;
}
.ec-cartCompleteRole *,
.ec-cartCompleteRole *::before,
.ec-cartCompleteRole *::after {
  box-sizing: inherit;
}

/*
カート内商品

カート内のアイテムを表示するテーブル行です。
スマホでは非表示となります。

ex [カートページ　テーブル部分](http://demo3.ec-cube.net/cart)

(カート内に商品がある状態でアクセス)

Markup:
include /assets/tmpl/elements/15.1.cart.pug
.ec-cartTable
  +ec-cartRow

sg-wrapper:
<div class="ec-cartRole">
  <sg-wrapper-content/>
</div>


Styleguide 15.1.4
*/
.ec-cartRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto 60px;
  grid-template-areas: "left summary" "left price" "amountRow amountRow";
  gap: 15px;
  margin-top: 15px;
  border-bottom: 1px solid #efefef;
}
.ec-cartRow a {
  color: inherit;
  text-decoration: none;
}
.ec-cartRow a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow a {
    transition: all 0.5s ease 0s;
  }
  .ec-cartRow a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-cartRow {
    grid-template-columns: 165px 1fr 1fr;
    grid-template-rows: auto 60px;
    grid-template-areas: "left summary price" "left summary amountRow";
    margin-top: 30px;
    padding-bottom: 30px;
  }
}
#page_bulk .ec-cartRow {
  grid-template-rows: auto auto;
  grid-template-areas: "left summary" "del amountRow";
}
@media only screen and (min-width: 768px) {
  #page_bulk .ec-cartRow {
    grid-template-columns: 165px 2fr 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "left summary amountRow del";
  }
}
.ec-cartRow:not(:last-child) {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow:not(:last-child) {
    margin-bottom: 30px;
  }
}
.ec-cartRow__left {
  grid-area: left;
  display: flex;
}
.ec-cartRow__img {
  width: 100%;
  margin: auto;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__img {
    margin-top: 0;
  }
}
.ec-cartRow__img img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
.ec-cartRow__img a {
  display: block;
  position: relative;
}
.ec-cartRow__tagList {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.ec-cartRow__tagList span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 9px;
  border-radius: 3px;
  background: #469bff;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
}
.ec-cartRow .ec-cartRow__delete {
  display: inline-block;
  padding: 5px;
  font-size: 1.4rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#page_bulk .ec-cartRow .ec-cartRow__delete {
  grid-area: del;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  #page_bulk .ec-cartRow .ec-cartRow__delete {
    border-left: 1px solid #efefef;
  }
}
.ec-cartRow__summary {
  grid-area: summary;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__summary {
    padding-right: 23px;
  }
  .ec-cartRow__summary:before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #efefef;
    position: absolute;
    top: 0;
    right: -8px;
  }
}
.ec-cartRow__release {
  margin-bottom: 5px;
  color: #469bff;
  font-size: 1rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__release {
    font-size: 1.2rem;
  }
}
.ec-cartRow__release:first-child {
  margin-top: -0.2em;
}
.ec-cartRow__catalogCode {
  margin-bottom: 2px;
  color: #666666;
  font-size: 1.2rem;
}
.ec-cartRow__catalogCode:first-child {
  margin-top: -0.2em;
}
.ec-cartRow__janCode {
  margin-bottom: 5px;
  color: #666666;
  font-size: 1.2rem;
}
.ec-cartRow__janCode:first-child {
  margin-top: -0.2em;
}
.ec-cartRow__name {
  margin-bottom: 5px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.7;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__name {
    font-size: 1.4rem;
  }
}
.ec-cartRow__name:first-child {
  margin-top: -0.35em;
}
.ec-cartRow__copyright {
  margin-bottom: 5px;
  font-size: 1rem;
  font-weight: 300;
}
.ec-cartRow__info__inner {
  border-top: 1px solid #efefef;
  border-left: 1px solid #efefef;
  font-size: 1rem;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__info__inner {
    font-size: 1.2rem;
  }
}
.ec-cartRow__info dl {
  display: flex;
  width: 100%;
  margin: 0;
  line-height: 1.2;
}
.ec-cartRow__info dt {
  width: 66px;
  padding: 3px 5px;
  border-right: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__info dt {
    width: 76px;
  }
}
.ec-cartRow__info dd {
  width: calc(100% - 66px);
  margin: 0;
  padding: 3px 5px;
  border-right: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__info dd {
    width: calc(100% - 76px);
  }
}
.ec-cartRow__price {
  grid-area: price;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow__price {
    padding-left: 23px;
    font-size: 1.4rem;
  }
}
.ec-cartRow__price dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 5px;
}
.ec-cartRow__price dt {
  margin: 0 1em 0 0;
  font-weight: normal;
}
.ec-cartRow__price dd {
  margin: 0;
}
.ec-cartRow__unitPrice + .ec-cartRow__subtotal {
  margin-top: 5px;
}
.ec-cartRow .ec-cartRow__subtotal {
  font-weight: bold;
}
.ec-cartRow .ec-cartRow__subtotal .line-through {
  text-decoration: line-through;
}
@media only screen and (min-width: 768px) {
  .ec-cartRow .ec-cartRow__subtotal dd {
    font-size: 1.6rem;
  }
}
.ec-cartRow__amountRow {
  grid-area: amountRow;
  vertical-align: middle;
}
#page_bulk .ec-cartRow__amountRow {
  margin-bottom: 15px;
}
.ec-cartRow__amountUpDown {
  display: flex;
  justify-content: center;
  margin-left: auto;
}
.ec-cartRow__amountUpButton, .ec-cartRow__amountDownButton, .ec-cartRow__amountDownButtonDisabled {
  margin: 0 6px;
  border-radius: 5px;
  width: 60px;
  height: 44px;
  background: #d9d9d9;
  position: relative;
}
.ec-cartRow__amountUpButton:before, .ec-cartRow__amountDownButton:before, .ec-cartRow__amountDownButtonDisabled:before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  top: 50%;
  left: 50%;
}
.ec-cartRow__amountDownButton:before, .ec-cartRow__amountDownButtonDisabled:before {
  transform: translate(-50%, -66%) rotate(135deg);
}
.ec-cartRow__amountUpButton:before {
  transform: translate(-50%, -14%) rotate(-45deg);
}
.ec-cartRow__amountDownButtonDisabled {
  cursor: default;
  border: none;
}
.ec-cartRow__amountDownButtonDisabled:before {
  border-color: #999999;
}
.ec-cartRow .ec-input input, .ec-cartRow .ec-halfInput input, .ec-cartRow .ec-numberInput input, .ec-cartRow .ec-zipInput input, .ec-cartRow .ec-telInput input, .ec-cartRow .ec-select input, .ec-cartRow .ec-birth input {
  width: 88px;
  height: 44px;
  text-align: right;
}

#cart_clear {
  display: inline-block;
  padding: 15px 0;
  border: none;
  background: none;
  color: currentColor;
  font-size: 1.4rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#cart_clear:hover {
  opacity: 0.7;
}

/*
アラート

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

ex [マイページ　カート](http://demo3.ec-cube.net/cart)

(カート内に商品がある状態でアクセス)

Markup:
include /assets/tmpl/elements/15.1.cart.pug
.ec-cartRole
  .ec-cartRole__cart
    +ec-alert-warning

Styleguide 15.1.6
*/
.ec-alert-warning {
  width: 100%;
  padding: 10px;
  text-align: center;
  background: #F99;
  margin-bottom: 20px;
}
.ec-alert-warning .ec-alert-warning__icon {
  display: inline-block;
  margin-right: 1rem;
  width: 20px;
  height: 20px;
  color: #fff;
  fill: #fff;
  vertical-align: top;
}
.ec-alert-warning .ec-alert-warning__text {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  position: relative;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
注文内容確認

カート内 注文内容確認に関する Project コンポーネントを定義します。

ex [マイページ　注文詳細](http://demo3.ec-cube.net/shopping)

Markup:
include /assets/tmpl/elements/15.2.order.pug
+ec-orderRole

Styleguide 15.2
*/
.ec-orderRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  display: flex;
  flex-direction: column;
  margin-top: 0;
  font-size: 1.4rem;
  /*
  注文履歴詳細 項目見出し
  */
}
.ec-orderRole:after {
  content: " ";
  display: table;
}
.ec-orderRole:after {
  clear: both;
}
.ec-orderRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-orderRole img {
  max-width: 100%;
  height: auto;
}
.ec-orderRole html {
  box-sizing: border-box;
}
.ec-orderRole *,
.ec-orderRole *::before,
.ec-orderRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-orderRole {
    max-width: calc(1000px + 2 * 15px);
    margin-top: 20px;
    flex-direction: row;
    justify-content: space-between;
    font-size: 1.6rem;
  }
}
#page_mypage_history .ec-orderRole {
  margin-top: 0;
}
body:not(.mypage) .ec-orderRole .ec-inlineBtn {
  font-weight: normal;
  height: 32px;
  line-height: 30px;
  padding-top: 0;
  padding-bottom: 0;
}
.mypage .ec-orderRole .ec-inlineBtn {
  font-weight: bold;
}
.ec-orderRole .ec-orderRole__detail {
  width: 100%;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-orderRole .ec-orderRole__detail {
    width: calc(100% - 300px);
  }
}
@media only screen and (min-width: 1100px) {
  .ec-orderRole .ec-orderRole__detail {
    width: calc(100% - 375px);
  }
}
.ec-orderRole .ec-orderRole__summary {
  margin-top: 0 !important;
  width: 100%;
}
.ec-orderRole .ec-orderRole__summary .ec-inlineBtn {
  display: inline-block;
}
@media only screen and (min-width: 768px) {
  .ec-orderRole .ec-orderRole__summary {
    width: 270px;
    margin-left: auto;
  }
  .ec-orderRole .ec-orderRole__summary .ec-inlineBtn {
    display: none;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-orderRole .ec-orderRole__summary {
    width: 345px;
  }
}
.ec-orderRole .ec-borderedList {
  margin-bottom: 20px;
  border-top: 1px solid #efefef;
}
.ec-orderRole .ec-borderedList li {
  border-bottom: 1px solid #efefef;
}
.ec-orderRole .ec-borderedList .ec-imageGrid {
  border: none;
}
.ec-orderRole__detail div:first-child > .ec-rectHeading {
  margin-top: 0;
}
#page_mypage_history .ec-orderRole__detail div:first-child > .ec-rectHeading h2, #page_mypage_history .ec-orderRole__detail div:first-child > .ec-rectHeading .h2 {
  border-top: none;
}
.ec-orderRole .ec-rectHeading {
  margin: 15px 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-orderRole .ec-rectHeading {
    margin: 30px 0;
  }
}
.ec-orderRole .ec-rectHeading h2, .ec-orderRole .ec-rectHeading .h2 {
  margin: 0;
  padding: 15px 0;
  background: #fff;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-orderRole .ec-rectHeading h2, .ec-orderRole .ec-rectHeading .h2 {
    padding: 30px 0;
    font-size: 2.4rem;
  }
}
.ec-orderOrder .ec-orderRole .ec-rectHeading h2, .ec-orderOrder .ec-orderRole .ec-rectHeading .h2 {
  border-top: none;
}

/*
注文履歴詳細 オーダ情報

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　オーダ情報](http://demo3.ec-cube.net/mypage)
(要ログイン → 詳細を見るボタン押下)

Markup:
include /assets/tmpl/elements/15.2.order.pug
+ec-orderInfo

Styleguide 15.2.1
*/
.ec-orderOrder {
  margin-bottom: 30px;
}
.ec-orderOrder .ec-definitions--soft {
  width: 100%;
  margin: 10px 0;
  font-size: 1.4rem;
}
.ec-orderOrder .ec-definitions--soft:first-of-type {
  margin-top: 15px;
}

/*
注文履歴詳細 お客様情報

マイページ 注文詳細部に関する Project コンポーネントを定義します。

ex [マイページ　オーダ情報(要ログイン → 詳細を見るボタン押下)](http://demo3.ec-cube.net/mypage)

Markup:
include /assets/tmpl/elements/15.2.order.pug
+ec-orderAccount

Styleguide 15.2.2
*/
.ec-orderAccount {
  margin-bottom: 30px;
}
.ec-orderAccount p {
  margin-bottom: 0;
}
.ec-orderAccount:after {
  content: " ";
  display: table;
}
.ec-orderAccount:after {
  clear: both;
}
.ec-orderAccount .ec-orderAccount__change {
  display: inline-block;
  margin-left: 10px;
  float: right;
}

/*
注文詳細 配送情報

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　配送情報(要ログイン → 詳細を見るボタン押下)](http://demo3.ec-cube.net/mypage)

Markup:
include /assets/tmpl/elements/15.2.order.pug
+ec-orderDelivery

Styleguide 15.2.3
*/
.ec-orderDelivery .ec-orderDelivery__title {
  padding: 15px 0;
  font-weight: bold;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-orderDelivery__title {
    font-size: 2.4rem;
  }
}
.ec-orderDelivery .ec-orderDelivery__multipleTitle {
  margin-top: 30px;
  padding: 6px 0 6px 1em;
  background: #efefef;
  font-weight: bold;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-orderDelivery__multipleTitle {
    font-size: 2.4rem;
  }
}
.ec-orderDelivery .ec-orderDelivery__change {
  display: inline-block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.ec-orderDelivery .ec-orderDelivery__change span {
  text-decoration: underline;
}
.ec-orderDelivery .ec-orderDelivery__items {
  border-bottom: 1px solid #efefef;
  border-top: 1px solid #efefef;
}
.ec-orderDelivery__heading {
  margin-bottom: 15px;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery__heading {
    font-size: 2rem;
  }
}
.ec-orderDelivery .ec-orderDelivery__address {
  margin-bottom: 15px;
}
.ec-orderDelivery .ec-orderDelivery__address p:not(:last-child) {
  margin: 0 0 6px;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-orderDelivery__address p:not(:last-child) {
    margin: 0 0 7px;
  }
}
#page_shopping_confirm .ec-orderDelivery .ec-orderDelivery__actions:last-child .ec-selects {
  margin-bottom: -15px;
  border: none;
}
.ec-orderDelivery .ec-orderDelivery__edit {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-orderDelivery__edit {
    margin-top: 30px;
    padding-top: 30px;
  }
}
.ec-orderDelivery__actions .ec-selects {
  border-bottom: none;
}
.ec-orderDelivery__actions__text {
  margin-bottom: 15px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery__actions__text {
    font-size: 1.4rem;
  }
}
.ec-orderDelivery__actions__shortShipping {
  padding: 10px;
  border: 4px solid #efefef;
  text-align: center;
  font-size: 1.4rem;
  word-break: keep-all;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery__actions__shortShipping {
    font-size: 1.6rem;
  }
}
.ec-orderDelivery__actions__yoyaku__heading {
  font-size: 1.4rem;
  font-weight: 700;
}
.ec-orderDelivery__actions__yoyaku__text {
  margin-top: 5px;
  padding-left: 1em;
  position: relative;
  font-size: 1.2rem;
}
.ec-orderDelivery__actions__yoyaku__text:before {
  content: "・";
  position: absolute;
  left: 0;
  width: 1em;
}
.ec-orderDelivery__mypageShipping .ec-definitions--soft:not(:last-child) {
  margin: 0 0 6px;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery__mypageShipping .ec-definitions--soft:not(:last-child) {
    margin: 0 0 7px;
  }
}
.ec-orderDelivery .ec-imageGrid {
  display: flex;
  padding: 15px 0;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid {
    padding: 30px 0;
  }
}
.ec-orderDelivery .ec-imageGrid__img {
  width: 165px !important;
  padding: 0 !important;
}
.ec-orderDelivery .ec-imageGrid__content {
  width: calc(100% - 165px);
  padding-left: 15px;
}
.ec-orderDelivery .ec-imageGrid__content__yoyaku {
  margin-bottom: 5px !important;
  color: #469bff;
  line-height: 1;
  font-size: 1rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__yoyaku {
    font-size: 1.2rem;
  }
}
.ec-orderDelivery .ec-imageGrid__content__catalogCode {
  margin-bottom: 2px !important;
  color: #666666;
  font-size: 1.2rem;
}
.ec-orderDelivery .ec-imageGrid__content__catalogCode:first-child {
  margin-top: -0.2em;
}
.ec-orderDelivery .ec-imageGrid__content__janCode {
  margin-bottom: 5px !important;
  color: #666666;
  font-size: 1.2rem;
}
.ec-orderDelivery .ec-imageGrid__content__janCode:first-child {
  margin-top: -0.35em;
}
.ec-orderDelivery .ec-imageGrid__content__name {
  margin-bottom: 5px !important;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.7;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__name a {
    transition: all 0.5s ease 0s;
  }
  .ec-orderDelivery .ec-imageGrid__content__name a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__name {
    font-size: 1.4rem;
  }
}
.ec-orderDelivery .ec-imageGrid__content__name:first-child {
  margin-top: -0.35em;
}
.ec-orderDelivery .ec-imageGrid__content__name a {
  color: currentColor;
}
.ec-orderDelivery .ec-imageGrid__content__copyright {
  margin-bottom: 5px !important;
  font-size: 1rem;
  font-weight: 300;
}
.ec-orderDelivery .ec-imageGrid__content__info {
  max-width: 280px;
}
.ec-orderDelivery .ec-imageGrid__content__info__inner {
  border-top: 1px solid #efefef;
  border-left: 1px solid #efefef;
  font-size: 1rem;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__info__inner {
    font-size: 1.2rem;
  }
}
.ec-orderDelivery .ec-imageGrid__content__info dl {
  display: flex;
  width: 100%;
  margin: 0;
  line-height: 1.2;
}
.ec-orderDelivery .ec-imageGrid__content__info dt {
  width: 66px;
  padding: 3px 5px;
  border-right: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__info dt {
    width: 76px;
  }
}
.ec-orderDelivery .ec-imageGrid__content__info dd {
  width: calc(100% - 66px);
  margin: 0;
  padding: 3px 5px;
  border-right: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__info dd {
    width: calc(100% - 76px);
  }
}
.ec-orderDelivery .ec-imageGrid__content__tradelaw {
  margin-top: 10px;
  font-size: 1.2rem;
  font-weight: bold;
}
.ec-orderDelivery .ec-imageGrid__content__price {
  margin-top: 5px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__price {
    font-size: 1.4rem;
  }
}
.ec-orderDelivery .ec-imageGrid__content__subtotal {
  margin-top: 5px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content__subtotal {
    font-size: 1.4rem;
  }
}
.ec-orderDelivery .ec-imageGrid__content .ec-inlineBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 166px;
  height: 2.2rem;
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-orderDelivery .ec-imageGrid__content .ec-inlineBtn {
    width: 166px;
    height: 2.4rem;
    font-size: 1.4rem;
  }
}
.ec-orderDelivery .ec-rectHeading {
  margin-top: 0 !important;
}

/*
注文履歴詳細 支払情報

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　支払情報(要ログイン → 詳細を見るボタン押下)](http://demo3.ec-cube.net/mypage)

Markup:
.ec-orderRole
  .ec-orderPayment
    .ec-rectHeading
      h2 お支払方法
    p 支払方法： 郵便振替

Styleguide 15.2.4
*/
.ec-orderPayment input {
  margin-top: 10px;
}
.ec-orderPayment img {
  max-height: 20px;
}

#default_choice_payment .ec-radio > div {
  display: block;
}
@media only screen and (min-width: 768px) {
  #default_choice_payment .ec-radio > div {
    display: flex;
    align-items: center;
  }
}
#default_choice_payment .ec-radio > div p {
  margin-left: 26px;
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  #default_choice_payment .ec-radio > div p {
    margin-left: 0;
    margin-bottom: 0;
  }
}

/*
注文履歴詳細 お問い合わせ

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　お問い合わせ(要ログイン → 詳細を見るボタン押下)](http://demo3.ec-cube.net/mypage)

Markup:
.ec-orderRole
  .ec-orderConfirm
    .ec-rectHeading
      h2 お問い合わせ
    p 記載なし

Styleguide 15.2.5
*/
.ec-orderConfirm .ec-input textarea, .ec-orderConfirm .ec-halfInput textarea, .ec-orderConfirm .ec-numberInput textarea, .ec-orderConfirm .ec-zipInput textarea, .ec-orderConfirm .ec-telInput textarea, .ec-orderConfirm .ec-select textarea, .ec-orderConfirm .ec-birth textarea {
  display: block;
  height: 96px;
}

/*
お届け先の複数指定

お届け先の複数指定に関するコンポーネントを定義します。

ex [マイページ　お届け先の複数指定](http://demo3.ec-cube.net/shopping/shipping_multiple)
(商品購入画面 → 「お届け先を追加する」を押下)

Markup:
include /assets/tmpl/elements/15.2.order.pug
+ec-orderAddAddress

Styleguide 15.2.6
*/
.ec-AddAddress {
  padding: 0 10px;
}
@media only screen and (min-width: 768px) {
  .ec-AddAddress {
    margin: 0 10%;
  }
}
.ec-AddAddress .ec-AddAddress__info {
  margin-bottom: 30px;
  padding-top: 30px;
  text-align: center;
  font-size: 16px;
}
.ec-AddAddress .ec-AddAddress__add {
  border-top: 1px solid #efefef;
  padding-top: 20px;
  margin-bottom: 20px;
}
.ec-AddAddress .ec-AddAddress__item {
  display: table;
  padding: 16px;
  background: #efefef;
  margin-bottom: 16px;
}
.ec-AddAddress .ec-AddAddress__itemThumb {
  display: table-cell;
  min-width: 160px;
  width: 20%;
}
.ec-AddAddress .ec-AddAddress__itemThumb img {
  width: 100%;
}
.ec-AddAddress .ec-AddAddress__itemtContent {
  display: table-cell;
  vertical-align: middle;
  padding-left: 16px;
  font-size: 16px;
}
.ec-AddAddress .ec-AddAddress__itemtTitle {
  font-weight: bold;
  margin-bottom: 10px;
}
.ec-AddAddress .ec-AddAddress__itemtSize {
  margin-bottom: 10px;
}
.ec-AddAddress .ec-AddAddress__select {
  margin-bottom: 5px;
}
.ec-AddAddress .ec-AddAddress__selectAddress {
  display: block;
}
@media only screen and (min-width: 768px) {
  .ec-AddAddress .ec-AddAddress__selectAddress {
    display: inline-block;
  }
}
.ec-AddAddress .ec-AddAddress__selectAddress label {
  font-size: 16px;
  font-weight: normal;
}
.ec-AddAddress .ec-AddAddress__selectAddress select {
  min-width: 100%;
}
@media only screen and (min-width: 768px) {
  .ec-AddAddress .ec-AddAddress__selectAddress select {
    min-width: 350px;
  }
}
.ec-AddAddress .ec-AddAddress__selectNumber {
  display: block;
}
@media only screen and (min-width: 768px) {
  .ec-AddAddress .ec-AddAddress__selectNumber {
    display: inline-block;
    margin-left: 30px;
  }
}
.ec-AddAddress .ec-AddAddress__selectNumber label {
  font-size: 16px;
  font-weight: normal;
}
.ec-AddAddress .ec-AddAddress__selectNumber input {
  display: inline-block;
  margin-left: 10px;
  width: 80px;
}
.ec-AddAddress .ec-AddAddress__actions {
  width: 270px;
  margin: 0 auto;
}
.ec-AddAddress .ec-AddAddress__actions .ec-blockBtn--action {
  margin-bottom: 15px;
}
.ec-AddAddress .ec-AddAddress__new {
  margin-bottom: 20px;
}

.ec-orderCoupon #customer_detail_box .ec-inlineBtn {
  margin-top: 10px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
注文履歴一覧

マイページ 注文履歴部に関する Project コンポーネントを定義します。

ex [マイページ　注文履歴一覧](http://demo3.ec-cube.net/mypage)
(要ログイン)

Markup:
include /assets/tmpl/elements/16.1.history.pug
+ec-historyRole

Styleguide 16.1
*/
.ec-historyRole {
  max-width: 1000px;
  margin-inline: auto;
}
.ec-historyRole__userInfo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__userInfo {
    margin-bottom: 30px;
  }
}
.ec-historyRole__userInfo__inner {
  width: 100%;
  border: 1px solid #efefef;
}
.ec-historyRole__userInfo__header {
  padding: 5px 10px;
  background: #efefef;
}
.ec-historyRole__userInfo__header p {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__userInfo__header p {
    font-size: 1.4rem;
  }
}
.ec-historyRole__userInfo__content {
  padding: 8px 10px;
  border-bottom: 1px dashed #efefef;
}
.ec-historyRole__userInfo__content p {
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__userInfo__content p {
    font-size: 1.4rem;
  }
}
.ec-historyRole__userInfo__content p:not(:last-child) {
  margin-bottom: 5px;
}
.ec-historyRole__userInfo__content span {
  display: inline;
  margin-left: 10px;
}
.ec-historyRole__userInfo__content .text-period {
  margin-left: 0;
}
.ec-historyRole__userInfo__content .ec-historyRole__userInfo__content__sub {
  font-size: 1rem;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__userInfo__content .ec-historyRole__userInfo__content__sub {
    font-size: 1.2rem;
  }
}
.ec-historyRole__count {
  margin-inline: -15px;
  padding: 10px 15px;
  border-top: 1px solid #efefef;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__count {
    margin-inline: 0;
    padding: 15px 0;
    font-size: 1.6rem;
  }
}
.ec-historyRole__content {
  display: flex;
  flex-direction: column;
  margin-inline: -15px;
  padding: 15px 15px;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__content {
    margin-inline: 0;
    padding: 30px 0 15px;
  }
}
.ec-historyRole__header {
  width: 100%;
}
.ec-historyRole .ec-historyRole__detail {
  border-top: 1px solid #efefef;
  width: 100%;
}
.ec-historyRole .ec-historyRole__detail .ec-imageGrid {
  display: flex;
  padding: 15px 0;
  border-top: 1px solid #efefef;
}
.ec-historyRole .ec-historyRole__detail .ec-imageGrid__img {
  width: 80px;
  margin-right: 10px;
  padding: 0;
}
.ec-historyRole .ec-historyRole__detail .ec-imageGrid__content {
  width: calc(100% - 90px);
}
.ec-historyRole .ec-historyRole__detail .ec-imageGrid:nth-of-type(1) {
  border-top: none;
}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__yoyaku {
  margin-bottom: 5px;
  color: #469bff;
  line-height: 1;
  font-size: 1rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__yoyaku {
    font-size: 1.2rem;
  }
}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
  margin-top: -0.35em;
  margin-bottom: 8px;
  line-height: 1.7;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
    font-size: 1.4rem;
  }
}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice {
  margin-bottom: 8px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice {
    font-size: 1.4rem;
  }
}
.ec-historyRole__noItem {
  margin-bottom: -20px;
  padding-top: 30px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-historyRole__noItem {
    margin-bottom: 0;
    padding-top: 50px;
    font-size: 1.8rem;
  }
}

/*
注文履歴一覧ヘッダ

注文履歴一覧で使用するヘッダのコンポーネントを定義します。

ex [マイページ　注文履歴一覧ヘッダ](http://demo3.ec-cube.net/mypage)
(要ログイン)

Markup:
include /assets/tmpl/elements/16.1.history.pug
+ec-historyHeader
p hofe

Styleguide 16.1.2
*/
.ec-historyListHeader {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
}
.ec-historyListHeader__date {
  display: inline-block;
  margin-right: 30px;
  font-weight: bold;
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-historyListHeader__date {
    font-size: 1.6rem;
  }
}
.ec-historyListHeader__action {
  display: inline-flex;
  width: calc(100vw - 214px);
  max-width: 166px;
  height: 2.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-historyListHeader__action {
    height: 2.4rem;
  }
}
.ec-historyListHeader__action a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-historyListHeader__action a {
    font-size: 1.4rem;
  }
}
.ec-historyListHeader .ec-definitions--soft {
  width: 100%;
  margin-top: 0;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-historyListHeader .ec-definitions--soft {
    font-size: 1.4rem;
  }
}
.ec-historyListHeader .ec-definitions--soft:first-of-type {
  margin-top: 15px;
}

/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
注文履歴詳細

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　注文詳細](http://demo3.ec-cube.net/mypage)
(要ログイン → 詳細を見るボタン押下)

Markup:
include /assets/tmpl/elements/16.2.historyDetail.pug
+ec-historyDetailRole

Styleguide 16.2
*/
/*
注文履歴詳細 メール履歴

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　メール履歴](http://demo3.ec-cube.net/mypage)
(要ログイン → 詳細を見るボタン押下)

Markup:
include /assets/tmpl/elements/16.2.historyDetail.pug
+ec-historyDetailMail

Styleguide 16.2.5
*/
.ec-orderMails .ec-orderMails__item {
  padding-bottom: 10px;
  border-bottom: 1px solid #efefef;
}
.ec-orderMails .ec-orderMails__time {
  margin: 0;
}
.ec-orderMails .ec-orderMails__body {
  display: none;
}

/*
注文履歴詳細 メール履歴個別

マイページ 注文履歴詳細部に関する Project コンポーネントを定義します。

ex [マイページ　メール履歴個別](http://demo3.ec-cube.net/mypage)
(要ログイン → 詳細を見るボタン押下)

Markup:
include /assets/tmpl/elements/16.2.historyDetail.pug
+ec-historyDetailMailHistory

Styleguide 16.2.6
*/
.ec-orderMail {
  margin-bottom: 15px;
}
.ec-orderMail:last-child {
  margin-bottom: -10px;
}
.ec-orderMail .ec-orderMail__time {
  margin-bottom: 10px;
  line-height: 1;
}
.ec-orderMail .ec-orderMail__link {
  margin-bottom: 10px;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .ec-orderMail .ec-orderMail__link a {
    transition: all 0.5s ease 0s;
  }
  .ec-orderMail .ec-orderMail__link a:hover {
    opacity: 0.7;
  }
}
.ec-orderMail .ec-orderMail__link:hover a {
  opacity: 0.7;
}
.ec-orderMail .ec-orderMail__link a {
  display: inline-block;
  padding-right: 30px;
  font-size: 1.4rem;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  position: relative;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 768px) {
  .ec-orderMail .ec-orderMail__link a {
    padding-right: 35px;
    font-size: 1.6rem;
  }
}
.ec-orderMail .ec-orderMail__link a:before {
  content: "\f0ab";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1;
  position: absolute;
  top: 0;
  right: -2px;
}
@media only screen and (min-width: 768px) {
  .ec-orderMail .ec-orderMail__link a:before {
    font-size: 2.6rem;
  }
}
.ec-orderMail .active a::before {
  content: "\f0aa";
}
.ec-orderMail .ec-orderMail__body {
  display: none;
  padding: 10px;
  border: 1px solid #efefef;
}
.ec-orderMail .ec-orderMail__close a {
  color: #0092C4;
  text-decoration: none;
  cursor: pointer;
}
.ec-orderMail .ec-orderMail__close a:hover {
  color: #33A8D0;
}

/*
住所一覧

カート 注文詳細 に関する Project コンポーネントを定義します。

ex [マイページ内 お届け先編集](http://demo3.ec-cube.net/mypage/delivery)

Markup:
include /assets/tmpl/elements/17.1.address.pug
+ec-addressList
+ec-addressRole

sg-wrapper:
<div class="ec-addressRole">
  <sg-wrapper-content/>
</div>

Styleguide 17.1

*/
.ec-addressRole .ec-addressRole__item {
  border-top: 1px solid #efefef;
}
.ec-addressRole .ec-addressRole__actions {
  margin-top: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid #efefef;
}

.ec-addressList .ec-addressList__item {
  display: table;
  width: 100%;
  position: relative;
  border-bottom: 1px solid #efefef;
}
.ec-addressList .ec-addressList__remove {
  vertical-align: middle;
  padding: 16px;
  text-align: center;
}
.ec-addressList .ec-addressList__remove .ec-icon img {
  width: 1em;
  height: 1em;
}
.ec-addressList .ec-addressList__address {
  display: table-cell;
  vertical-align: middle;
  padding: 16px;
  margin-right: 4em;
  width: 80%;
}
.ec-addressList .ec-addressList__action {
  position: relative;
  vertical-align: middle;
  text-align: right;
  top: 27px;
  padding-right: 10px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
パスワードリセット

カート 注文詳細 に関する Project コンポーネントを定義します。

ex [パスワードリセット画面](http://demo3.ec-cube.net/forgot)

(カート内に商品がある状態でアクセス)

Markup:
include /assets/tmpl/elements/18.1.password.pug
+ec-passwordRole

Styleguide 18.1

*/
.ec-forgotRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  margin-top: 20px;
}
.ec-forgotRole:after {
  content: " ";
  display: table;
}
.ec-forgotRole:after {
  clear: both;
}
.ec-forgotRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-forgotRole img {
  max-width: 100%;
  height: auto;
}
.ec-forgotRole html {
  box-sizing: border-box;
}
.ec-forgotRole *,
.ec-forgotRole *::before,
.ec-forgotRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-forgotRole {
    margin-top: 30px;
  }
}
.ec-forgotRole .ec-forgotRole__intro {
  font-size: 16px;
}
.ec-forgotRole .ec-forgotRole__form {
  margin-bottom: 16px;
}

.ec-forgetCompleteRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-forgetCompleteRole:after {
  content: " ";
  display: table;
}
.ec-forgetCompleteRole:after {
  clear: both;
}
.ec-forgetCompleteRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-forgetCompleteRole img {
  max-width: 100%;
  height: auto;
}
.ec-forgetCompleteRole html {
  box-sizing: border-box;
}
.ec-forgetCompleteRole *,
.ec-forgetCompleteRole *::before,
.ec-forgetCompleteRole *::after {
  box-sizing: inherit;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
会員登録

新規会員登録 に関する Project コンポーネントを定義します。

ex [新規会員登録画面　会員登録](http://demo3.ec-cube.net/entry)

Markup:
include /assets/tmpl/elements/19.1.register.pug
+ec-registerRole

Styleguide 19.1

*/
.ec-registerRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-registerRole:after {
  content: " ";
  display: table;
}
.ec-registerRole:after {
  clear: both;
}
.ec-registerRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-registerRole img {
  max-width: 100%;
  height: auto;
}
.ec-registerRole html {
  box-sizing: border-box;
}
.ec-registerRole *,
.ec-registerRole *::before,
.ec-registerRole *::after {
  box-sizing: inherit;
}
.ec-registerRole .ec-registerRole__actions {
  padding-top: 20px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-registerRole .ec-registerRole__actions a {
    transition: all 0.5s ease 0s;
  }
  .ec-registerRole .ec-registerRole__actions a:hover {
    opacity: 0.7;
  }
}
.ec-registerRole .ec-registerRole__actions p {
  margin-bottom: 16px;
}
.ec-registerRole .ec-registerRole__actions .agree-link {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-registerRole .ec-blockBtn--action {
  margin-top: 50px;
  margin-bottom: 30px;
}

.ec-registerCompleteRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-registerCompleteRole:after {
  content: " ";
  display: table;
}
.ec-registerCompleteRole:after {
  clear: both;
}
.ec-registerCompleteRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-registerCompleteRole img {
  max-width: 100%;
  height: auto;
}
.ec-registerCompleteRole html {
  box-sizing: border-box;
}
.ec-registerCompleteRole *,
.ec-registerCompleteRole *::before,
.ec-registerCompleteRole *::after {
  box-sizing: inherit;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
お問い合わせ

お問い合わせ に関する Project コンポーネントを定義します。

ex [お問い合わせ](http://demo3.ec-cube.net/contact)

Markup:
include /assets/tmpl/elements/19.2.contact.pug
+ec-contactRole

Styleguide 19.2

*/
.ec-contactRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-contactRole:after {
  content: " ";
  display: table;
}
.ec-contactRole:after {
  clear: both;
}
.ec-contactRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-contactRole img {
  max-width: 100%;
  height: auto;
}
.ec-contactRole html {
  box-sizing: border-box;
}
.ec-contactRole *,
.ec-contactRole *::before,
.ec-contactRole *::after {
  box-sizing: inherit;
}
.ec-contactRole .ec-contactRole__actions {
  padding-top: 20px;
}
.ec-contactRole p {
  margin: 16px 0;
}

.ec-contactConfirmRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-contactConfirmRole:after {
  content: " ";
  display: table;
}
.ec-contactConfirmRole:after {
  clear: both;
}
.ec-contactConfirmRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-contactConfirmRole img {
  max-width: 100%;
  height: auto;
}
.ec-contactConfirmRole html {
  box-sizing: border-box;
}
.ec-contactConfirmRole *,
.ec-contactConfirmRole *::before,
.ec-contactConfirmRole *::after {
  box-sizing: inherit;
}
.ec-contactConfirmRole .ec-contactConfirmRole__actions {
  padding-top: 20px;
}
.ec-contactConfirmRole .ec-blockBtn--action {
  margin-bottom: 16px;
}

.ec-contactCompleteRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-contactCompleteRole:after {
  content: " ";
  display: table;
}
.ec-contactCompleteRole:after {
  clear: both;
}
.ec-contactCompleteRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-contactCompleteRole img {
  max-width: 100%;
  height: auto;
}
.ec-contactCompleteRole html {
  box-sizing: border-box;
}
.ec-contactCompleteRole *,
.ec-contactCompleteRole *::before,
.ec-contactCompleteRole *::after {
  box-sizing: inherit;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
お客様情報の入力

ログインせずゲストとして商品を購入する際の、お客様情報の入力 に関する Project コンポーネントを定義します。

ex [カートSTEP2 お客様情報の入力(ゲスト購入)](http://demo3.ec-cube.net/shopping/nonmember)

Markup:
include /assets/tmpl/elements/19.3.customer.pug
+ec-customerRole
hoge

Styleguide 19.3

*/
.ec-customerRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-customerRole:after {
  content: " ";
  display: table;
}
.ec-customerRole:after {
  clear: both;
}
.ec-customerRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-customerRole img {
  max-width: 100%;
  height: auto;
}
.ec-customerRole html {
  box-sizing: border-box;
}
.ec-customerRole *,
.ec-customerRole *::before,
.ec-customerRole *::after {
  box-sizing: inherit;
}
.ec-customerRole .ec-customerRole__actions {
  padding-top: 20px;
}
.ec-customerRole .ec-blockBtn--action {
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-customerRole .ec-blockBtn--action {
    margin-bottom: 16px;
  }
}

.ec-contactConfirmRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-contactConfirmRole:after {
  content: " ";
  display: table;
}
.ec-contactConfirmRole:after {
  clear: both;
}
.ec-contactConfirmRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-contactConfirmRole img {
  max-width: 100%;
  height: auto;
}
.ec-contactConfirmRole html {
  box-sizing: border-box;
}
.ec-contactConfirmRole *,
.ec-contactConfirmRole *::before,
.ec-contactConfirmRole *::after {
  box-sizing: inherit;
}
.ec-contactConfirmRole .ec-contactConfirmRole__actions {
  padding-top: 20px;
}
.ec-contactConfirmRole .ec-blockBtn--action {
  margin-bottom: 16px;
}

.ec-contactCompleteRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
.ec-contactCompleteRole:after {
  content: " ";
  display: table;
}
.ec-contactCompleteRole:after {
  clear: both;
}
.ec-contactCompleteRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-contactCompleteRole img {
  max-width: 100%;
  height: auto;
}
.ec-contactCompleteRole html {
  box-sizing: border-box;
}
.ec-contactCompleteRole *,
.ec-contactCompleteRole *::before,
.ec-contactCompleteRole *::after {
  box-sizing: inherit;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
@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: 1000;
  opacity: 1;
}

/*
404ページ

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

ex [404エラー画面](http://demo3.ec-cube.net/404)

Markup:
include /assets/tmpl/elements/20.1.404.pug
+ec-404Role

Styleguide 20.1

*/
.ec-404Role {
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  height: 100vh;
  text-align: center;
  box-sizing: border-box;
}
.ec-404Role textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-404Role img {
  max-width: 100%;
  height: auto;
}
.ec-404Role html {
  box-sizing: border-box;
}
.ec-404Role *,
.ec-404Role *::before,
.ec-404Role *::after {
  box-sizing: inherit;
}
.ec-404Role .ec-404Role__icon img {
  width: 1em;
  height: 1em;
}
.ec-404Role .ec-404Role__title {
  font-weight: bold;
  font-size: 25px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
退会手続き

退会手続きで使用するページコンポーネントです。

ex [退会手続き](http://demo3.ec-cube.net/mypage/withdraw)

Markup:
include /assets/tmpl/elements/21.1.withdraw.pug
+ec-withdrawRole

Styleguide 21.1

*/
.ec-withdrawRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  text-align: center;
  padding: 0 16px;
}
.ec-withdrawRole:after {
  content: " ";
  display: table;
}
.ec-withdrawRole:after {
  clear: both;
}
.ec-withdrawRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-withdrawRole img {
  max-width: 100%;
  height: auto;
}
.ec-withdrawRole html {
  box-sizing: border-box;
}
.ec-withdrawRole *,
.ec-withdrawRole *::before,
.ec-withdrawRole *::after {
  box-sizing: inherit;
}
.ec-withdrawRole .ec-withdrawRole__title {
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 24px;
}
.ec-withdrawRole .ec-withdrawRole__description {
  margin-bottom: 32px;
  font-size: 16px;
}
.ec-withdrawRole .ec-icon img {
  width: 100px;
  height: 100px;
}

/*
退会手続き実行確認

退会手続き実行確認で使用するページコンポーネントです。

ex [退会手続き　退会手続きへボタン→押下](http://demo3.ec-cube.net/mypage/withdraw)

Markup:
include /assets/tmpl/elements/21.1.withdraw.pug
+ec-withdrawConfirm

Styleguide 21.1.2

*/
.ec-withdrawConfirmRole .ec-withdrawConfirmRole__cancel {
  margin-bottom: 20px;
}
.ec-withdrawConfirmRole .ec-withdrawConfirmRole__title {
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 24px;
}
.ec-withdrawConfirmRole .ec-withdrawConfirmRole__description {
  margin-bottom: 32px;
  font-size: 16px;
}
.ec-withdrawConfirmRole .ec-icon img {
  width: 100px;
  height: 100px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
会員情報編集完了

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

ex [会員情報編集完了](http://demo3.ec-cube.net/mypage/change_complete)

Markup:
include /assets/tmpl/elements/22.1.editComplete.pug
+ec-userEditCompleteRole

Styleguide 22.1

*/
.ec-userEditCompleteRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  text-align: center;
  padding: 0 16px;
}
.ec-userEditCompleteRole:after {
  content: " ";
  display: table;
}
.ec-userEditCompleteRole:after {
  clear: both;
}
.ec-userEditCompleteRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-userEditCompleteRole img {
  max-width: 100%;
  height: auto;
}
.ec-userEditCompleteRole html {
  box-sizing: border-box;
}
.ec-userEditCompleteRole *,
.ec-userEditCompleteRole *::before,
.ec-userEditCompleteRole *::after {
  box-sizing: inherit;
}
.ec-userEditCompleteRole .ec-userEditCompleteRole__title {
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 24px;
}
@media only screen and (min-width: 768px) {
  .ec-userEditCompleteRole .ec-userEditCompleteRole__title {
    font-size: 32px;
  }
}
.ec-userEditCompleteRole .ec-userEditCompleteRole__description {
  margin-bottom: 32px;
  font-size: 16px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
 * 子カテゴリー一覧　Product/list.twig
 */
.ec-categoryChildrenRole {
  margin: -20px auto 20px;
  padding-inline: 15px;
  border-bottom: 1px solid #efefef;
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .ec-categoryChildrenRole {
    margin-top: 0;
    margin-bottom: 30px;
    border: none;
    overflow-x: hidden;
  }
}
.ec-categoryChildrenRole__list {
  list-style: none;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 -5px;
  padding: 10px 0;
}
@media only screen and (min-width: 768px) {
  .ec-categoryChildrenRole__list a {
    transition: all 0.5s ease 0s;
  }
  .ec-categoryChildrenRole__list a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-categoryChildrenRole__list {
    flex-wrap: wrap;
    width: 100%;
    margin-inline: 0;
    padding: 15px;
    background: #efefef;
  }
}
.ec-categoryChildrenRole__item {
  padding: 0 5px;
}
@media only screen and (min-width: 768px) {
  .ec-categoryChildrenRole__item {
    padding: 5px;
  }
}
.ec-categoryChildrenRole__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 18px;
  border: 2px solid #efefef;
  border-radius: 10px;
  background: #fff;
  color: currentColor;
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .ec-categoryChildrenRole__item a {
    height: 44px;
    font-size: 1.4rem;
    font-weight: bold;
  }
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
 * カテゴリーヘッダー　Product/list.twig
 */
.ec-categoryHeaderRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  position: relative;
}
.ec-categoryHeaderRole:after {
  content: " ";
  display: table;
}
.ec-categoryHeaderRole:after {
  clear: both;
}
.ec-categoryHeaderRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-categoryHeaderRole img {
  max-width: 100%;
  height: auto;
}
.ec-categoryHeaderRole html {
  box-sizing: border-box;
}
.ec-categoryHeaderRole *,
.ec-categoryHeaderRole *::before,
.ec-categoryHeaderRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryHeaderRole {
    display: flex;
  }
}
.ec-categoryHeaderRole:after {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryHeaderRole__text {
    width: 100%;
    margin: auto 0;
  }
  .has_image .ec-categoryHeaderRole__text {
    width: 50%;
  }
}
.ec-categoryHeaderRole__text__title {
  margin: 0 auto 20px;
  font-size: 1.8rem;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryHeaderRole__text__title {
    font-size: 3rem;
  }
}
.ec-categoryHeaderRole__text__desc {
  margin: 20px 0 0;
  padding-bottom: 20px;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryHeaderRole__text__desc {
    padding-bottom: 30px;
    font-size: 1.8rem;
  }
}
.ec-categoryHeaderRole__image {
  width: calc(100% + 2 * 15px);
  margin-inline: calc(-15px);
  padding-bottom: 60px;
}
@media only screen and (min-width: 1100px) {
  .ec-categoryHeaderRole__image {
    width: 100%;
    margin: 0;
    padding-inline: calc(6.8% + 30px) 6.8%;
  }
  .has_image .ec-categoryHeaderRole__image {
    width: 50%;
  }
}
.ec-categoryHeaderRole__image #category_slider img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
.ec-categoryHeaderRole__image #category_slider img:not(:first-child) {
  display: none;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
.ec-guideRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  max-width: calc(1000px + 2 * 15px);
  font-size: 1.4rem;
  line-height: 1.7;
}
.ec-guideRole:after {
  content: " ";
  display: table;
}
.ec-guideRole:after {
  clear: both;
}
.ec-guideRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-guideRole img {
  max-width: 100%;
  height: auto;
}
.ec-guideRole html {
  box-sizing: border-box;
}
.ec-guideRole *,
.ec-guideRole *::before,
.ec-guideRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-guideRole a {
    transition: all 0.5s ease 0s;
  }
  .ec-guideRole a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-guideRole {
    font-size: 1.8rem;
  }
}
.ec-guideRole > section {
  margin-bottom: 50px;
  padding-top: 50px;
  border-top: 1px solid #efefef;
}
.ec-guideRole > section:first-of-type {
  border-top: none;
}
.ec-guideRole > section:last-child {
  margin-bottom: 0;
}
.ec-guideRole h2, .ec-guideRole .h2 {
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .ec-guideRole h2, .ec-guideRole .h2 {
    font-size: 2.6rem;
  }
}
.ec-guideRole h3, .ec-guideRole .h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  padding-left: 15px;
  border-left: 5px solid #efefef;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .ec-guideRole h3, .ec-guideRole .h3 {
    font-size: 2.4rem;
  }
}
.ec-guideRole h4, .ec-guideRole .h4 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-guideRole h4, .ec-guideRole .h4 {
    font-size: 2rem;
  }
}
.ec-guideRole p {
  margin-bottom: 10px;
  text-align: justify;
  word-break: break-all;
}
.ec-guideRole a {
  color: #469bff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-guideRole__nav {
  margin-bottom: 20px;
  padding-top: 20px;
}
.ec-guideRole__nav__preface {
  margin-bottom: 20px;
  font-weight: bold;
}
.ec-guideRole__nav dt {
  margin: 20px 0 10px;
}
.ec-guideRole__nav dt::before {
  content: "▼";
  display: inline-block;
  margin-right: 5px;
}
.ec-guideRole__nav dt a {
  color: inherit;
}
.ec-guideRole__nav dd {
  margin: 5px 0;
}
.ec-guideRole__nav dd a {
  color: inherit;
  text-decoration: underline;
}
.ec-guideRole .page-content__card {
  display: flex;
  align-items: center;
}
.ec-guideRole .page-content__card > div {
  padding: 0 1%;
}
.ec-guideRole .payment-logo {
  width: 200px;
  display: inline-block;
  padding: 0 5px;
}
.ec-guideRole .payment-logo-au {
  width: 140px;
  display: inline-block;
}
.ec-guideRole .gmo-link {
  display: inline-block;
  margin: 10px 5px;
}

.new-member h4, .new-member .h4 {
  margin: 20px 0 15px;
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .new-member h4, .new-member .h4 {
    font-size: 2.6rem;
  }
}
.new-member__contents {
  padding: 0;
  margin: 20px auto;
  line-height: 1.7;
}
.new-member__header {
  padding: 20px;
  background: #f6d471;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 3px;
  color: #fff;
  display: flex;
  justify-content: space-around;
}
@media only screen and (min-width: 1100px) {
  .new-member__header {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .new-member__header {
    font-size: 2.4rem;
  }
}
.new-member__header div span {
  vertical-align: middle;
}
.new-member__header img {
  max-width: 50px;
}
@media only screen and (min-width: 1100px) {
  .new-member__header img {
    max-width: 100px;
  }
}
@media only screen and (min-width: 768px) {
  .new-member__header img {
    max-width: 80px;
  }
}
.new-member__heading {
  font-size: 2rem;
  margin-bottom: 10px;
  font-weight: bold;
}
@media only screen and (min-width: 1100px) {
  .new-member__heading {
    font-size: 2.2rem;
  }
}
.new-member__text {
  padding: 10px 20px;
}
.new-member__business-list {
  line-height: 1.7;
}
.new-member__business-list li span {
  font-weight: bold;
}
.new-member__business-list li::before {
  content: "■";
  color: #274a78;
}
.new-member__paid-text {
  border: 1px solid #274a78;
  border-radius: 5px;
  padding: 10px;
  line-height: 1.7;
  font-size: 1.4rem;
}
.new-member__accent {
  display: inline-block;
  line-height: 1.4;
  border-bottom: 3px solid #fcf1d1;
  margin-bottom: 5px;
  font-weight: bold;
}
.new-member__annotation {
  font-size: 1.2rem;
  line-height: 1.4;
}
.new-member__table, .new-member__table--sp {
  display: none;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .new-member__table, .new-member__table--sp {
    display: table;
  }
}
.new-member__table th, .new-member__table--sp th, .new-member__table td, .new-member__table--sp td {
  padding: 10px;
  border: 2px solid #ffffff;
}
.new-member__table thead th, .new-member__table--sp thead th {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .new-member__table thead th, .new-member__table--sp thead th {
    text-align: center;
  }
}
.new-member__table thead th span, .new-member__table--sp thead th span {
  display: inline-block;
  line-height: 1.4;
  background: url("../img/common/crown.png") no-repeat 0 center/20px;
  padding-left: 30px;
}
@media only screen and (min-width: 768px) {
  .new-member__table thead th span, .new-member__table--sp thead th span {
    background-position: center 0;
    padding-top: 16px;
    padding-left: 0;
  }
}
.new-member__table td, .new-member__table--sp td {
  font-size: 1.2rem;
}
.new-member__table tbody th, .new-member__table--sp tbody th {
  text-align: left;
  font-size: 1.4rem;
}
@media only screen and (min-width: 1100px) {
  .new-member__table tbody th, .new-member__table--sp tbody th {
    font-size: 1.6rem;
  }
}
.new-member__table tbody th:first-child, .new-member__table--sp tbody th:first-child {
  background: #FCF1D1;
}
@media only screen and (min-width: 768px) {
  .new-member__table tbody span, .new-member__table--sp tbody span {
    display: block;
  }
}
.new-member__table--sp {
  display: table;
}
@media only screen and (min-width: 768px) {
  .new-member__table--sp {
    display: none;
  }
}
.new-member__table--sp thead {
  margin-top: 20px;
}
.new-member__silver {
  background-color: #c9caca;
  color: #ffffff;
}
.new-member__silver--th {
  background-color: #e3e3e3;
  color: #969797;
}
.new-member__gold {
  background-color: #e6b82e;
  color: #ffffff;
}
.new-member__gold--th {
  background-color: #f1d789;
  color: #9b7913;
}
.new-member__platinum {
  background-color: #5DD2FF;
  color: #ffffff;
}
.new-member__platinum--th {
  background-color: #c3eeff;
  color: #00b2f6;
}
.new-member__discount-number {
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (min-width: 1100px) {
  .new-member__discount-number {
    font-size: 2rem;
  }
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
.ec-largeModal {
  display: none;
}
.ec-largeModal.show {
  display: block;
}
.ec-largeModal__wrap, .ec-largeModal__wrap--suggest {
  position: relative;
  background-color: #fff;
  width: 100%;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__wrap, .ec-largeModal__wrap--suggest {
    max-width: 1280px;
    height: auto;
    max-height: calc(100vh - 15px - 15px);
    border-radius: 20px;
    box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
  }
}
.ec-largeModal.show .ec-largeModal__wrap, .ec-largeModal.show .ec-largeModal__wrap--suggest {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal.show .ec-largeModal__wrap, .ec-largeModal.show .ec-largeModal__wrap--suggest {
    padding: 0 20px 20px;
    height: auto;
    width: calc(100% - 15px - 15px);
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.ec-largeModal.show .ec-largeModal__wrap--suggest {
  position: relative;
  padding: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal.show .ec-largeModal__wrap--suggest {
    padding: 0;
    border-radius: 0;
    top: 2px;
    left: auto;
    transform: none;
  }
}
.ec-largeModal__close, .ec-largeModal__close--suggest {
  cursor: pointer;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  height: 24px;
  width: 24px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__close, .ec-largeModal__close--suggest {
    right: 0;
    height: 30px;
    width: 30px;
  }
}
.ec-largeModal__close--suggest {
  background: none;
  border: none;
  padding: 0;
  top: 10px;
  right: 15px;
  transform: none;
  color: inherit;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__close--suggest {
    top: 10px;
    right: 15px;
  }
}
.ec-largeModal__close--suggest:focus, .ec-largeModal__close--suggest:focus-visible {
  outline: #337ab7 auto 1px;
  outline-offset: 1px;
}
.ec-largeModal__close i, .ec-largeModal__close--suggest i {
  font-size: 24px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__close i, .ec-largeModal__close--suggest i {
    font-size: 30px;
  }
}
.ec-largeModal__box {
  text-align: center;
}
.ec-largeModal .ec-role, .ec-largeModal .ec-role--800 {
  margin-top: 20px;
}
.ec-largeModal__header {
  position: relative;
}
.ec-largeModal__header + .ec-largeModal__contents {
  border-top: 1px solid #efefef;
}
.ec-largeModal__wrap--suggest .ec-largeModal__header + .ec-largeModal__contents {
  border-top: none;
}
.ec-largeModal__title {
  font-size: 16px;
  font-weight: bold;
  padding: 16px 40px;
  line-height: 1;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__title {
    font-size: 20px;
    padding: 20px 30px;
  }
}
.ec-largeModal__contents {
  display: none;
  height: calc(100vh - 54px);
  overflow: auto;
  overscroll-behavior-y: contain;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__contents {
    height: auto;
    max-height: calc(100vh - 165px);
  }
}
.ec-oshiraseModal .ec-largeModal__contents {
  height: calc(100vh - 48px);
}
.ec-largeModal.show .ec-largeModal__contents {
  display: block;
}
.ec-largeModal__contents__inner {
  padding-bottom: 80px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__contents__inner {
    padding-bottom: 0;
  }
}
.ec-largeModal__content, .ec-largeModal__content--oshirase, .ec-largeModal__content--suggest, .ec-largeModal__content--hierarchy, .ec-largeModal__content--searchProduct {
  background: #fff;
  padding: 10px 15px;
}
.ec-largeModal__content + .ec-largeModal__content, .ec-largeModal__content--oshirase + .ec-largeModal__content, .ec-largeModal__content + .ec-largeModal__content--oshirase, .ec-largeModal__content--oshirase + .ec-largeModal__content--oshirase, .ec-largeModal__content--suggest + .ec-largeModal__content, .ec-largeModal__content--suggest + .ec-largeModal__content--oshirase, .ec-largeModal__content + .ec-largeModal__content--suggest, .ec-largeModal__content--oshirase + .ec-largeModal__content--suggest, .ec-largeModal__content--suggest + .ec-largeModal__content--suggest, .ec-largeModal__content--hierarchy + .ec-largeModal__content, .ec-largeModal__content--hierarchy + .ec-largeModal__content--oshirase, .ec-largeModal__content--hierarchy + .ec-largeModal__content--suggest, .ec-largeModal__content + .ec-largeModal__content--hierarchy, .ec-largeModal__content--oshirase + .ec-largeModal__content--hierarchy, .ec-largeModal__content--suggest + .ec-largeModal__content--hierarchy, .ec-largeModal__content--hierarchy + .ec-largeModal__content--hierarchy, .ec-largeModal__content--searchProduct + .ec-largeModal__content, .ec-largeModal__content--searchProduct + .ec-largeModal__content--oshirase, .ec-largeModal__content--searchProduct + .ec-largeModal__content--suggest, .ec-largeModal__content--searchProduct + .ec-largeModal__content--hierarchy, .ec-largeModal__content + .ec-largeModal__content--searchProduct, .ec-largeModal__content--oshirase + .ec-largeModal__content--searchProduct, .ec-largeModal__content--suggest + .ec-largeModal__content--searchProduct, .ec-largeModal__content--hierarchy + .ec-largeModal__content--searchProduct, .ec-largeModal__content--searchProduct + .ec-largeModal__content--searchProduct {
  border-top: 1px solid #efefef;
}
.ec-largeModal__content__title {
  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 10px;
  line-height: 1;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content__title {
    font-size: 2rem;
    padding-bottom: 15px;
  }
}
.ec-largeModal__content__title:has(button) {
  display: flex;
  align-items: center;
}
.ec-largeModal__content__item {
  padding: 0;
}
.ec-largeModal__content__item + .ec-largeModal__content__item {
  border-top: 1px solid #efefef;
}
.ec-largeModal__content--suggest .ec-largeModal__content__item + .ec-largeModal__content__title {
  margin-top: 20px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--suggest .ec-largeModal__content__item + .ec-largeModal__content__title {
    margin-top: 30px;
  }
}
.ec-largeModal__content--searchProduct {
  margin: 0 5px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--searchProduct {
    margin: 0;
    padding: 15px 0;
    background: #fff;
  }
}
.ec-largeModal__content--hierarchy {
  padding: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--hierarchy {
    padding: 15px 0 0;
  }
}
.ec-largeModal__content--hierarchy .ec-largeModal__content__title {
  padding-top: 10px;
  padding-left: 10px;
  padding-bottom: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--hierarchy .ec-largeModal__content__title {
    padding-top: 15px;
    padding-left: 0;
  }
}
.ec-largeModal__content--hierarchy ul.ec-largeModal__content__item {
  list-style: none;
  margin-bottom: 0;
}
.ec-largeModal__content--hierarchy ul.ec-largeModal__content__item li:first-child {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--hierarchy ul.ec-largeModal__content__item li:first-child {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 0;
  }
}
.ec-largeModal__content--hierarchy ul.ec-largeModal__content__item ul {
  border-top: 1px solid #efefef;
  border-left: 10px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--hierarchy ul.ec-largeModal__content__item ul {
    border-left: none;
    padding-left: 20px;
  }
}
.ec-largeModal__content--suggest {
  padding: 30px 15px 15px;
}
.ec-largeModal__content--suggest .ec-largeModal__content__title {
  padding-bottom: 15px;
}
.ec-headerSearch__suggest .ec-largeModal__content--suggest {
  display: none;
}
.ec-largeModal__content--oshirase {
  padding: 20px 0;
  max-width: 1030px;
  margin: auto;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--oshirase {
    padding: 30px 15px;
  }
}
.ec-largeModal__content--oshirase .ec-largeModal__content__title {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 0 15px 5px;
  border-bottom: 1px solid #efefef;
}
.ec-largeModal__content--oshirase .ec-largeModal__content__title a {
  color: inherit;
  text-decoration: none;
}
.ec-largeModal__content--oshirase .ec-largeModal__content__title a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-largeModal__content--oshirase .ec-largeModal__content__title a {
    transition: all 0.5s ease 0s;
  }
  .ec-largeModal__content--oshirase .ec-largeModal__content__title a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--oshirase .ec-largeModal__content__title {
    padding: 0 0 15px;
  }
}
.ec-largeModal__content--oshirase .ec-largeModal__content__title a {
  font-size: 12px;
  line-height: 1;
  font-weight: normal;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--oshirase .ec-largeModal__content__title a {
    font-size: 16px;
  }
}
.ec-largeModal__content--oshirase .ec-largeModal__content__title a i {
  font-size: 14px;
}
@media only screen and (min-width: 1100px) {
  .ec-largeModal__content--oshirase .ec-largeModal__content__title a i {
    font-size: 18px;
  }
}
.ec-largeModal__content--oshirase + .ec-largeModal__content--oshirase {
  border-top: none;
}

.btn_history_delete--all {
  display: flex;
  align-items: center;
  margin-left: 0.5em;
  padding: 0.5em;
  border: none;
  border-radius: 0.3em;
  font-size: 0.8em;
  color: inherit;
  transition: all 0.5s ease 0s;
}
.btn_history_delete--all:hover {
  opacity: 0.7;
}
.btn_history_delete--all i {
  margin-right: 0.1em;
  font-size: 1.2em;
  transform: translateY(1px);
}

.btn_history_delete {
  display: flex;
  align-items: center;
  padding: 0;
  border: none;
  background: none;
  font-size: 1.2rem;
  color: #aaa;
  white-space: nowrap;
  transition: all 0.5s ease 0s;
}
@media only screen and (min-width: 1100px) {
  .btn_history_delete {
    font-size: 1.6rem;
  }
}
.btn_history_delete:hover {
  opacity: 0.7;
}
.btn_history_delete i {
  margin-right: 0.1em;
  font-size: 1.2em;
  transform: translateY(1px);
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
新商品　new_item.twig
おすすめ商品 recommend_product_block.twig
*/
.ec-linkShelfRole {
  position: relative;
  padding-top: 50px;
  margin-bottom: 50px;
}
.ec-linkShelfRole:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfRole:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
.ec-linkShelfRole:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfRole {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1310px;
    margin-bottom: 50px;
    padding-top: 100px;
    padding-bottom: 50px;
  }
  .ec-linkShelfRole:after {
    content: " ";
    display: table;
  }
  .ec-linkShelfRole:after {
    clear: both;
  }
  .ec-linkShelfRole textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
  }
  .ec-linkShelfRole img {
    max-width: 100%;
    height: auto;
  }
  .ec-linkShelfRole html {
    box-sizing: border-box;
  }
  .ec-linkShelfRole *,
  .ec-linkShelfRole *::before,
  .ec-linkShelfRole *::after {
    box-sizing: inherit;
  }
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfRole__listLink a {
    transition: all 0.5s ease 0s;
  }
  .ec-linkShelfRole__listLink a:hover {
    opacity: 0.7;
  }
}
.ec-linkShelfRole__listLink .ec-blockBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 271px;
  height: 43px;
  margin: 0 auto;
  border-radius: 3px;
  border: none;
  background: #469bff;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfRole__listLink .ec-blockBtn {
    height: 50px;
    font-size: 2rem;
  }
}
.ec-recommendRole .ec-linkShelfRole__listLink .ec-blockBtn {
  background: #FFA0A0;
}

.ec-linkShelfGrid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1030px;
  margin: 0 auto 37px;
  padding: 0;
  list-style: none;
}
.ec-linkShelfGrid a {
  color: inherit;
  text-decoration: none;
}
.ec-linkShelfGrid a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfGrid {
    max-width: calc(100% - 170px);
    margin: 0 auto 40px;
    padding-inline: 0;
  }
}
@media only screen and (min-width: 1210px) {
  .ec-linkShelfGrid {
    max-width: 1030px;
  }
}
.ec-linkShelfGrid .slick-list {
  padding-inline: 12%;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfGrid .slick-list {
    padding-inline: 0;
  }
}
.ec-linkShelfGrid__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px 15px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfGrid__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-linkShelfGrid__item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfGrid__item {
    width: 50%;
    min-height: 300px;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-linkShelfGrid__item {
    width: 33.3333333333%;
    min-height: 319px;
  }
}
.ec-linkShelfGrid__item img {
  width: 100%;
  max-height: 100%;
  aspect-ratio: 1/1;
  margin-bottom: 10px;
}
.ec-linkShelfGrid__item__release {
  margin-bottom: 5px;
  color: #469bff;
  font-size: 1rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfGrid__item__release {
    font-size: 1.2rem;
  }
}
.ec-linkShelfGrid__item__name {
  margin-bottom: 5px;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-linkShelfGrid__item__name {
    font-size: 1.4rem;
  }
}
.ec-linkShelfGrid__item__copyright {
  font-size: 1rem;
  font-weight: 300;
  text-align: justify;
  word-break: break-all;
}
.ec-linkShelfGrid__item__tagList {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0;
  position: absolute;
  top: 10px;
  left: 15px;
}
.ec-linkShelfGrid__item__tagList span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 9px;
  border-radius: 3px;
  background: #469bff;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
}

.ec-linkShelfGrid.slick-slider .slick-arrow {
  width: 100%;
  padding-top: 36%;
  position: absolute;
  top: 0;
  z-index: 1;
  pointer-events: none;
}
@media only screen and (min-width: 1100px) {
  .ec-linkShelfGrid.slick-slider .slick-arrow {
    padding-top: 24%;
  }
}
.ec-linkShelfGrid.slick-slider .arrow {
  width: 90px;
  height: 90px;
  border: none;
  background: none;
  position: absolute;
  bottom: 0;
  pointer-events: all;
}
.ec-linkShelfGrid.slick-slider .arrow:hover:before, .ec-linkShelfGrid.slick-slider .arrow:focus-visible:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.3);
}
.ec-linkShelfGrid.slick-slider .arrow:after {
  content: "";
  width: 38px;
  height: 38px;
  border-top: 5px solid #efefef;
  border-right: 5px solid #efefef;
  position: absolute;
  top: 50%;
  left: 50%;
}
.ec-linkShelfGrid.slick-slider .prev {
  right: 100%;
}
.ec-linkShelfGrid.slick-slider .prev:after {
  transform: translate(-22%, -50%) rotate(-135deg);
}
.ec-linkShelfGrid.slick-slider .next {
  left: 100%;
}
.ec-linkShelfGrid.slick-slider .next::after {
  transform: translate(-72%, -50%) rotate(45deg);
}
.ec-linkShelfGrid.slick-slider .arrow.slick-disabled:before {
  border-color: transparent;
}

#recommend_slider .ec-linkShelfGrid__item:not(:first-child),
.newItem_slider .ec-linkShelfGrid__item:not(:first-child) {
  display: none;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
商品情報　popup
 */
.modal-open {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .modal-open {
    padding-right: 15px;
  }
}

.modal {
  display: none;
  width: 100vw;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
@media only screen and (min-width: 768px) {
  .modal {
    padding-right: 15px;
    pointer-events: none;
  }
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
  pointer-events: auto;
}

.modal-content {
  position: relative;
  background-color: #F3F3F3;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}

.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}

.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.modal-header {
  padding: 16px 55px 16px 16px;
  min-height: 16.42857143px;
}

.modal-header .close {
  padding: 0 10px;
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 2.6rem;
}

.modal-header .close:hover {
  opacity: 0.8;
}

.modal-title {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.42857143;
}

.modal-body {
  position: relative;
  padding: 0 16px 16px;
}
.modal-body__inner {
  background: #ffffff;
  padding: 5px;
}
.modal-body__title {
  font-weight: bold;
  text-align: center;
  padding: 5px;
  border-bottom: 2px solid #469bff;
}
.modal-body__list, .modal-body__list--ticket, .modal-body__list--difficulty {
  font-size: 1.2rem;
  margin: 10px auto 0;
}
.modal-body__list:after, .modal-body__list--ticket:after, .modal-body__list--difficulty:after {
  content: "";
  display: table;
  clear: both;
}
.modal-body__list dt, .modal-body__list--ticket dt, .modal-body__list--difficulty dt, .modal-body__list dd, .modal-body__list--ticket dd, .modal-body__list--difficulty dd {
  margin-bottom: 5px;
}
.modal-body__list dt, .modal-body__list--ticket dt, .modal-body__list--difficulty dt {
  float: left;
}
.modal-body__list--difficulty {
  width: 12em;
}
.modal-body__list--difficulty dt {
  width: 6em;
}
.modal-body__list--difficulty dd {
  margin-left: 6em;
}
.modal-body__list--ticket {
  width: 22em;
}
.modal-body__list--ticket dt {
  width: 5em;
  font-weight: bold;
}
.modal-body__list--ticket dd {
  margin-left: 5em;
}
.modal-body__contents, .modal-body__contents--ticket, .modal-body__contents--difficulty {
  font-size: 1.2rem;
  margin: 10px auto 0;
  line-height: 1.7;
}
.modal-body__contents br, .modal-body__contents--ticket br, .modal-body__contents--difficulty br {
  height: 1em;
}
.modal-footer {
  padding: 16px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}

.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}

.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}

.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    max-width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
}
/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
ビジネス会員登録
*/
.new-member__text {
  padding: 10px 20px;
}
.new-member__business-list {
  list-style: none;
  line-height: 1.7;
}
.new-member__business-list li span {
  font-weight: bold;
}
.new-member__business-list li::before {
  content: "■";
  color: #274a78;
}
.new-member__paid-text {
  border: 1px solid #274a78;
  border-radius: 5px;
  padding: 10px;
  line-height: 1.7;
  font-size: 1.4rem;
}
.new-member__paid-text p,
.new-member__paid-text ~ #confirm_box__message {
  margin-top: 1em;
  margin-bottom: 1em;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
フッター　閲覧履歴
*/
.ec-productHistoryRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  position: relative;
  padding-top: 50px;
  margin-bottom: 50px;
}
.ec-productHistoryRole:after {
  content: " ";
  display: table;
}
.ec-productHistoryRole:after {
  clear: both;
}
.ec-productHistoryRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-productHistoryRole img {
  max-width: 100%;
  height: auto;
}
.ec-productHistoryRole html {
  box-sizing: border-box;
}
.ec-productHistoryRole *,
.ec-productHistoryRole *::before,
.ec-productHistoryRole *::after {
  box-sizing: inherit;
}
.ec-productHistoryRole:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-productHistoryRole:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
.ec-productHistoryRole:last-child {
  margin-bottom: 0;
}
.ec-productHistoryRole__itemList {
  list-style: none;
  margin: 0 -10px;
  padding: 0;
}
.ec-productHistoryRole__item {
  padding: 0 10px;
}
@media only screen and (min-width: 768px) {
  .ec-productHistoryRole__item {
    width: 100px;
  }
}
.ec-productHistoryRole .slick-slider {
  margin-bottom: 0;
}
.ec-productHistoryRole .slick-list {
  margin-right: -5px;
  margin-left: -5px;
  padding-right: 15%;
  padding-left: 5px;
}
@media only screen and (min-width: 768px) {
  .ec-productHistoryRole .slick-list {
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
  }
}
.ec-productHistoryRole .slick-track {
  margin-left: 0;
}

#historySlider .ec-productHistoryRole__item:not(:first-child) {
  display: none;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
 * 関連ワード　Product/list.twig
 */
.ec-relatedWordRole {
  display: none;
  flex-direction: column;
  width: 100%;
  margin: 0 auto;
  padding-top: 8px;
  border-top: 1px solid #efefef;
  font-size: 1.2rem;
  white-space: nowrap;
}
.ec-relatedWordRole a {
  color: inherit;
  text-decoration: none;
}
.ec-relatedWordRole a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-relatedWordRole a {
    transition: all 0.5s ease 0s;
  }
  .ec-relatedWordRole a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-relatedWordRole {
    flex-direction: row;
    max-width: 1310px;
    margin-bottom: 0;
    padding: 15px 15px 0;
    border: 0;
  }
}
.ec-relatedWordRole.show {
  display: flex;
}
.ec-relatedWordRole__header {
  margin-bottom: 5px;
  padding-left: 15px;
}
@media only screen and (min-width: 1100px) {
  .ec-relatedWordRole__header {
    margin-bottom: 0;
    padding-top: 6px;
    padding-left: 0;
  }
}
.ec-relatedWordRole__body {
  padding-inline: 15px;
  padding-bottom: 8px;
  overflow-x: auto;
}
@media only screen and (min-width: 1100px) {
  .ec-relatedWordRole__body {
    padding: 0;
    overflow-x: hidden;
  }
}
.ec-relatedWordRole ul {
  list-style: none;
  display: flex;
  gap: 10px;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-relatedWordRole ul {
    flex-wrap: wrap;
  }
}
.ec-relatedWordRole li a {
  display: block;
  padding: 5px;
  border: 1px solid #000;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
商品レビュー
*/
.review, .review--pc, .review--sp {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
}
@media only screen and (min-width: 768px) {
  .review a, .review--pc a, .review--sp a {
    transition: all 0.5s ease 0s;
  }
  .review a:hover, .review--pc a:hover, .review--sp a:hover {
    opacity: 0.7;
  }
}
.review:after, .review--pc:after, .review--sp:after {
  content: " ";
  display: table;
}
.review:after, .review--pc:after, .review--sp:after {
  clear: both;
}
.review textarea, .review--pc textarea, .review--sp textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.review img, .review--pc img, .review--sp img {
  max-width: 100%;
  height: auto;
}
.review html, .review--pc html, .review--sp html {
  box-sizing: border-box;
}
.review *, .review--pc *, .review--sp *,
.review *::before,
.review--pc *::before,
.review--sp *::before,
.review *::after,
.review--pc *::after,
.review--sp *::after {
  box-sizing: inherit;
}
.review__inner {
  margin-inline: -15px;
  padding: 30px 15px 20px;
  border-top: 1px solid #efefef;
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .review__inner {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 1100px) {
  .review__inner {
    margin-inline: 0;
    padding: 30px 20px;
  }
}
.review--sp {
  width: auto;
  margin-inline: -15px;
  padding: 20px 15px;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 1100px) {
  .review--sp {
    display: none;
  }
}
.review--pc {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .review--pc {
    display: block;
    padding: 30px 20px;
    border-top: 1px solid #efefef;
  }
}
.review__header {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .review__header {
    margin-bottom: 20px;
    font-size: 2.4rem;
  }
  #product_review_area .review__header {
    margin-bottom: 5px;
  }
}
.review__header h3, .review__header .h3 {
  display: inline-block;
  margin: 0;
  font-size: inherit;
  font-weight: bold;
}
.review__count {
  margin-left: 15px;
}
@media only screen and (min-width: 768px) {
  #product_review_area .review__count {
    margin-left: 10px;
    font-size: 1.8rem;
  }
}
.review__link {
  margin-left: 25px;
  color: currentColor !important;
  font-size: 1.4rem;
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: 2.4px;
}
@media only screen and (min-width: 768px) {
  .review__link {
    font-size: 1.6rem;
  }
}
.review__star {
  font-weight: bold;
}
.review__star__count {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .review__star__count {
    font-size: 1.8rem;
  }
}
#product_review_area .review__star {
  margin-bottom: 30px;
}
.review__star span {
  vertical-align: middle;
  line-height: 1;
}
.review .review_list, .review--sp .review_list, .review--pc .review_list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .review .review_list, .review--sp .review_list, .review--pc .review_list {
    font-size: 1.6rem;
  }
}
.review .review_list li, .review--sp .review_list li, .review--pc .review_list li {
  margin: 0 0 30px;
  padding: 0;
}
.review .review_list li:not(:first-child), .review--sp .review_list li:not(:first-child), .review--pc .review_list li:not(:first-child) {
  display: none;
}
.review .review_date, .review--sp .review_date, .review--pc .review_date {
  margin-bottom: 10px;
}
.review .review_date span, .review--sp .review_date span, .review--pc .review_date span {
  display: inline-block;
}
.review .review_title, .review--sp .review_title, .review--pc .review_title {
  margin-bottom: 10px;
  margin-left: 1px;
}
.review .recommend_average, .review--sp .recommend_average, .review--pc .recommend_average,
.review .recommend_level,
.review--sp .recommend_level,
.review--pc .recommend_level {
  color: #f6d471;
}
.review .recommend_average .negative, .review--sp .recommend_average .negative, .review--pc .recommend_average .negative,
.review .recommend_level .negative,
.review--sp .recommend_level .negative,
.review--pc .recommend_level .negative {
  color: #efefef;
}
.review .recommend_average, .review--sp .recommend_average, .review--pc .recommend_average {
  margin-left: 12px;
  font-size: 1.8rem;
}
.review .recommend_level, .review--sp .recommend_level, .review--pc .recommend_level {
  margin-right: 12px;
  font-size: 1.6rem;
}
.review .recommend_level_num, .review--sp .recommend_level_num, .review--pc .recommend_level_num {
  margin-right: 25px;
  font-weight: bold;
}
.review .recommend_date, .review--sp .recommend_date, .review--pc .recommend_date,
.review .recommend_sex,
.review--sp .recommend_sex,
.review--pc .recommend_sex {
  margin-right: 20px;
}
.review .recommend_date, .review--sp .recommend_date, .review--pc .recommend_date,
.review .recommend_sex,
.review--sp .recommend_sex,
.review--pc .recommend_sex,
.review .recommend_comment,
.review--sp .recommend_comment,
.review--pc .recommend_comment {
  color: #333333;
}
.review .recommend_comment, .review--sp .recommend_comment, .review--pc .recommend_comment {
  line-height: 1.7;
}
.review .ec-blockBtn, .review--sp .ec-blockBtn, .review--pc .ec-blockBtn {
  width: 270px;
  margin: 0 auto;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
/*
  フッター　SNS
*/
.ec-snsRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  position: relative;
  padding-top: 50px;
  margin-bottom: 50px;
}
.ec-snsRole:after {
  content: " ";
  display: table;
}
.ec-snsRole:after {
  clear: both;
}
.ec-snsRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-snsRole img {
  max-width: 100%;
  height: auto;
}
.ec-snsRole html {
  box-sizing: border-box;
}
.ec-snsRole *,
.ec-snsRole *::before,
.ec-snsRole *::after {
  box-sizing: inherit;
}
.ec-snsRole:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .ec-snsRole:before {
    width: calc(100% - 15px * 2);
    left: 15px;
  }
}
.ec-snsRole:last-child {
  margin-bottom: 0;
}
.ec-snsRole .ec-blockHeading {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-snsRole .ec-blockHeading {
    margin-bottom: 50px;
  }
}
.ec-snsRole__itemList {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin: 0 -15px -20px;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .ec-snsRole__itemList {
    flex-direction: row;
  }
}
.ec-snsRole__item {
  width: 100%;
  margin-bottom: 20px;
  padding: 0 15px;
}
@media only screen and (min-width: 768px) {
  .ec-snsRole__item {
    width: 25%;
  }
}
.ec-snsRole__itemLink {
  display: flex;
  height: 100%;
  min-height: 87.2px;
  color: currentColor;
}
.ec-snsRole__itemLink:hover, .ec-snsRole__itemLink:focus {
  opacity: 0.7;
  transition: all 0.5s ease 0s;
  color: currentColor;
}
.ec-snsRole__itemIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 75px;
}
.ec-snsRole__itemIcon img:is([src*=tiktok]) {
  width: 37px;
}
.ec-snsRole__itemIcon img:is([src*=twitter], [src*=youtube], [src*=instagram], [src*=facebook], [src*=line]) {
  width: 45px;
}
.ec-snsRole__itemText {
  display: flex;
  align-items: center;
  width: calc(100% - 75px);
  padding: 10px 10px 10px 0;
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: justify;
  word-break: break-all;
}
@media only screen and (min-width: 768px) {
  .ec-snsRole__itemText {
    padding: 14px 14px 14px 0;
    font-size: 1.4rem;
    line-height: 1.45;
  }
}
.ec-snsRole__itemName {
  font-weight: bold;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
トップページ ヘッダー直下お知らせ　index.tiwg
*/
@media only screen and (min-width: 768px) {
  .ec-topNewsRole {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1310px;
    margin-bottom: 30px;
    padding-top: 20px;
  }
  .ec-topNewsRole:after {
    content: " ";
    display: table;
  }
  .ec-topNewsRole:after {
    clear: both;
  }
  .ec-topNewsRole textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
  }
  .ec-topNewsRole img {
    max-width: 100%;
    height: auto;
  }
  .ec-topNewsRole html {
    box-sizing: border-box;
  }
  .ec-topNewsRole *,
  .ec-topNewsRole *::before,
  .ec-topNewsRole *::after {
    box-sizing: inherit;
  }
}
.ec-topNewsRole__inner {
  padding: 0 15px;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole__inner {
    padding: 5px 20px;
    background: #efefef;
  }
}
.ec-topNewsRole__shipping {
  padding: 5px 0;
  text-align: right;
  font-size: 1.3rem;
  position: relative;
  line-height: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole__shipping {
    padding: 10px 0;
    text-align: left;
    font-size: 1.6rem;
  }
}
.ec-topNewsRole__shipping:before {
  content: "";
  display: block;
  width: calc(100% + 2 * 15px);
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: -15px;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole__shipping:before {
    display: none;
  }
}
.ec-topNewsRole__shippingIcon {
  font-size: 1.2em;
}
.ec-topNewsRole__shippingIcon i {
  vertical-align: middle;
}
.ec-topNewsRole .ec-topNewsRole__news {
  position: relative;
  padding: 5px 0;
}
.ec-topNewsRole .ec-topNewsRole__news:before {
  content: "";
  display: block;
  width: calc(100% + 2 * 15px);
  height: 1px;
  background: #efefef;
  position: absolute;
  top: 0;
  left: -15px;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole .ec-topNewsRole__news:before {
    display: none;
  }
}
.ec-topNewsRole .ec-topNewsRole__newsHeading {
  cursor: pointer;
}
.ec-topNewsRole .ec-topNewsRole__newsTitle {
  width: 100%;
  font-size: 1.2rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole .ec-topNewsRole__newsTitle a {
    transition: all 0.5s ease 0s;
  }
  .ec-topNewsRole .ec-topNewsRole__newsTitle a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole .ec-topNewsRole__newsTitle {
    font-size: 1.4rem;
  }
}
.ec-topNewsRole .ec-topNewsRole__newsTitle a {
  display: block;
  color: currentColor;
}
.ec-topNewsRole .ec-topNewsRole__newsTitle span {
  display: inline-block;
  max-width: 100%;
  padding: 5px 0;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole .ec-topNewsRole__newsTitle span {
    padding: 8px 0;
  }
}
.ec-topNewsRole .ec-topNewsRole__newsTitle span:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 3px;
  background: currentColor;
}
@media only screen and (min-width: 768px) {
  .ec-topNewsRole .ec-topNewsRole__newsTitle span:before {
    bottom: 6px;
  }
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/*
フッター上　ページ上部へ*/
.ec-toTopRole {
  padding: 30px 0;
  border-top: 1px solid #efefef;
}
@media only screen and (min-width: 768px) {
  .ec-toTopRole {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1310px;
    padding: 50px 0;
  }
  .ec-toTopRole:after {
    content: " ";
    display: table;
  }
  .ec-toTopRole:after {
    clear: both;
  }
  .ec-toTopRole textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
  }
  .ec-toTopRole img {
    max-width: 100%;
    height: auto;
  }
  .ec-toTopRole html {
    box-sizing: border-box;
  }
  .ec-toTopRole *,
  .ec-toTopRole *::before,
  .ec-toTopRole *::after {
    box-sizing: inherit;
  }
}
.ec-toTopRole .ec-toTopBtn {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 16px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 1.8rem;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: #333333;
  background-color: #fff;
  border-color: #333333;
  display: block;
  width: 270px;
  margin: auto;
}
.ec-toTopRole .ec-toTopBtn:focus, .ec-toTopRole .ec-toTopBtn.focus, .ec-toTopRole .ec-toTopBtn:active:focus, .ec-toTopRole .ec-toTopBtn:active.focus, .ec-toTopRole .ec-toTopBtn.active:focus, .ec-toTopRole .ec-toTopBtn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.ec-toTopRole .ec-toTopBtn:hover, .ec-toTopRole .ec-toTopBtn:focus, .ec-toTopRole .ec-toTopBtn.focus {
  opacity: 0.7;
  text-decoration: none;
  color: #333333;
}
.ec-toTopRole .ec-toTopBtn:active, .ec-toTopRole .ec-toTopBtn.active {
  outline: 0;
  background-image: none;
}
.ec-toTopRole .ec-toTopBtn.disabled, .ec-toTopRole .ec-toTopBtn[disabled], fieldset[disabled] .ec-toTopRole .ec-toTopBtn {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.ec-toTopRole .ec-toTopBtn .ec-icon img {
  width: 1em;
  vertical-align: text-bottom;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
.ec-wpRole {
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1310px;
  padding-left: 0;
  padding-right: 0;
}
.ec-wpRole:after {
  content: " ";
  display: table;
}
.ec-wpRole:after {
  clear: both;
}
.ec-wpRole textarea { /* for chrome fontsize bug */
  font-family: sans-serif;
}
.ec-wpRole img {
  max-width: 100%;
  height: auto;
}
.ec-wpRole html {
  box-sizing: border-box;
}
.ec-wpRole *,
.ec-wpRole *::before,
.ec-wpRole *::after {
  box-sizing: inherit;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.ec-wpRole .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.ec-wpRole .main-0 {
  clear: both;
}
.ec-wpRole .main-0:after {
  content: "";
  display: block;
  clear: both;
}
.ec-wpRole .main-1, .ec-wpRole .main-2 {
  margin: 0;
}
.ec-wpRole .main-1 p, .ec-wpRole .main-2 p {
  padding: 0 10px 20px 0 !important;
}
.ec-wpRole .main-1 p:first-child, .ec-wpRole .main-2 p:first-child {
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .main-1 {
    float: left;
    width: 48%;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .main-2 {
    float: right;
    width: 48%;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .collapse .main-1 {
    float: left;
    width: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .collapse .main-2 {
    float: right;
    width: 50%;
  }
}
.ec-wpRole .main-0-col4 {
  display: flex;
  justify-content: space-between;
}
.ec-wpRole .main-0-col4 .main-1, .ec-wpRole .main-0-col4 .main-2, .ec-wpRole .main-0-col4 .main-3, .ec-wpRole .main-0-col4 .main-4 {
  float: none;
  width: 23%;
}
.ec-wpRole .main-0-col4.collapse .main-1, .ec-wpRole .main-0-col4.collapse .main-2, .ec-wpRole .main-0-col4.collapse .main-3, .ec-wpRole .main-0-col4.collapse .main-4 {
  float: none;
  width: 25%;
}
@media screen and (max-width: 1000px) {
  .ec-wpRole .main-0-col4 {
    flex-wrap: wrap;
  }
  .ec-wpRole .main-0-col4 .main-1, .ec-wpRole .main-0-col4 .main-2, .ec-wpRole .main-0-col4 .main-3, .ec-wpRole .main-0-col4 .main-4 {
    width: 48%;
  }
  .ec-wpRole .main-0-col4.collapse .main-1, .ec-wpRole .main-0-col4.collapse .main-2, .ec-wpRole .main-0-col4.collapse .main-3, .ec-wpRole .main-0-col4.collapse .main-4 {
    width: 50%;
  }
}
.ec-wpRole .ec-pageHeader, .ec-wpRole .ec-pageHeader--note {
  margin-inline: 0 !important;
}
.ec-wpRole .ec-pageHeader + *, .ec-wpRole .ec-pageHeader--note + * {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .ec-pageHeader + *, .ec-wpRole .ec-pageHeader--note + * {
    margin-top: 30px;
  }
}
.ec-wpRole .ec-pageHeader + .ec-pageSwitchNavi, .ec-wpRole .ec-pageHeader--note + .ec-pageSwitchNavi, .ec-wpRole .ec-pageHeader + .ec-loginGuideLink, .ec-wpRole .ec-pageHeader--note + .ec-loginGuideLink, .ec-wpRole .ec-pageHeader + .ec-loginGuideLink--note, .ec-wpRole .ec-pageHeader--note + .ec-loginGuideLink--note, .ec-wpRole .ec-pageHeader + .ec-navlistRole, .ec-wpRole .ec-pageHeader--note + .ec-navlistRole {
  margin-top: 0;
}
.ec-wpRole .ec-pageHeader + .ec-pageSwitchNavi + *, .ec-wpRole .ec-pageHeader--note + .ec-pageSwitchNavi + *, .ec-wpRole .ec-pageHeader + .ec-loginGuideLink + *, .ec-wpRole .ec-pageHeader--note + .ec-loginGuideLink + *, .ec-wpRole .ec-pageHeader + .ec-loginGuideLink--note + *, .ec-wpRole .ec-pageHeader--note + .ec-loginGuideLink--note + *, .ec-wpRole .ec-pageHeader + .ec-navlistRole + *, .ec-wpRole .ec-pageHeader--note + .ec-navlistRole + * {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .ec-pageHeader + .ec-pageSwitchNavi + *, .ec-wpRole .ec-pageHeader--note + .ec-pageSwitchNavi + *, .ec-wpRole .ec-pageHeader + .ec-loginGuideLink + *, .ec-wpRole .ec-pageHeader--note + .ec-loginGuideLink + *, .ec-wpRole .ec-pageHeader + .ec-loginGuideLink--note + *, .ec-wpRole .ec-pageHeader--note + .ec-loginGuideLink--note + *, .ec-wpRole .ec-pageHeader + .ec-navlistRole + *, .ec-wpRole .ec-pageHeader--note + .ec-navlistRole + * {
    margin-top: 30px;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .ec-pageHeader h1, .ec-wpRole .ec-pageHeader--note h1, .ec-wpRole .ec-pageHeader .h1, .ec-wpRole .ec-pageHeader--note .h1 {
    max-width: none;
  }
}
.ec-wpRole .ec-navlistRole {
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole .ec-navlistRole {
    max-width: none;
  }
}
.ec-wpRole__squareLink {
  width: 100%;
  border: 3px #ff2f7d solid;
  padding: 40px 0;
  color: #ff2f7d !important;
  text-decoration: none !important;
  display: block;
  transition: all 0.5s ease 0s;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__squareLink:hover {
    background: #f8f8f8;
  }
}
.ec-wpRole__squareLink p {
  padding: 20px;
  line-height: 160%;
  letter-spacing: 0.5px;
  text-align: center !important;
  margin: 0 auto !important;
}
.ec-wpRole__recommendKeywordsSearch {
  margin-bottom: 30px;
  padding-inline: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__recommendKeywordsSearch {
    padding-inline: 0;
  }
}
.ec-wpRole__recommendKeywordsSearch__title {
  font-size: 1.4rem;
  font-weight: bold;
  padding-bottom: 20px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__recommendKeywordsSearch__title {
    font-size: 1.8rem;
    padding-bottom: 15px;
  }
}
.ec-wpRole__recommendKeywordsSearch__tags {
  list-style: none;
  margin: -5px;
  padding: 0;
}
.ec-wpRole__recommendKeywordsSearch__tags li {
  display: inline-block;
  font-size: 0;
  padding: 5px;
}
.ec-wpRole__recommendKeywordsSearch__tags li a {
  display: block;
  padding: 8px 10px;
  border: 1px solid #000;
  font-size: 1.2rem;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__recommendKeywordsSearch__tags li a {
    font-size: 1.4rem;
  }
  .ec-wpRole__recommendKeywordsSearch__tags li a:hover {
    color: #000;
  }
}
.ec-wpRole__recommendKeywordsSearch + .ec-navlistRole {
  border-top: 1px solid #efefef;
}
.ec-wpRole__articleSearch {
  margin-bottom: 20px;
  padding-inline: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch {
    margin-bottom: 30px;
    padding-inline: 0;
  }
}
.ec-wpRole__articleSearch__header {
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  background: #333333;
  padding: 7px 15px;
  border-radius: 3px 3px 0 0;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__header {
    font-size: 1.8rem;
  }
}
.ec-wpRole__articleSearch__formArea {
  padding: 20px 15px;
  border: 2px solid #efefef;
  border-radius: 0 0 3px 3px;
}
.ec-wpRole__articleSearch__title {
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__title {
    font-size: 1.6rem;
  }
}
.ec-wpRole__articleSearch__form {
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__form {
    font-size: 1.6rem;
  }
}
.ec-wpRole__articleSearch__form + .ec-wpRole__articleSearch__title {
  margin-top: 20px;
}
.ec-wpRole__articleSearch__form .ec-input input, .ec-wpRole__articleSearch__form .ec-halfInput input, .ec-wpRole__articleSearch__form .ec-numberInput input, .ec-wpRole__articleSearch__form .ec-zipInput input, .ec-wpRole__articleSearch__form .ec-telInput input, .ec-wpRole__articleSearch__form .ec-select input, .ec-wpRole__articleSearch__form .ec-birth input {
  background: #efefef;
  border-color: #efefef;
}
.ec-wpRole__articleSearch__form__tags {
  padding: 0;
  margin: -5px;
  font-size: 0;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__form__tags a {
    transition: all 0.5s ease 0s;
  }
  .ec-wpRole__articleSearch__form__tags a:hover {
    opacity: 0.7;
  }
}
.ec-wpRole__articleSearch__form__tags li {
  display: inline-block;
  padding: 5px;
}
.ec-wpRole__articleSearch__form__tags li a {
  display: block;
  padding: 8px 10px;
  border: 1px solid #efefef;
  border-radius: 3px;
  font-size: 1.2rem;
  font-weight: normal;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__form__tags li a {
    font-size: 1.4rem;
  }
  .ec-wpRole__articleSearch__form__tags li a:hover {
    color: #000;
  }
}
.ec-wpRole__articleSearch__form__tags li label {
  display: block;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__form__tags li label {
    transition: all 0.5s ease 0s;
  }
  .ec-wpRole__articleSearch__form__tags li label:hover {
    opacity: 0.7;
  }
}
.ec-wpRole__articleSearch__form__tags li input[type=checkbox] {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}
.ec-wpRole__articleSearch__form__tags li input[type=checkbox]:checked + span {
  border-color: #000;
  background: #efefef;
}
.ec-wpRole__articleSearch__form__tags li input[type=checkbox]:checked + span:before {
  content: "✔️";
  display: inline-block;
  margin-right: 7px;
}
.ec-wpRole__articleSearch__form__tags li span {
  display: block;
  padding: 8px 10px;
  border: 1px solid #efefef;
  border-radius: 3px;
  font-size: 1.2rem;
  font-weight: normal;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__form__tags li span {
    font-size: 1.4rem;
  }
}
.ec-wpRole__articleSearch__searchBtnArea {
  margin-top: 20px;
}
.ec-wpRole__articleSearch__searchBtnArea a,
.ec-wpRole__articleSearch__searchBtnArea button {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  background: #0097c6;
  padding: 5px 15px;
  border-radius: 5px;
  border: none;
  width: 100%;
  max-width: 150px;
  margin: auto;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .ec-wpRole__articleSearch__searchBtnArea a,
  .ec-wpRole__articleSearch__searchBtnArea button {
    margin: 0 auto 0 0;
  }
}
.ec-wpRole .navigation.pagination {
  display: block;
  padding-inline: 15px;
  text-align: right;
  padding-top: 0;
}
@media only screen and (min-width: 1100px) {
  .ec-wpRole .navigation.pagination {
    padding-inline: 0;
  }
}
.ec-wpRole .navigation.pagination li {
  display: inline-block;
  min-width: 29px;
  text-align: center;
  position: relative;
}
.ec-wpRole .navigation.pagination li a {
  color: inherit;
  text-decoration: none;
}
.ec-wpRole .navigation.pagination li a:hover {
  text-decoration: none;
}
.ec-wpRole .navigation.pagination ul.page-numbers {
  list-style: none;
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  margin: 0;
  padding: 50px 0 0;
  text-align: center;
}
.ec-wpRole .navigation.pagination ul.page-numbers .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 4.6rem;
  height: 4.6rem;
  color: inherit !important;
  font-size: 2rem;
  font-weight: bold;
  text-decoration: none;
}
.ec-wpRole .navigation.pagination ul.page-numbers .page-numbers.current, .ec-wpRole .navigation.pagination ul.page-numbers .page-numbers:hover {
  background: #efefef;
}
.ec-wpRole .ec-searchnavRole .navigation.pagination {
  display: none;
}
@media only screen and (min-width: 1100px) {
  .ec-wpRole .ec-searchnavRole .navigation.pagination {
    display: block;
    width: 50%;
    padding: 0;
  }
}
.ec-wpRole .ec-searchnavRole .navigation.pagination ul.page-numbers {
  padding-top: 0;
}
.ec-wpRole .video {
  max-width: 640px;
  margin: auto !important;
}
.ec-wpRole .video__inner {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.ec-wpRole .video__inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  .ec-wpWide a {
    transition: all 0.5s ease 0s;
  }
  .ec-wpWide a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpWide button {
    transition: all 0.5s ease 0s;
  }
  .ec-wpWide button:hover {
    opacity: 0.7;
  }
}

.ec-wpNarrow {
  max-width: 1000px;
  margin: 20px auto 0;
}
@media only screen and (min-width: 768px) {
  .ec-wpNarrow a {
    transition: all 0.5s ease 0s;
  }
  .ec-wpNarrow a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpNarrow {
    margin-top: 30px;
  }
}

.ec-wpArticle {
  max-width: 1000px;
  margin: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle a {
    transition: all 0.5s ease 0s;
  }
  .ec-wpArticle a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle {
    padding-left: 0;
    padding-right: 0;
  }
}
.ec-wpArticle h1, .ec-wpArticle .h1, .ec-wpArticle h2, .ec-wpArticle .h2, .ec-wpArticle h3, .ec-wpArticle .h3, .ec-wpArticle h4, .ec-wpArticle .h4, .ec-wpArticle h5, .ec-wpArticle .h5 {
  margin: 50px 0 30px;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle h1, .ec-wpArticle .h1, .ec-wpArticle h2, .ec-wpArticle .h2, .ec-wpArticle h3, .ec-wpArticle .h3, .ec-wpArticle h4, .ec-wpArticle .h4, .ec-wpArticle h5, .ec-wpArticle .h5 {
    font-size: 3rem;
  }
}
.ec-wpArticle h1 + h1, .ec-wpArticle .h1 + h1, .ec-wpArticle h1 + .h1, .ec-wpArticle .h1 + .h1, .ec-wpArticle h1 + h2, .ec-wpArticle .h1 + h2, .ec-wpArticle h1 + .h2, .ec-wpArticle .h1 + .h2, .ec-wpArticle h1 + h3, .ec-wpArticle .h1 + h3, .ec-wpArticle h1 + .h3, .ec-wpArticle .h1 + .h3, .ec-wpArticle h1 + h4, .ec-wpArticle .h1 + h4, .ec-wpArticle h1 + .h4, .ec-wpArticle .h1 + .h4, .ec-wpArticle h1 + h5, .ec-wpArticle .h1 + h5, .ec-wpArticle h1 + .h5, .ec-wpArticle .h1 + .h5, .ec-wpArticle h2 + h1, .ec-wpArticle .h2 + h1, .ec-wpArticle h2 + .h1, .ec-wpArticle .h2 + .h1, .ec-wpArticle h2 + h2, .ec-wpArticle .h2 + h2, .ec-wpArticle h2 + .h2, .ec-wpArticle .h2 + .h2, .ec-wpArticle h2 + h3, .ec-wpArticle .h2 + h3, .ec-wpArticle h2 + .h3, .ec-wpArticle .h2 + .h3, .ec-wpArticle h2 + h4, .ec-wpArticle .h2 + h4, .ec-wpArticle h2 + .h4, .ec-wpArticle .h2 + .h4, .ec-wpArticle h2 + h5, .ec-wpArticle .h2 + h5, .ec-wpArticle h2 + .h5, .ec-wpArticle .h2 + .h5, .ec-wpArticle h3 + h1, .ec-wpArticle .h3 + h1, .ec-wpArticle h3 + .h1, .ec-wpArticle .h3 + .h1, .ec-wpArticle h3 + h2, .ec-wpArticle .h3 + h2, .ec-wpArticle h3 + .h2, .ec-wpArticle .h3 + .h2, .ec-wpArticle h3 + h3, .ec-wpArticle .h3 + h3, .ec-wpArticle h3 + .h3, .ec-wpArticle .h3 + .h3, .ec-wpArticle h3 + h4, .ec-wpArticle .h3 + h4, .ec-wpArticle h3 + .h4, .ec-wpArticle .h3 + .h4, .ec-wpArticle h3 + h5, .ec-wpArticle .h3 + h5, .ec-wpArticle h3 + .h5, .ec-wpArticle .h3 + .h5, .ec-wpArticle h4 + h1, .ec-wpArticle .h4 + h1, .ec-wpArticle h4 + .h1, .ec-wpArticle .h4 + .h1, .ec-wpArticle h4 + h2, .ec-wpArticle .h4 + h2, .ec-wpArticle h4 + .h2, .ec-wpArticle .h4 + .h2, .ec-wpArticle h4 + h3, .ec-wpArticle .h4 + h3, .ec-wpArticle h4 + .h3, .ec-wpArticle .h4 + .h3, .ec-wpArticle h4 + h4, .ec-wpArticle .h4 + h4, .ec-wpArticle h4 + .h4, .ec-wpArticle .h4 + .h4, .ec-wpArticle h4 + h5, .ec-wpArticle .h4 + h5, .ec-wpArticle h4 + .h5, .ec-wpArticle .h4 + .h5, .ec-wpArticle h5 + h1, .ec-wpArticle .h5 + h1, .ec-wpArticle h5 + .h1, .ec-wpArticle .h5 + .h1, .ec-wpArticle h5 + h2, .ec-wpArticle .h5 + h2, .ec-wpArticle h5 + .h2, .ec-wpArticle .h5 + .h2, .ec-wpArticle h5 + h3, .ec-wpArticle .h5 + h3, .ec-wpArticle h5 + .h3, .ec-wpArticle .h5 + .h3, .ec-wpArticle h5 + h4, .ec-wpArticle .h5 + h4, .ec-wpArticle h5 + .h4, .ec-wpArticle .h5 + .h4, .ec-wpArticle h5 + h5, .ec-wpArticle .h5 + h5, .ec-wpArticle h5 + .h5, .ec-wpArticle .h5 + .h5 {
  margin-top: 30px;
}
.ec-wpArticle h1, .ec-wpArticle .h1 {
  font-size: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle h1, .ec-wpArticle .h1 {
    font-size: 3rem;
  }
}
.ec-wpArticle h2, .ec-wpArticle .h2 {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle h2, .ec-wpArticle .h2 {
    font-size: 2.6rem;
  }
}
.page-template-page-support-top .ec-wpArticle h2, .page-template-page-support-top .ec-wpArticle .h2 {
  text-align: center;
  font-weight: bold;
}
.page-template-page-support-top .ec-wpArticle h2 hr, .page-template-page-support-top .ec-wpArticle .h2 hr {
  display: inline-block;
  width: 30px;
  height: 3px;
  background: #ffaaca;
  border: none;
  margin: 0 15px;
  vertical-align: middle;
  opacity: 1;
}
.ec-wpArticle h3, .ec-wpArticle .h3 {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle h3, .ec-wpArticle .h3 {
    font-size: 2.4rem;
  }
}
.ec-wpArticle h4, .ec-wpArticle .h4, .ec-wpArticle h5, .ec-wpArticle .h5 {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle h4, .ec-wpArticle .h4, .ec-wpArticle h5, .ec-wpArticle .h5 {
    font-size: 2rem;
  }
}
.ec-wpArticle__detail > *:first-child {
  margin-top: 0;
}
.ec-wpArticle__detail p, .ec-wpArticle__detail ul, .ec-wpArticle__detail ol, .ec-wpArticle__detail div {
  margin: 30px 0 0;
  text-align: justify;
  word-break: break-all;
  line-height: 2;
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__detail p, .ec-wpArticle__detail ul, .ec-wpArticle__detail ol, .ec-wpArticle__detail div {
    font-size: 1.8rem;
  }
}
.ec-wpArticle__detail .ec-borderedDefs p, .ec-wpArticle__detail .ec-borderedDefs ul, .ec-wpArticle__detail .ec-borderedDefs ol, .ec-wpArticle__detail .ec-borderedDefs div {
  margin: 0;
  text-align: left;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__detail .ec-borderedDefs dt {
    padding-top: 2px;
  }
}
.ec-wpArticle__detail .center {
  text-align: center !important;
}
.ec-wpArticle__detail img {
  max-width: 100%;
  height: auto;
}
.ec-wpArticle__detail a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ec-wpArticle__detail ul, .ec-wpArticle__detail ol {
  margin-bottom: 30px;
}
.ec-wpArticle__detail ul li, .ec-wpArticle__detail ol li {
  list-style-type: inherit;
}
.ec-wpArticle__detail .question > h2:first-child, .ec-wpArticle__detail .question > .h2:first-child, .ec-wpArticle__detail .answer > h2:first-child, .ec-wpArticle__detail .answer > .h2:first-child {
  margin-bottom: 20px;
}
.ec-wpArticle__detail .question > h2:first-child i, .ec-wpArticle__detail .question > .h2:first-child i, .ec-wpArticle__detail .answer > h2:first-child i, .ec-wpArticle__detail .answer > .h2:first-child i {
  margin-right: 6px;
}
.ec-wpArticle__detail .question > h2:first-child + *, .ec-wpArticle__detail .question > .h2:first-child + *, .ec-wpArticle__detail .answer > h2:first-child + *, .ec-wpArticle__detail .answer > .h2:first-child + * {
  margin-top: 20px;
}
.ec-wpArticle__thumbnail {
  margin-bottom: 30px;
}
.ec-wpArticle__thumbnail img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.ec-wpArticle #hero-lower {
  margin-bottom: 50px;
}
.ec-wpArticle #hero-lower h1, .ec-wpArticle #hero-lower .h1 {
  margin: 0;
  padding: 18px 15px;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle #hero-lower h1, .ec-wpArticle #hero-lower .h1 {
    padding: 0 0 30px;
  }
}
.ec-wpArticle__postInfo {
  margin-bottom: 10px;
}
.ec-wpArticle__postInfo__postType {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__postInfo__postType {
    font-size: 1.8rem;
  }
}
.ec-wpArticle__postInfo__date {
  display: inline-block;
  font-size: 1.2rem;
  color: #666666;
  margin-left: 10px;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__postInfo__date {
    font-size: 1.6rem;
  }
}
.ec-wpArticle__relatedInfo {
  padding-left: 10px;
  border-left: 1px solid #efefef;
}
.ec-wpArticle__relatedInfo a {
  color: #000;
  text-decoration: underline;
}
.ec-wpArticle__relatedInfo > div + div {
  margin-top: 5px;
}
.ec-wpArticle__relatedInfo__itemList__name {
  display: inline-block;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__relatedInfo__itemList__name {
    font-size: 1.4rem;
  }
}
.ec-wpArticle__relatedInfo__itemList > a {
  display: inline-block;
  margin-left: 10px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__relatedInfo__itemList > a {
    font-size: 1.4rem;
  }
}
.ec-wpArticle__relatedInfo__category ul {
  margin: 0;
  padding: 0;
}
.ec-wpArticle__relatedInfo__category li {
  display: inline-block;
}
.ec-wpArticle__relatedInfo__category li + li {
  margin-left: 10px;
}
.ec-wpArticle__relatedInfo__category li a {
  display: block;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__relatedInfo__category li a {
    font-size: 1.4rem;
  }
}
.ec-wpArticle__relatedInfo__category > a {
  display: inline-block;
  margin-left: 10px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-wpArticle__relatedInfo__category > a {
    font-size: 1.4rem;
  }
}
.ec-wpArticle__backBtnArea {
  text-align: center !important;
  margin-top: 50px;
}
.page-template-page-support-top .ec-wpArticle__backBtnArea {
  margin-top: 30px;
}
.ec-wpArticle__backBtnArea a {
  display: inline-block;
}

.ec-pageSwitchNavi {
  border-bottom: 1px solid #efefef;
}
.ec-pageSwitchNavi__itemList {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .ec-pageSwitchNavi__itemList {
    justify-content: left;
  }
}
.ec-pageSwitchNavi__itemList__item a {
  display: block;
  font-size: 1.4rem;
  color: #666666;
  font-weight: bold;
  padding: 15px;
  border-bottom: 2px solid transparent;
}
@media only screen and (min-width: 768px) {
  .ec-pageSwitchNavi__itemList__item a {
    font-size: 1.8rem;
  }
  .ec-pageSwitchNavi__itemList__item a:hover {
    color: #000;
    border-color: #000;
  }
}
.ec-pageSwitchNavi__itemList__item a.active {
  color: #000;
  border-color: #000;
}

.ec-articleList, .ec-articleList--note {
  padding: 0 15px;
}
@media only screen and (min-width: 768px) {
  .ec-articleList, .ec-articleList--note {
    padding: 0;
  }
}
.ec-articleList__itemList {
  display: flex;
  flex-wrap: wrap;
  margin: -25px -8px;
}
.ec-articleList__item {
  width: 50%;
  padding: 25px 8px;
}
.ec-articleList__item a {
  color: inherit;
  text-decoration: none;
}
.ec-articleList__item a:hover {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .ec-articleList__item a {
    transition: all 0.5s ease 0s;
  }
  .ec-articleList__item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 768px) {
  .ec-articleList__item {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 1100px) {
  .ec-articleList__item {
    width: 20%;
  }
}
.ec-articleList__item a {
  display: block;
}
.ec-articleList__item__image {
  margin-bottom: 10px;
}
.ec-articleList--note .ec-articleList__item__image {
  border: 2px solid #efefef;
  border-radius: 10px;
  overflow: hidden;
}
.ec-articleList__item__magazine {
  margin-bottom: 10px;
  font-size: 1.2rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-articleList__item__magazine {
    font-size: 1.4rem;
  }
}
.ec-articleList__item__magazine i {
  font-size: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .ec-articleList__item__magazine i {
    font-size: 1.6rem;
  }
}
.ec-articleList__item__title {
  margin-bottom: 7px;
  text-align: justify;
  word-break: break-all;
  color: #333333;
  font-size: 1.2rem;
}
.ec-articleList--note .ec-articleList__item__title {
  font-size: 1.4rem;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .ec-articleList__item__title {
    font-size: 1.4rem;
  }
}
.ec-articleList__item__date {
  color: #999999;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .ec-articleList__item__date {
    font-size: 1.4rem;
  }
}

#contact-index {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  #contact-index .main {
    width: 30%;
    margin-left: auto;
    margin-right: auto;
  }
}

#lower-news .ec-oshiraseList, #faq .ec-oshiraseList {
  margin-left: -15px;
  margin-right: -15px;
}
@media only screen and (min-width: 768px) {
  #lower-news .ec-oshiraseList, #faq .ec-oshiraseList {
    margin-left: 0;
    margin-right: 0;
  }
}

#lower-news h2, #lower-news .h2 {
  margin-top: 30px;
}

.ec-pieceRequestLink {
  margin-top: 30px;
}
.ec-pieceRequestLink a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  color: #000;
  padding: 10px 15px;
  border: 2px solid #efefef;
  border-radius: 5px;
  max-width: 500px;
}
@media only screen and (min-width: 768px) {
  .ec-pieceRequestLink a {
    padding: 28px 15px;
  }
  .ec-pieceRequestLink a:hover {
    color: #000;
    background: #f8f8f8;
  }
}
.ec-pieceRequestLink a i {
  display: inline-block;
  font-size: 24px;
  width: 24px;
}
@media only screen and (min-width: 768px) {
  .ec-pieceRequestLink a i {
    font-size: 28px;
    width: 28px;
  }
}
.ec-pieceRequestLink a span {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  padding-left: 5px;
}
@media only screen and (min-width: 768px) {
  .ec-pieceRequestLink a span {
    font-size: 2.4rem;
  }
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

.page-template-page-form .ec-wpArticle__detail a {
  color: #0097c6;
}
.page-template-page-form .submit.ec-blockBtn--action {
  letter-spacing: 0.05em;
  margin-right: auto;
  margin-left: auto;
  max-width: 270px;
}

/**
メディアクエリ
SP フォーストで記述する。
Twitter Bootstrap デフォルト準拠
 */
/**
 * ECCUBE 固有のスタイルユーティリティ
 */
.lp {
  margin-top: 0;
  line-height: 1.7;
  font-size: 1.6rem;
}
.lp p, .lp ul, .lp ol, .lp div {
  font-size: 1.6rem;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .lp p, .lp ul, .lp ol, .lp div {
    font-size: 1.6rem;
  }
}
.lp div {
  margin-top: 0;
}
.lp h2, .lp .h2 {
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: inherit;
}
@media only screen and (min-width: 768px) {
  .lp h2, .lp .h2 {
    font-size: 2.4rem;
  }
}
.lp h3, .lp .h3 {
  margin-block-start: 1.33em;
  margin-block-end: 1.33em;
  font-size: 1.17em;
  font-weight: bold;
  line-height: inherit;
}
.lp h4, .lp .h4 {
  margin-block-start: 1.33em;
  margin-block-end: 1.33em;
  font-weight: bold;
  line-height: inherit;
}
.lp h5, .lp .h5 {
  font-weight: bold;
  line-height: inherit;
}
.lp hr {
  width: 100%;
  height: 1px;
  margin-top: 10px;
  margin-bottom: 10px;
  border: none;
  background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
  background-size: 10px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  background-color: unset;
  opacity: 1;
}
.lp p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.lp a {
  transition: 0.2s;
  color: #4a60cf;
  text-decoration: none;
}
.lp a:hover {
  color: #333;
  opacity: 0.8;
}
.lp ul, .lp ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lp dl, .lp dt, .lp dd, .lp li {
  margin: 0;
  padding: 0;
}
.lp img {
  max-width: 100%;
}
.lp figure {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 16px;
}
.lp figcaption {
  text-align: center;
  font-weight: bold;
  margin-top: 16px;
}
.lp .container {
  width: auto;
  max-width: 100%;
  padding-left: 16px;
  padding-right: 16px;
}
.lp .row {
  --bs-gutter-x: 8px;
  --bs-gutter-y: 0;
  margin-inline: calc(-1 * var(--bs-gutter-x));
  padding-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .lp .row {
    --bs-gutter-x: 16px;
  }
}
.lp [class^=col] {
  position: relative;
  padding-inline: var(--bs-gutter-x);
}
.lp .row.ec-para-normal {
  margin-bottom: 16px;
}
.lp .lp__eyecatch {
  text-align: center;
  line-height: 1;
  width: 100%;
  margin-bottom: 30px;
}
.lp .lp__section {
  position: relative;
  background-color: #fcf1d1;
  margin-top: 40px;
  margin-bottom: 60px;
  padding-top: 50px;
  padding-bottom: 40px;
}
.lp .lp__nav {
  margin-bottom: 25px;
}
.lp .lp__nav__list {
  text-align: center;
  font-size: 0;
}
.lp .lp__nav__item {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 5px 5px;
}
.lp .lp__nav__link {
  display: block;
  transition: 0.2s;
  border-radius: 5px;
  border: 2px solid #f6d471;
  color: #333;
  padding: 10px 15px;
}
.lp .lp__nav__link:hover, .lp .lp__nav__link:active {
  background-color: #f6d471;
  color: #333;
  opacity: 1;
}
.lp .lp__link-menu__list {
  text-align: left;
}
.lp .lp__link-menu__item, .lp .lp__link-menu__item--lg {
  display: inline-block;
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.lp .lp__link-menu__item--lg {
  font-size: 3rem;
}
.lp .lp__link-menu__link {
  display: block;
  border-radius: 5px;
  border: 2px solid #f6d471;
  background-color: #fff;
  font-weight: bold;
  color: #333;
  padding: 8px;
}
.lp .lp__link-menu__link:hover {
  background-color: #f6d471;
  opacity: 1;
}
.lp .lp__product {
  margin-top: 20px;
  margin-bottom: 20px;
}
.lp .lp__product__img {
  text-align: center;
  margin-bottom: 20px;
}
.lp .lp__product__body {
  border-radius: 10px;
  background-color: #fff;
  margin-bottom: 20px;
  padding: 20px;
}
.lp .lp__product__heading {
  background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
  background-size: 10px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}
.lp .lp__product__heading--2 {
  font-size: 1.8rem;
  margin-top: 10px;
  margin-bottom: 10px;
}
.lp .lp__product__list {
  padding: 0 8px;
  font-size: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .lp .lp__product__list {
    padding: 0 16px;
  }
}
.lp .lp__product__title {
  padding: 10px 8px;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .lp .lp__product__title {
    padding-inline: 16px;
  }
}
.lp .lp__product__title:nth-of-type(odd) {
  background-color: #ebebeb;
}
.lp .lp__product__item {
  padding: 10px 8px;
}
@media only screen and (min-width: 768px) {
  .lp .lp__product__item {
    padding-inline: 16px;
  }
}
.lp .lp__product__item:nth-of-type(odd) {
  background-color: #ebebeb;
}
.lp .lp__product__price {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: right;
  margin-top: 10px;
  margin-bottom: 10px;
}
.lp .lp__product__price__num {
  font-size: 2.4rem;
}
.lp__product__button {
  display: block;
  width: 100%;
  max-width: 600px;
  height: 74px;
  padding: 0 16px;
  background-image: none;
  border: 1px solid #e05a87;
  border-radius: 3px;
  background-color: #e05a87;
  color: #fff;
  line-height: 74px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all 0.5s ease 0s;
  cursor: pointer;
  margin: auto;
}
.lp__product__button:hover {
  opacity: 0.7;
}
.lp .lp__product__button {
  max-width: none;
}
.lp .lp__panel {
  background-color: #fff;
  border-radius: 10px;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 20px;
}
.lp .lp__panel *:first-child {
  margin-top: 0;
}
.lp .lp__panel *:last-child {
  margin-bottom: 0;
}
.lp .lp__panel ul {
  list-style-type: disc;
  margin-top: 16px;
  margin-bottom: 16px;
}
.lp .lp__panel li {
  margin-left: 1em;
}
.lp .lp__panel dl {
  font-size: 1.2rem;
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 0 16px;
}
.lp .lp__panel dt {
  padding-top: 10px;
  padding-bottom: 10px;
}
.lp .lp__panel dt:nth-of-type(odd) {
  background-color: #ebebeb;
}
.lp .lp__panel dd {
  padding-top: 10px;
  padding-bottom: 10px;
}
.lp .lp__panel dd:nth-of-type(odd) {
  background-color: #ebebeb;
}
.lp .lp__panel.video-outer {
  max-width: 768px;
  margin-left: auto;
  margin-right: auto;
}
.lp .lp__panel .video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.lp .lp__panel .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lp .lp__border-panel {
  text-align: center;
  margin-top: 55px;
  margin-bottom: 10px;
  padding: 20px 0;
}
.lp .lp__border-panel__inner {
  position: relative;
  display: inline-block;
  border-radius: 16px;
  border: 8px solid;
  background-color: #fff;
  text-align: left;
  padding: 0 32px 16px;
}
@media (min-width: 992px) {
  .lp .lp__border-panel__inner {
    border-top-left-radius: 0;
    padding: 40px 32px 16px;
  }
}
.lp .lp__border-panel__heading {
  font-size: 2rem;
  color: #fff;
  width: calc(100% + 64px);
  margin-left: -32px;
}
@media (min-width: 992px) {
  .lp .lp__border-panel__heading {
    position: absolute;
    top: -4px;
    left: -8px;
    transform: translateY(-50%);
    border-radius: 999px;
    width: auto;
    margin: 0;
    padding: 12px 32px;
  }
}
.lp .lp__border-panel ul {
  list-style-type: disc;
  margin-top: 16px;
  margin-bottom: 16px;
}
.lp .lp__border-panel li {
  margin-left: 1em;
}
.lp .lp__img {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.lp .lp__img img {
  line-height: 1;
}
.lp .lp__heading {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}
.lp .lp__heading--1 {
  position: absolute;
  top: -50px;
  transform: translateY(-50%);
  margin: 0;
}
.lp .lp__heading--1::after {
  content: "";
  position: absolute;
  bottom: -17px;
  right: 5px;
  z-index: -1;
  transform: rotate(2.5deg);
  background-color: #c2af75;
  width: 90%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .lp .lp__heading--1::after {
    bottom: -15px;
  }
}
.lp .lp__heading--1 small, .lp .lp__heading--1 .small {
  margin-left: 10px;
}
.lp .lp__heading--1 .lp__heading__inner {
  background-color: #f6d471;
  color: #666;
  padding: 20px;
}
.lp .lp__heading--2 {
  margin-top: 40px;
  margin-bottom: 1em;
  text-align: center;
  padding: 0 24px;
}
.lp .lp__heading--2 small, .lp .lp__heading--2 .small {
  margin-left: 10px;
}
.lp .lp__heading--2 .lp__heading__inner {
  position: relative;
  background: linear-gradient(transparent 40%, #fff 40%);
  padding-left: 20px;
  padding-right: 20px;
}
.lp .lp__heading--2 .lp__heading__inner::before, .lp .lp__heading--2 .lp__heading__inner::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  background-image: url("/html/template/yanoman/assets/img/lp/clover-bg-icon.png");
  background-size: 24px 30px;
  background-position: center center;
  background-repeat: no-repeat;
  width: 24px;
  height: 30px;
}
.lp .lp__heading--2 .lp__heading__inner::before {
  left: -34px;
}
.lp .lp__heading--2 .lp__heading__inner::after {
  right: -34px;
}
.lp .lp__heading--3 {
  background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
  background-size: 10px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  font-size: 1.8rem;
  font-weight: bold;
  padding-top: 15px;
  margin-bottom: 8px;
}
.lp .lp__heading--3 small, .lp .lp__heading--3 .small {
  margin-left: 10px;
}
.lp .lp__heading--3 + * {
  margin-top: 0;
}
.lp .lp__heading--4 {
  font-size: 2.4rem;
}
.lp .lp__heading--4 small, .lp .lp__heading--4 .small {
  margin-left: 10px;
}
.lp .lp__heading--5 {
  background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
  background-size: 10px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  font-size: 3rem;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.lp .lp__heading--5 small, .lp .lp__heading--5 .small {
  margin-left: 10px;
}
.lp .lp__heading--5 + * {
  margin-top: 0;
}
.lp__text-center {
  text-align: center;
}/*# sourceMappingURL=style.css.map */