@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

ul[class],
ol[class] {
  list-style: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

:root {
  --color-primary: #2c69c8;
  --color-primary-rgb: 44, 105, 200;
  --color-primary-hover: #1e5cb4;
  --color-primary-background: #e9f0fa;
  --color-base-soft: #bbc2ca;
  --color-base-light: #d7dce2;
  --color-base-background: #ecf0f4;
  --color-gray-background: #ecf0f4;
  --color-gray-border: #bbc2ca;
}
:root[data-theme-main=red] {
  --color-primary: #f43643;
  --color-primary-rgb: 244, 54, 67;
  --color-primary-hover: #db2534;
  --color-primary-background: #fee8eb;
}
:root[data-theme-main=vermilion] {
  --color-primary: #f4511e;
  --color-primary-rgb: 244, 81, 30;
  --color-primary-hover: #db4713;
  --color-primary-background: #feede7;
}
:root[data-theme-main=orange] {
  --color-primary: #f57c00;
  --color-primary-rgb: 245, 124, 0;
  --color-primary-hover: #dc6f00;
  --color-primary-background: #fef2e6;
}
:root[data-theme-main=yellow] {
  --color-primary: #f9a825;
  --color-primary-rgb: 249, 168, 37;
  --color-primary-hover: #e09618;
  --color-primary-background: #fef6e7;
}
:root[data-theme-main=yellow-green] {
  --color-primary: #7cb342;
  --color-primary-rgb: 124, 179, 66;
  --color-primary-hover: #6ca22f;
  --color-primary-background: #f2f8e9;
}
:root[data-theme-main=green] {
  --color-primary: #43a047;
  --color-primary-rgb: 67, 160, 71;
  --color-primary-hover: #309136;
  --color-primary-background: #e9f6ea;
}
:root[data-theme-main=blue-green] {
  --color-primary: #009688;
  --color-primary-rgb: 0, 150, 136;
  --color-primary-hover: #00877a;
  --color-primary-background: #e6f5f3;
}
:root[data-theme-main=cyan] {
  --color-primary: #00bcd4;
  --color-primary-rgb: 0, 188, 212;
  --color-primary-hover: #00a9be;
  --color-primary-background: #e6f8fb;
}
:root[data-theme-main=light-blue] {
  --color-primary: #03a9f4;
  --color-primary-rgb: 3, 169, 244;
  --color-primary-hover: #0298db;
  --color-primary-background: #e6f7fe;
}
:root[data-theme-main=blue] {
  --color-primary: #2c69c8;
  --color-primary-rgb: 44, 105, 200;
  --color-primary-hover: #1e5cb4;
  --color-primary-background: #e9f0fa;
}
:root[data-theme-main=violet] {
  --color-primary: #7e57c2;
  --color-primary-rgb: 126, 87, 194;
  --color-primary-hover: #6c40b0;
  --color-primary-background: #f1ebf9;
}
:root[data-theme-main=purple] {
  --color-primary: #ab47bc;
  --color-primary-rgb: 171, 71, 188;
  --color-primary-hover: #9a33aa;
  --color-primary-background: #f7e9f9;
}
:root[data-theme-main=pink] {
  --color-primary: #ec407a;
  --color-primary-rgb: 236, 64, 122;
  --color-primary-hover: #d42e6a;
  --color-primary-background: #fde9f1;
}
:root[data-theme-main=brown] {
  --color-primary: #8d6e63;
  --color-primary-rgb: 141, 110, 99;
  --color-primary-hover: #816256;
  --color-primary-background: #f4f0ee;
}
:root[data-theme-main=ocher] {
  --color-primary: #a67f38;
  --color-primary-rgb: 166, 127, 56;
  --color-primary-hover: #967129;
  --color-primary-background: #f6f2e9;
}
:root[data-theme-main=gray] {
  --color-primary: #616161;
  --color-primary-rgb: 97, 97, 97;
  --color-primary-hover: #575757;
  --color-primary-background: #ededed;
}
:root[data-theme-main=blue-gray] {
  --color-primary: #545f69;
  --color-primary-rgb: 84, 95, 105;
  --color-primary-hover: #3d4750;
  --color-primary-background: #ecf0f4;
}
:root[data-theme-main=black] {
  --color-primary: #262f38;
  --color-primary-rgb: 38, 47, 56;
  --color-primary-hover: #1f2933;
  --color-primary-background: #ecf0f4;
}
:root[data-theme-base=blue-gray] {
  --color-base-soft: #bbc2ca;
  --color-base-light: #d7dce2;
  --color-base-background: #ecf0f4;
  --color-gray-background: #ecf0f4;
  --color-gray-border: #bbc2ca;
}
:root[data-theme-base=gray] {
  --color-base-soft: #d1d1d1;
  --color-base-light: #dbdbdb;
  --color-base-background: #ededed;
  --color-gray-background: #ededed;
  --color-gray-border: #c2c2c2;
}
:root[data-theme-base=beige] {
  --color-base-soft: #dbcfca;
  --color-base-light: #e5dbd7;
  --color-base-background: #f2efed;
  --color-gray-background: #ededed;
  --color-gray-border: #c2c2c2;
}
:root[data-theme-base=main] {
  --color-base-soft: rgba(var(--color-primary-rgb), .3);
  --color-base-light: rgba(var(--color-primary-rgb), .2);
  --color-base-background: var(--color-primary-background);
  --color-gray-background: #ecf0f4;
  --color-gray-border: #bbc2ca;
}
:root[data-theme-main=blue-gray][data-theme-base=main], :root[data-theme-main=black][data-theme-base=main] {
  --color-base-soft: #bbc2ca;
  --color-base-light: #d7dce2;
}
:root[data-theme-main=gray][data-theme-base=main] {
  --color-base-soft: #d1d1d1;
  --color-base-light: #dbdbdb;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}

body {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-x: hidden;
  background-color: #fff;
  font-family: "Open Sans", メイリオ, Meiryo, "Hiragino Kaku Gothic ProN", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 1.4rem;
  color: #3d4750;
  line-height: 1.8;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
body::after {
  content: "none";
  display: none;
}
body.is-scroll-lock {
  overflow: hidden;
}
a {
  color: #2962ff;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

ol,
ul {
  list-style: none;
}

* + p:not([class]) {
  margin-top: 1em;
}
.alert * + p:not([class]) {
  margin-top: 0.5em;
}
* + p[class^=font-] {
  margin-top: 1em;
}
.alert * + p[class^=font-] {
  margin-top: 0.5em;
}
* + p[class^=text-] {
  margin-top: 1em;
}
.alert * + p[class^=text-] {
  margin-top: 0.5em;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

.swal2-input, .swal2-select, .swal2-textarea, input[type=text], input[type=date], input[type=month], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search], textarea, select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  border: 1px solid var(--color-gray-border);
  border-radius: 4px;
  width: 100%;
  min-height: 38px;
  font-size: 1.6rem;
  color: #3d4750;
  transition: border-color 0.3s;
}
.swal2-input:focus, .swal2-select:focus, .swal2-textarea:focus, input[type=text]:focus, input[type=date]:focus, input[type=month]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, textarea:focus, select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
  border-color: var(--color-primary);
}
.swal2-input:disabled, .swal2-select:disabled, .swal2-textarea:disabled, input[type=text]:disabled, input[type=date]:disabled, input[type=month]:disabled, input[type=email]:disabled, input[type=tel]:disabled, input[type=number]:disabled, input[type=password]:disabled, input[type=search]:disabled, textarea:disabled, select:disabled {
  background-color: var(--color-gray-background);
}
.is-invalid.swal2-input, .is-invalid.swal2-select, .is-invalid.swal2-textarea, input.is-invalid[type=text], input.is-invalid[type=date], input.is-invalid[type=month], input.is-invalid[type=email], input.is-invalid[type=tel], input.is-invalid[type=number], input.is-invalid[type=password], input.is-invalid[type=search], textarea.is-invalid, select.is-invalid {
  border-color: #f43643;
}

.title, .cms h2,
.cms h3,
.cms h4,
.cke_editable h2,
.cke_editable h3,
.cke_editable h4,
.cke_panel_listItem h2,
.cke_panel_listItem h3,
.cke_panel_listItem h4, .guide-title {
  color: #262f38;
  line-height: 1.6;
}
.modal-dark .title, .modal-dark .cms h2, .cms .modal-dark h2,
.modal-dark .cms h3,
.cms .modal-dark h3,
.modal-dark .cms h4,
.cms .modal-dark h4,
.modal-dark .cke_editable h2,
.cke_editable .modal-dark h2,
.modal-dark .cke_editable h3,
.cke_editable .modal-dark h3,
.modal-dark .cke_editable h4,
.cke_editable .modal-dark h4,
.modal-dark .cke_panel_listItem h2,
.cke_panel_listItem .modal-dark h2,
.modal-dark .cke_panel_listItem h3,
.cke_panel_listItem .modal-dark h3,
.modal-dark .cke_panel_listItem h4,
.cke_panel_listItem .modal-dark h4, .modal-dark .guide-title {
  color: #fff;
}

.title-lg, .cms h2,
.cke_editable h2,
.cke_panel_listItem h2, .guide-title {
  padding-bottom: 0.25em;
  border-bottom: 2px solid var(--color-primary);
  font-size: 1.8rem;
}
.modal-dark .title-lg, .modal-dark .cms h2, .cms .modal-dark h2,
.modal-dark .cke_editable h2,
.cke_editable .modal-dark h2,
.modal-dark .cke_panel_listItem h2,
.cke_panel_listItem .modal-dark h2, .modal-dark .guide-title {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}

.title-md, .cms h3,
.cke_editable h3,
.cke_panel_listItem h3, .guide-sm .guide-title {
  padding-bottom: 0.25em;
  border-bottom: 2px solid var(--color-gray-border);
  font-size: 1.6rem;
}
.modal-dark .title-md, .modal-dark .cms h3, .cms .modal-dark h3,
.modal-dark .cke_editable h3,
.cke_editable .modal-dark h3,
.modal-dark .cke_panel_listItem h3,
.cke_panel_listItem .modal-dark h3, .modal-dark .guide-sm .guide-title, .guide-sm .modal-dark .guide-title {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}

.title-sm, .cms h4,
.cke_editable h4,
.cke_panel_listItem h4 {
  font-size: 1.4rem;
  font-weight: 700;
}

.list-ul > li:not(:first-child), .list-ol > li:not(:first-child), .list-notes > li:not(:first-child), .list-check > li:not(:first-child), .cms ul > li:not(:first-child),
.cms ol > li:not(:first-child),
.cke_editable ul > li:not(:first-child),
.cke_editable ol > li:not(:first-child),
.cke_panel_listItem ul > li:not(:first-child),
.cke_panel_listItem ol > li:not(:first-child) {
  margin-top: 0.5em;
}
.text-sm.list-ul > li:not(:first-child), .text-sm.list-ol > li:not(:first-child), .text-sm.list-notes > li:not(:first-child), .text-sm.list-check > li:not(:first-child), .cms ul.text-sm > li:not(:first-child),
.cms ol.text-sm > li:not(:first-child),
.cke_editable ul.text-sm > li:not(:first-child),
.cke_editable ol.text-sm > li:not(:first-child),
.cke_panel_listItem ul.text-sm > li:not(:first-child),
.cke_panel_listItem ol.text-sm > li:not(:first-child), .formList-note.list-ul > li:not(:first-child), .formList-note.list-ol > li:not(:first-child), .formList-note.list-notes > li:not(:first-child), .formList-note.list-check > li:not(:first-child), .cms ul.formList-note > li:not(:first-child),
.cms ol.formList-note > li:not(:first-child),
.cke_editable ul.formList-note > li:not(:first-child),
.cke_editable ol.formList-note > li:not(:first-child),
.cke_panel_listItem ul.formList-note > li:not(:first-child),
.cke_panel_listItem ol.formList-note > li:not(:first-child) {
  margin-top: 0;
}
.list-ul > li, .list-ol > li, .list-notes > li, .list-check > li, .cms ul > li,
.cms ol > li,
.cke_editable ul > li,
.cke_editable ol > li,
.cke_panel_listItem ul > li,
.cke_panel_listItem ol > li {
  position: relative;
  line-height: 1.6;
}
.list-ul > li::before, .list-ol > li::before, .list-notes > li::before, .list-check > li::before, .cms ul > li::before,
.cms ol > li::before,
.cke_editable ul > li::before,
.cke_editable ol > li::before,
.cke_panel_listItem ul > li::before,
.cke_panel_listItem ol > li::before {
  content: "";
  position: absolute;
}

.list-ul > li, .cms ul > li,
.cke_editable ul > li,
.cke_panel_listItem ul > li {
  padding-left: 2em;
}
.list-ul > li::before, .cms ul > li::before,
.cke_editable ul > li::before,
.cke_panel_listItem ul > li::before {
  top: 0.45em;
  left: 0.65em;
  border-radius: 50%;
  width: 0.5em;
  height: 0.5em;
  background-color: #3d4750;
}

.list-ol, .cms ol,
.cke_editable ol,
.cke_panel_listItem ol {
  counter-reset: list-ol;
}
.list-ol > li, .cms ol > li,
.cke_editable ol > li,
.cke_panel_listItem ol > li {
  padding-left: 2em;
}
.list-ol > li::before, .cms ol > li::before,
.cke_editable ol > li::before,
.cke_panel_listItem ol > li::before {
  content: counter(list-ol) ".";
  counter-increment: list-ol;
  top: 0;
  left: 1.75em;
  transform: translateX(-100%);
}

.table, .cms table,
.cke_editable table,
.cke_panel_listItem table {
  width: 100%;
  background-color: #fff;
}
.table th, .cms table th,
.cke_editable table th,
.cke_panel_listItem table th,
.table td,
.cms table td,
.cke_editable table td,
.cke_panel_listItem table td {
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-gray-border);
  line-height: 1.6;
}
.cke_editable .table th,
.cke_editable table th,
.cke_editable .table td,
.cke_editable table td {
  border: 1px solid var(--color-gray-border) !important;
}
.table th, .cms table th,
.cke_editable table th,
.cke_panel_listItem table th {
  background-color: var(--color-base-background);
  font-weight: 400;
  color: #262f38;
  vertical-align: middle;
}

.imgSelectList-input, input[type=checkbox], input[type=radio] {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}

@-webkit-keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes show-scale-up {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes show-scale-up {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes blink-white {
  0%, 100% {
    background-color: #fff;
  }
  50% {
    background-color: #fef6e7;
  }
}
@keyframes blink-white {
  0%, 100% {
    background-color: #fff;
  }
  50% {
    background-color: #fef6e7;
  }
}
button {
  cursor: pointer;
}

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input:-moz-placeholder-shown {
  color: #6b7681;
}

input:-ms-input-placeholder {
  color: #6b7681;
}

input:placeholder-shown {
  color: #6b7681;
}
input::-webkit-input-placeholder {
  color: #6b7681;
  opacity: 1;
}
input:-moz-placeholder {
  color: #6b7681;
}
input::-moz-placeholder {
  color: #6b7681;
  opacity: 1;
}
input:-ms-input-placeholder {
  color: #6b7681;
}
input[type=text], input[type=date], input[type=month], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search] {
  padding: 0.4em 0.75em;
  line-height: 1.2;
}
.searchDisplay-item input[type=text], .searchDisplay-item input[type=date], .searchDisplay-item input[type=month], .searchDisplay-item input[type=email], .searchDisplay-item input[type=tel], .searchDisplay-item input[type=number], .searchDisplay-item input[type=password], .searchDisplay-item input[type=search] {
  width: auto;
}
input[type=text]:-moz-read-only, input[type=date]:-moz-read-only, input[type=month]:-moz-read-only, input[type=email]:-moz-read-only, input[type=tel]:-moz-read-only, input[type=number]:-moz-read-only, input[type=password]:-moz-read-only, input[type=search]:-moz-read-only {
  background-color: var(--color-gray-background);
}
input[type=text]:read-only, input[type=date]:read-only, input[type=month]:read-only, input[type=email]:read-only, input[type=tel]:read-only, input[type=number]:read-only, input[type=password]:read-only, input[type=search]:read-only {
  background-color: var(--color-gray-background);
}
input[type=checkbox] + label, input[type=radio] + label {
  display: inline-block;
  position: relative;
  padding-left: 2em;
  line-height: 1.6;
}
input[type=checkbox] + label::before, input[type=checkbox] + label::after, input[type=radio] + label::before, input[type=radio] + label::after {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 18px;
  height: 18px;
}
input[type=checkbox]:focus + label::before, input[type=radio]:focus + label::before {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
input[type=checkbox]:disabled + label, input[type=radio]:disabled + label {
  opacity: 0.5;
}
input[type=checkbox]:disabled + label::before, input[type=radio]:disabled + label::before {
  background-color: var(--color-gray-background);
}
input[type=checkbox] + label::before, input[type=checkbox] + label::after {
  border-radius: 3px;
}
input[type=checkbox] + label::before {
  content: "";
  z-index: 1;
  border: 1px solid var(--color-gray-border);
  transition: opacity 0.3s;
}
input[type=checkbox] + label::after {
  content: "\f12c";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  z-index: 2;
  background-color: var(--color-primary);
  font-size: 1.1em;
  color: #fff;
  transition: opacity 0.3s;
}
input[type=checkbox]:checked + label::before {
  border-color: var(--color-primary);
}
input[type=checkbox]:checked + label::after {
  opacity: 1;
}
input[type=checkbox].is-invalid:not(:checked) + label::before {
  border-color: #f43643;
}
input[type=radio] + label::before, input[type=radio] + label::after {
  content: "";
  border-radius: 50%;
}
input[type=radio] + label::before {
  z-index: 1;
  border: 1px solid var(--color-gray-border);
  background-color: #fff;
  transition: border 0.3s;
}
input[type=radio] + label::after {
  opacity: 0;
  top: 5px;
  left: 4px;
  z-index: 2;
  width: 10px;
  height: 10px;
  background-color: var(--color-primary);
  color: #fff;
  transition: opacity 0.3s;
}
input[type=radio]:checked + label::before {
  border-color: var(--color-primary);
}
input[type=radio]:checked + label::after {
  opacity: 1;
}
input[type=radio].is-invalid:not(:checked) + label::before {
  border-color: #f43643;
}
input[type=range] {
  outline: none;
  margin: 0;
  border-radius: 2px;
  width: 100%;
  height: 4px;
  background-color: var(--color-gray-border);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type=range]:disabled {
  pointer-events: none;
}
input[type=range]:disabled::-webkit-slider-thumb {
  background-color: #6b7681 !important;
}
input[type=range]:disabled::-moz-range-thumb {
  background-color: #6b7681 !important;
}
input[type=range]::-webkit-slider-thumb {
  cursor: pointer;
  display: block;
  box-shadow: none;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  background-color: var(--color-primary);
  -webkit-transition: box-shadow 0.15s;
  transition: box-shadow 0.15s;
  -webkit-appearance: none;
          appearance: none;
}
input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.5);
}
input[type=range]::-moz-range-thumb {
  cursor: pointer;
  display: block;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  background-color: var(--color-primary);
  -moz-transition: box-shadow 0.15s;
  transition: box-shadow 0.15s;
}
input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.5);
}
input[type=range]::-moz-focus-outer {
  border: 0;
}

textarea {
  resize: vertical;
  display: block;
  padding: 0.4em 0.75em;
}
textarea:-moz-read-only {
  background-color: var(--color-gray-background);
}
textarea:read-only {
  background-color: var(--color-gray-background);
}

select {
  padding: 0.5em 1.75em 0.5em 0.75em;
  background: #fff url(/ex/images/sale/common/icon-select-arrow.svg) right 0.25em center/20px 20px no-repeat;
  line-height: 1.2;
}
.searchDisplay-item select {
  width: auto;
}

.alertBar {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 15px;
  width: 100%;
  font-size: 1.2rem;
}
.alertBar-maintenance {
  background-color: #f43643;
  color: #fff;
}
.alertBar-confirm {
  background-color: #fabc57;
  color: #3d4750;
}
.alertBar-btn {
  flex-shrink: 0;
  margin-left: 10px;
}
.alertBar a {
  color: inherit !important;
  text-decoration: underline;
}
.cart-aside + .cart-main {
  margin-top: 30px;
}
.cart-alert {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  gap: 1em;
}
.cart-alert:not(:has(.alert)) {
  display: none;
}
.cart-alert .alert,
.cart-alert p {
  margin-top: 0 !important;
}
*:not(:empty) + .cart-saleItem {
  margin-top: 30px;
}
.title + .cart-saleItem {
  margin-top: 0;
}
.cart-stickyHeader {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
  margin-right: -15px;
  margin-left: -15px;
  padding: 10px 15px;
  background-color: var(--color-primary-background);
  transition: top 0.2s linear, opacity 0.3s;
}
*:not(:empty) + .cart-stickyHeader {
  margin-top: 1em;
}
.title + .cart-stickyHeader {
  margin-top: 0;
}
.is-fixed-header.is-show-header .cart-stickyHeader {
  top: 60px;
}
.cart-stickyHeader.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.cart-stickyHeader .btn {
  background-color: #fff;
}
.cart-aside {
  transition: top 0.2s linear;
}
.cart-main + .cart-aside {
  margin-top: 30px;
}
.cart-main .cart-btn {
  margin-top: 30px;
  margin-bottom: 30px;
}
.cart-btn .btn:not(:first-child) {
  margin-top: 10px;
}
.cart-imgWrapper {
  position: relative;
  text-align: center;
}
.cart-imgWrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: 136px;
  height: 136px;
  background-color: var(--color-primary-background);
}
.cart-img {
  position: relative;
  z-index: 2;
  width: 160px;
}
.cart-orderNumber {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--color-gray-border);
  border-radius: 4px;
  min-height: 38px;
  font-size: 2rem;
  text-align: center;
}

.cartPhotobookPageLink {
  display: flex;
  gap: 10px;
}
.cartPhotobookPageLink-btn {
  flex: 1;
  position: relative;
  padding: 0.4em 0.75em;
  border: 1px solid var(--color-gray-border);
  border-radius: 4px;
  background-color: #fff;
  font-size: 1.2rem;
  color: #262f38;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  transition: background-color 0.3s;
}
.cartPhotobookPageLink-btn:hover, .cartPhotobookPageLink-btn:focus {
  background-color: var(--color-gray-background);
  color: #262f38;
}
.cartPhotobookPageLink-btn.is-success::after, .cartPhotobookPageLink-btn.is-notice::after {
  content: "";
  display: block;
  position: absolute;
  top: -7.2px;
  right: -7.2px;
  width: 18px;
  height: 18px;
  background: center center/contain no-repeat;
}
.cartPhotobookPageLink-btn.is-success::after {
  background-image: url("/ex/images/common/icon-success.svg");
}
.cartPhotobookPageLink-btn.is-notice::after {
  background-image: url("/ex/images/common/icon-warning.svg");
}
.cartPhotobookPageLink-btn.is-current {
  border-color: var(--color-primary);
}
.cartPhotobookPageLink-title {
  display: flex;
  justify-content: center;
  align-items: center;
}
.cartPhotobookPageLink-icon {
  transform: scale(1.2);
  margin-right: 0.25em;
  width: 1em;
}
.cartPhotobookPageLink-add {
  display: block;
  margin-top: 0.25em;
}
.cartPhotobookPageLink-addNumber {
  font-size: 1.4rem;
}
.cartPhotobookPageLink-total {
  display: block;
  margin-top: 0.25em;
}
.column-main + .column-sub {
  margin-top: 20px;
}
.column-sub + .column-main {
  margin-top: 20px;
}
.column-col + .column-col {
  margin-top: 20px;
}

.contact {
  padding: 30px 0;
  background: var(--color-primary-background);
}

.contactList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.contactList-item {
  border-radius: 4px;
  min-height: 80px;
  background-color: #fff;
}
.contactList-item:only-child {
  width: 100%;
}
.contactList-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px;
  height: 100%;
}
.contactList-inner:has(.contactList-title) {
  justify-content: flex-start;
}
.contactList-title {
  margin-bottom: 0.75em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #6b7681;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
}
.contactList-number {
  display: flex;
  align-items: center;
  font-size: 2.8rem;
  font-weight: 600;
  color: #262f38;
  line-height: 1.1;
}
.device-PC .contactList-number {
  pointer-events: none;
}
.contactList-number:hover, .contactList-number:focus {
  color: #262f38;
}
.contactList-number::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.25em;
  width: 1em;
  height: 1em;
  background: url("/ex/images/common/icon-tel.svg") center center/contain no-repeat;
}
.contactList-time {
  margin-top: 0.25em;
  font-size: 1.2rem;
  color: #6b7681;
  line-height: 1.4;
}
.contactList-companyName {
  margin-top: 0.5em;
  line-height: 1.4;
  text-align: center;
}
.contactList-link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 12px;
  height: 100%;
  min-height: 80px;
  font-size: 2.2rem;
  color: #262f38;
  line-height: 1.4;
}
.contactList-item-form .contactList-link {
  padding-right: calc(12px + 1em);
  padding-left: calc(12px + 1em);
}
.contactList-item-form .contactList-link::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.25em;
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-mail.svg") center center/contain no-repeat;
}
.contactList-link::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  color: #6b7681;
  transition: transform 0.3s;
}
.contactList-link:hover, .contactList-link:focus {
  color: #262f38;
}
.contactList-link:hover::after, .contactList-link:focus::after {
  transform: translateX(4px) translateY(-50%);
}

.filteringMenu {
  display: flex;
}
.photoGroupUtility-fixed .filteringMenu {
  height: 100%;
}
.filteringMenu-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  flex: auto;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 6px 8px;
  border-bottom: 1px solid var(--color-gray-border);
  min-width: 45%;
  min-height: 38px;
  background-color: #fff;
  color: #262f38;
  line-height: 1.6;
  text-align: center;
  transition: background-color 0.3s;
}
.filteringMenu-btn:hover, .filteringMenu-btn:focus {
  background-color: var(--color-gray-background);
}
.filteringMenu-btn + .filteringMenu-btn {
  border-left: 1px solid var(--color-gray-border);
}
.filteringMenu-btn.is-emphasis {
  -webkit-animation: blink-white 1s linear infinite;
          animation: blink-white 1s linear infinite;
}
.filteringMenu-text {
  display: inline-block;
}
.filteringMenu-text-icon::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 18px;
  height: 18px;
  background: center center/contain no-repeat;
  vertical-align: text-bottom;
}
.filteringMenu-btn-photoGroup .filteringMenu-text-icon::before {
  background-image: url("/ex/images/common/icon-photo-group-color.svg");
}
.filteringMenu-btn-photoGroupByFace .filteringMenu-text-icon::before {
  background-image: url("/ex/images/common/icon-kaotan.svg");
}
.filteringMenu-btn-face .filteringMenu-text-icon::before {
  background-image: url("/ex/images/common/icon-kaotan.svg");
}
.filteringMenu-btn-search .filteringMenu-text-icon::before {
  background-image: url("/ex/images/common/icon-search.svg");
}
.filteringMenu-recommend {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  color: var(--color-primary);
}
.filteringMenu-recommend::before, .filteringMenu-recommend::after {
  content: "";
  display: block;
  border-left: 1px solid var(--color-primary);
  height: 1em;
}
.filteringMenu-recommend::before {
  transform: rotate(-30deg);
  margin-right: 0.5em;
}
.filteringMenu-recommend::after {
  transform: rotate(30deg);
  margin-left: 0.5em;
}

.footer {
  background-color: var(--color-base-background);
  color: #fff;
}
.is-show-promotionCoupon .footer {
  padding-bottom: 60px;
}
.is-show-promotionCouponPhotoList .footer {
  padding-bottom: 60px;
}

.footerCopyright {
  padding: 10px;
  background-color: var(--color-primary-hover);
  line-height: 1.4;
  text-align: center;
}
.footerCopyright-text {
  font-size: 1.2rem;
}

.footerMenu {
  padding-top: 10px;
}
.footerMenu-item:not(:first-child) {
  margin-top: 10px;
}

.footerMenuList {
  background-color: #fff;
}
.footerMenuList:not(:first-child) {
  margin-top: 10px;
}
.footerMenuList-sub {
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.footerMenuList-item {
  position: relative;
}
.footerMenuList-btn, .footerMenuList-link {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.75em 15px;
  width: 100%;
  font-size: 1.6rem;
  color: #3d4750;
  line-height: 1.6;
  transition: color 0.3s;
}
.footerMenuList-btn:hover, .footerMenuList-btn:focus, .footerMenuList-link:hover, .footerMenuList-link:focus {
  color: var(--color-primary);
}
.footerMenuList-btn {
  padding-right: 35px;
}
.footerMenuList-btn::before, .footerMenuList-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 1em;
  width: 12px;
  height: 2px;
  background-color: #6b7681;
}
.footerMenuList-btn::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.footerMenuList-btn.is-open::after {
  transform: none;
}
.footerMenuList-btn::before, .footerMenuList-btn::after {
  right: 15px;
}
.footerMenuList-sub .footerMenuList-link {
  font-size: 1.4rem;
}
.footerMenuList-link.is-current {
  color: var(--color-primary);
}
.footerMenuList-childList {
  position: relative;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.footerMenuList-btn + .footerMenuList-childList {
  display: none;
}
.footerMenuList-btn + .footerMenuList-childList::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 15px;
  border-top: 1px solid #6b7681;
  width: calc(100% - 30px);
}
.footerMenuList-childLink {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  align-items: center;
  padding: 0.75em 15px;
  width: 100%;
  font-size: 1.4rem;
  color: #3d4750;
  line-height: 1.6;
  transition: color 0.3s;
}
.footerMenuList-childLink:hover, .footerMenuList-childLink:focus {
  color: var(--color-primary);
}
.footerMenuList-childLink.is-current {
  color: var(--color-primary);
}
.footerMenuList-icon {
  margin-right: 0.25em;
  width: 1.2em;
  font-size: 1.2em;
  line-height: 1;
}

.footerSecurity {
  display: flex;
  justify-content: center;
  margin-top: 1.4rem;
  font-size: 1.2rem;
  color: #3d4750;
  text-align: center;
  gap: 4px;
}
.footerSecurity-text {
  text-align: left;
}

.footerSitemap {
  padding: 20px 0;
  font-size: 1.2rem;
  line-height: 1.4;
}
.footerSitemap-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
}
.footerSitemap-link {
  color: #3d4750;
}
.footerSitemap-link:hover, .footerSitemap-link:focus {
  color: #3d4750;
}
.footerSitemap-icon {
  margin-right: 0.25em;
  width: 1.2em;
}

.globalInner {
  padding: 0 15px;
  transition: padding 0.3s;
}
.globalInner-sm {
  content: "";
}
.globalInner-fullWidth {
  margin: 0 -15px;
}

.globalWrapper {
  flex: 1;
  padding-top: 60px;
}

.globalWrapperFullScreen {
  position: relative;
  padding-top: 60px;
  height: 100vh;
}
.globalWrapperFullScreen-operationMenuSelect {
  padding-bottom: 110px;
}
.globalWrapperFullScreen-operationMenuOrder {
  padding-bottom: 55vh;
}
.globalWrapperFullScreen-alertWrapper {
  display: flex;
  justify-content: center;
  position: absolute;
  top: 75px;
  left: 0;
  z-index: 1030;
  padding: 0 15px;
  width: 100%;
}
.globalWrapperFullScreen-alert {
  padding: 0.6em 1.5em;
  border-radius: 3em;
  background-color: rgba(0, 0, 0, 0.85);
  color: #fff;
  line-height: 1.4;
  text-align: center;
}
.globalWrapperFullScreen-preview {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(45vh - 60px);
}
.globalWrapperFullScreen-previewImg-goods {
  width: auto;
  height: 200px;
  max-height: calc(100% - 30px);
  background: center center/contain no-repeat;
}

.guide-item {
  counter-increment: title;
}
.guide-item:not(:first-child) {
  margin-top: 20px;
}
.guide-title {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
.guide-title::before {
  content: counter(title);
  margin-right: 0.25em;
  font-size: 1.4em;
  color: var(--color-primary);
  line-height: 1;
}
.guide-sm .guide-title::before {
  color: var(--color-gray-border);
}
*:not(:empty) + .guide-contentItem:not(:first-child) {
  margin-top: 30px;
}
.title + .guide-contentItem:not(:first-child) {
  margin-top: 0;
}
.guide-contentHeader {
  margin-bottom: 1em;
  text-align: center;
}
.guide-contentImgWrapperOverlap {
  display: inline-block;
  position: relative;
}
.guide-contentImgWrapper {
  display: inline-block;
  position: relative;
  max-width: 400px;
}
.guide-contentImgWrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-gray-border);
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.guide-contentImgWrapper:not(.guide-contentImgWrapper-overlap):not(:first-child) {
  margin-top: 1em;
}
.guide-contentImgWrapper-overlap {
  position: absolute;
  top: 0;
  left: 0;
}
.guide-contentImgWrapper-overlap::before {
  content: none;
}
.guide-contentImg {
  width: 100%;
}
.guide-emphasis {
  font-weight: 700;
}
.guide-icon {
  display: inline-block;
  transform: scale(1.2);
  margin-right: 0.1em;
  margin-left: 0.1em;
  width: 1em;
}
.guide-icon:not(.mdi) {
  position: relative;
  top: -0.1em;
}
.guide-emphasis .guide-icon {
  margin-right: 0.25em;
}
.guideMenu-item:not(:first-child) {
  margin-top: 10px;
}
.guideMenu-link {
  display: flex;
  align-items: center;
  padding: 0.75em 15px;
  border: 1px solid #6b7681;
  border-radius: 4px;
  width: 100%;
  height: 100%;
  background-color: #fff;
  font-size: 1.6rem;
  color: #3d4750;
  line-height: 1.6;
  transition: background-color 0.3s;
}
.guideMenu-link:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.guideMenu-link:hover, .guideMenu-link:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.guideMenu-link img,
.guideMenu-link .mdi {
  margin-right: 0.25em;
  width: 1em;
  font-size: 1.2em;
  line-height: 1;
}
.guideMenu-link br {
  display: none;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1021;
  width: 100%;
  height: 60px;
  background-color: #fff;
  transition: transform 0.2s linear, box-shadow 0.15s;
}
.no-main-visual .header {
  box-shadow: 0 1px 0 var(--color-gray-border);
}
.is-fixed-header .header {
  position: fixed;
}
.is-fixed-header.is-hidden-header .header {
  transform: translateY(-100%);
  box-shadow: none;
}
.is-fixed-header.is-show-header .header {
  transform: none;
  box-shadow: 0 1px 0 var(--color-gray-border);
}
.header-logo, .header-utility {
  height: 100%;
}
.header-logo {
  width: 120px;
  transition: width 0.3s;
}
.header-utility {
  display: flex;
  justify-content: flex-end;
  width: calc(100% - 120px);
  transition: width 0.3s;
}

.headerBtn {
  display: flex;
  height: 100%;
}
.headerBtn-item {
  width: 50px;
}
.headerBtn-item-login {
  display: none;
}
.headerBtn-item-login .btn {
  min-width: auto;
  white-space: nowrap;
}
.headerBtn-item .dropdown {
  height: 100%;
}
.headerBtn-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 5px;
  width: 100%;
  height: 100%;
  color: #262f38;
}
.headerBtn-item-menu .headerBtn-btn {
  position: relative;
  z-index: 1051;
  padding-top: 8px;
}
.headerBtn-item-menu .headerBtn-btn .headerBtn-text {
  display: block;
}
.headerBtn-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
}
.headerBtn-icon img {
  width: 32px;
}
.headerBtn-line {
  position: relative;
  border-radius: 1em;
  width: 22px;
  height: 3px;
  background-color: var(--color-primary);
  transition: background-color 0.3s;
}
.is-open-menu .headerBtn-line {
  background-color: transparent;
}
.headerBtn-line::before, .headerBtn-line::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  border-radius: 1em;
  width: 100%;
  height: 3px;
  background-color: var(--color-primary);
  transition: transform 0.3s;
}
.headerBtn-line::before {
  transform: translateY(-8px);
}
.is-open-menu .headerBtn-line::before {
  transform: rotate(-45deg);
}
.headerBtn-line::after {
  transform: translateY(8px);
}
.is-open-menu .headerBtn-line::after {
  transform: rotate(45deg);
}
.headerBtn-line:hover::before, .headerBtn-line:hover::after, .headerBtn-line:focus::before, .headerBtn-line:focus::after {
  background-color: var(--color-primary-hover);
}
.headerBtn-text {
  display: none;
  position: relative;
  margin-top: 2px;
  width: 100%;
  font-size: 1rem;
  color: #6b7681;
  line-height: 1.2;
  text-align: center;
}
.headerBtn-open, .headerBtn-close {
  transition: opacity 0.3s;
}
.is-open-menu .headerBtn-open {
  opacity: 0;
}
.headerBtn-close {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.is-open-menu .headerBtn-close {
  opacity: 1;
}
.headerBtn-count {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 3px 5px;
  border-radius: 3em;
  min-width: 16px;
  background-color: #f43643;
  font-size: 1rem;
  color: #fff;
  line-height: 1;
  text-align: center;
}

.headerContactList {
  display: flex;
  flex-direction: column;
  padding: 0 15px;
  gap: 10px;
}
.header:not(.header-login) .headerContactList {
  margin-top: 20px;
}
.headerContactList-item {
  border: 1px solid #6b7681;
  border-radius: 4px;
  min-height: 80px;
}
.headerContactList-item:only-child {
  width: 100%;
}
.headerContactList-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px;
  height: 100%;
}
.headerContactList-inner:has(.headerContactList-title) {
  justify-content: flex-start;
}
.headerContactList-title {
  margin-bottom: 0.75em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #6b7681;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
}
.headerContactList-number {
  display: flex;
  align-items: center;
  font-size: 2.8rem;
  font-weight: 600;
  color: #262f38;
  line-height: 1.1;
}
.device-PC .headerContactList-number {
  pointer-events: none;
}
.headerContactList-number:hover, .headerContactList-number:focus {
  color: #262f38;
}
.headerContactList-number::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.25em;
  width: 1em;
  height: 1em;
  background: url("/ex/images/common/icon-tel.svg") center center/contain no-repeat;
}
.headerContactList-time {
  margin-top: 0.25em;
  font-size: 1.2rem;
  color: #6b7681;
  line-height: 1.4;
}
.headerContactList-companyName {
  margin-top: 0.5em;
  line-height: 1.4;
  text-align: center;
}
.headerContactList-link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 12px;
  height: 100%;
  min-height: 80px;
  font-size: 2.2rem;
  color: #262f38;
  line-height: 1.4;
}
.headerContactList-item-form .headerContactList-link {
  padding-right: calc(12px + 1em);
  padding-left: calc(12px + 1em);
}
.headerContactList-item-form .headerContactList-link::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.25em;
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-mail.svg") center center/contain no-repeat;
}
.headerContactList-link::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  color: #6b7681;
  transition: transform 0.3s;
}
.headerContactList-link:hover, .headerContactList-link:focus {
  color: #262f38;
}
.headerContactList-link:hover::after, .headerContactList-link:focus::after {
  transform: translateX(4px) translateY(-50%);
}

.headerFullScreen {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1021;
  box-shadow: 0 1px 0 var(--color-gray-border);
  padding: 10px;
  width: 100%;
  height: 60px;
  background-color: #fff;
}
.headerFullScreen-header {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.headerFullScreen-title {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  line-height: 1.4;
}
.headerFullScreen-titleIcon {
  margin-right: 0.25em;
  width: 1.2em;
  height: 1.2em;
}
.headerFullScreen-utility {
  display: flex;
  gap: 10px;
}
.headerFullScreen-utility .btn {
  margin-top: 0 !important;
  min-width: auto;
}

.headerLogo {
  position: relative;
  z-index: 1051;
  height: 100%;
  transition: width 0.3s;
}
.headerLogo-link {
  display: flex;
  align-items: center;
  padding: 10px;
  width: 100%;
  height: 100%;
}
.headerLogo-link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}

.headerMenu {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translateX(100%);
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: opacity 0.3s, transform 0.3s;
  pointer-events: none;
}
.headerMenu.is-open {
  opacity: 1;
  z-index: 1050;
  transform: none;
  pointer-events: auto;
}
.headerMenu-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 50px;
  padding-left: 120px;
  height: 60px;
}
.headerMenu-body {
  overflow-y: auto;
  padding-bottom: 20px;
  height: calc(100% - 60px);
}
.device-pc .headerMenu-body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.device-pc .headerMenu-body::-webkit-scrollbar-track {
  border-radius: 1em;
  background-color: #fff;
}
.device-pc .headerMenu-body::-webkit-scrollbar-thumb {
  border-radius: 1em;
  border: 2px solid #fff;
  background-color: var(--color-gray-border);
}
.device-pc .headerMenu-body {
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray-border) transparent;
}
.headerMenu-content {
  margin-right: auto;
  margin-left: auto;
  max-width: 660px;
}
.headerMenu-login {
  padding: 20px 15px;
}
.headerMenu-account {
  margin-bottom: 15px;
  padding: 10px 15px;
  background-color: var(--color-gray-background);
}
.headerMenu-item-sub {
  margin-top: 15px;
}
.headerMenu-item-contact {
  margin-top: 20px;
}

.headerMenuList {
  position: relative;
}
.headerMenuList-sub {
  display: flex;
  flex-wrap: wrap;
}
.header:not(.header-login) .headerMenuList-sub {
  margin-top: 15px;
}
.headerMenuList-item {
  position: relative;
}
.headerMenuList-sub .headerMenuList-item {
  width: 50%;
}
.headerMenuList-main .headerMenuList-item::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 15px;
  border-top: 1px solid #262f38;
  width: calc(100% - 30px);
}
.headerMenuList-btn, .headerMenuList-link {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.75em 15px;
  width: 100%;
  font-size: 1.6rem;
  color: #262f38;
  line-height: 1.6;
  transition: color 0.3s;
}
.headerMenuList-main .headerMenuList-btn, .headerMenuList-main .headerMenuList-link {
  padding-right: 35px;
}
.headerMenuList-sub .headerMenuList-btn, .headerMenuList-sub .headerMenuList-link {
  font-size: 1.4rem;
}
.headerMenuList-btn:hover, .headerMenuList-btn:focus, .headerMenuList-link:hover, .headerMenuList-link:focus {
  color: var(--color-primary);
}
.headerMenuList-btn::before, .headerMenuList-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 1em;
  width: 12px;
  height: 2px;
  background-color: #6b7681;
}
.headerMenuList-btn::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.headerMenuList-btn.is-open::after {
  transform: none;
}
.headerMenuList-btn::before, .headerMenuList-btn::after {
  right: 15px;
}
.headerMenuList-link::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  font-size: 1.8rem;
  color: #3d4750;
  transition: transform 0.3s;
}
.headerMenuList-sub .headerMenuList-link::after {
  content: none;
}
.headerMenuList-link:hover::after, .headerMenuList-link:focus::after {
  transform: translateX(2px) translateY(-50%);
}
.headerMenuList-link.is-current {
  color: var(--color-primary);
}
.headerMenuList-icon {
  margin-right: 0.25em;
  width: 1.2em;
  font-size: 1.2em;
  line-height: 1;
}
.headerMenuList-childList {
  display: none;
  position: relative;
  padding-bottom: 0.75em;
}
.headerMenuList-childLink {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  align-items: center;
  padding: 0.75em 15px;
  width: 100%;
  color: #3d4750;
  line-height: 1.6;
  transition: color 0.3s;
}
.headerMenuList-childLink:hover, .headerMenuList-childLink:focus {
  color: var(--color-primary);
}
.headerMenuList-childLink.is-current {
  color: var(--color-primary);
}

.headerNav {
  display: none;
  height: 100%;
  line-height: 1.3;
}
.headerNav-link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 15px;
  height: 100%;
  font-size: 1.4rem;
  color: #262f38;
  text-align: center;
  transition: color 0.3s;
}
.headerNav-link:hover, .headerNav-link:focus {
  color: var(--color-primary);
}
.headerNav-link.is-current::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--color-primary);
}
.headerNav-icon {
  margin-right: 0.25em;
}

.mainVisual {
  position: relative;
}
.mainVisual-contentWidth {
  margin: 0 auto;
  max-width: 1160px;
  transition: padding 0.3s;
}
.mainVisual-bothSides {
  overflow: hidden;
}
.mainVisual-bothSides .swiper {
  overflow: visible;
}
.mainVisual-bothSides .swiper-slide {
  max-width: 1160px;
  transition: opacity 0.3s;
}
.mainVisual-bothSides .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.3;
}
.mainVisual-rounded {
  padding: 0 15px;
}
.mainVisual-rounded:not(.mainVisual-bothSides) .swiper {
  overflow: hidden;
  border-radius: 15px;
}
.mainVisual-imgWrapper {
  display: block;
}
.mainVisual-img {
  display: block;
  width: 100%;
}
.mainVisual-rounded .mainVisual-img {
  border-radius: 15px;
}
.mainVisual .swiper-fade .swiper-pagination-bullet,
.mainVisual .swiper-fade ~ .swiper-button-prev,
.mainVisual .swiper-fade ~ .swiper-button-next {
  display: none;
}
.mainVisual .swiper-pagination-bullet {
  opacity: 0.65;
  border-radius: 0;
  width: 20px;
  height: 3px;
  background: #fff;
  transition: width 0.5s;
}
.mainVisual .swiper-pagination-bullet-active {
  opacity: 1;
  width: 40px;
  background: var(--color-primary);
}
.mainVisual .swiper-button-prev, .mainVisual .swiper-button-next {
  opacity: 0.75;
  margin-top: -20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: #fff;
  font-size: 24px;
  color: #6b7681;
  transition: opacity 0.3s;
  display: none;
}
.mainVisual .swiper-button-prev:hover, .mainVisual .swiper-button-next:hover {
  opacity: 1;
}
.mainVisual .swiper-button-prev.swiper-button-disabled, .mainVisual .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.mainVisual .swiper-button-prev {
  left: 15px;
}
.mainVisual .swiper-button-prev::after {
  content: "\f04d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mainVisual .swiper-button-next {
  right: 15px;
}
.mainVisual .swiper-button-next::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mainVisual-slideImgWrapper {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
}
.mainVisual-slideImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mainVisual-rounded.mainVisual-bothSides .mainVisual-slideImg {
  overflow: hidden;
  border-radius: 15px;
}

.mainVisualLower {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  height: 130px;
  background: var(--color-primary-background) center center/cover no-repeat;
  text-align: center;
}
.mainVisualLower-title {
  position: relative;
  z-index: 1;
  font-size: 2.4rem;
  line-height: 1.4;
}
.mainVisualLower-title-black {
  color: #262f38;
}
.mainVisualLower-title-white {
  color: #fff;
}
.mainVisualLower-main, .mainVisualLower-sub {
  display: block;
}
.mainVisualLower-main + .mainVisualLower-sub {
  margin-top: 0.25em;
}
.mainVisualLower-sub {
  opacity: 0.7;
  font-size: 1.6rem;
}
.mainVisualLower-sub + .mainVisualLower-main {
  margin-top: 0.25em;
}

.operationMenu {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 1017;
  border-top: 1px solid var(--color-gray-border);
  width: 100%;
  background-color: #fff;
  transition: height 0.15s;
}
.operationMenu-select {
  padding: 10px;
  height: 110px;
}
.operationMenu-order {
  height: 55vh;
}
.operationMenu-full {
  height: calc(100% - 60px);
}
.operationMenu-tab {
  display: flex;
  height: 45px;
  line-height: 1.4;
}
.operationMenu-tabItem {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid var(--color-gray-border);
  height: 100%;
  font-size: 1.6rem;
  color: #262f38;
  pointer-events: none;
}
.operationMenu-order .operationMenu-tabItem {
  justify-content: flex-start;
  font-size: 1.4rem;
}
.operationMenu-tabItem:hover, .operationMenu-tabItem:focus {
  color: #262f38;
}
.operationMenu-tabItem:not(:first-child) {
  border-left: 1px solid var(--color-gray-border);
}
.operationMenu-tabItem.is-active {
  border-bottom-color: transparent;
}
.operationMenu-tabItem.is-active .operationMenu-tabItemOrder {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.operationMenu-tabItem.is-done {
  pointer-events: auto;
}
.operationMenu-tabItem.is-done .operationMenu-tabItemOrder {
  position: relative;
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: transparent;
}
.operationMenu-tabItem.is-done .operationMenu-tabItemOrder::before {
  content: "\f12c";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.2em;
  color: #fff;
}
.operationMenu-tabItemIcon {
  margin-right: 0.25em;
  width: 24px;
}
.operationMenu-tabItemOrder {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.25em;
  border: 1px solid var(--color-gray-border);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  color: #6b7681;
}
.operationMenu-tabContent {
  display: none;
  height: calc(100% - 45px);
}
.operationMenu-tabContent.is-active {
  display: block;
}
.operationMenu-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.operationMenu-body {
  flex: 1 1 auto;
  padding: 15px;
}
.operationMenu-order .operationMenu-body {
  overflow-y: auto;
}
.operationMenu-footer {
  flex-shrink: 0;
  padding: 15px;
  border-top: 1px solid var(--color-gray-border);
  background-color: var(--color-primary-background);
}
.operationMenu-footerMessage {
  margin-bottom: 0.5em;
  line-height: 1.4;
  text-align: center;
}
.operationMenu-footerBtn {
  display: flex;
  gap: 10px;
}
.operationMenu-footerBtn .btn {
  flex: 1;
  margin-top: 0 !important;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

.overlay {
  display: block;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  transition: opacity 0.3s;
  pointer-events: none;
}
.overlay.is-show {
  opacity: 1;
  z-index: 1049;
  pointer-events: auto;
}

.overlayProtection {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2010;
  padding: 15px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  color: #fff;
}
.overlayProtection-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
}
.overlayProtection-title {
  margin-bottom: 0.5em;
  font-size: 2.4rem;
  line-height: 1.6;
}
.pageTop-link {
  display: block;
  padding: 0.5em 15px;
  background-color: var(--color-base-light);
  color: #3d4750;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
}
.pageTop-link::before {
  content: "\f05d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  transform: scale(1.2);
  margin-right: 0.25em;
}
.pageTop-link:hover, .pageTop-link:focus {
  background-color: var(--color-base-soft);
  color: #262f38;
}

.photoGroupUtility {
  background-color: var(--color-primary-background);
}
.photoGroupUtility-fixed {
  position: fixed;
  top: 0;
  z-index: 1020;
  transform: translateY(-100%);
  width: 100%;
  transition: top 0.2s linear, transform 0.2s linear;
}
.is-show-photoGroupUtility .photoGroupUtility-fixed {
  transform: none;
}
.is-show-photoGroupUtility.is-show-header .photoGroupUtility-fixed {
  top: 60px;
}
.photoGroupUtility-info {
  padding: 10px 15px;
  border-bottom: 1px solid var(--color-gray-border);
  grid-area: info;
}
.photoGroupUtility-btn {
  grid-area: btn;
}
.photoGroupUtility-comment {
  border-bottom: 1px solid var(--color-gray-border);
  grid-area: comment;
}
.photoGroupUtility-commentDetail {
  padding: 10px 15px;
  background-color: #fff;
}
.qa-main {
  margin-top: 30px;
}
.qa-aside {
  transition: top 0.2s linear;
}

.saleInfo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.saleInfo-info {
  width: calc(100% - 140px);
  line-height: 1.6;
}
.saleInfo-school, .saleInfo-sale, .saleInfo-target {
  font-size: 1.2rem;
  color: #6b7681;
}
.saleInfo-group {
  margin-top: 0.5em;
  font-size: 1.2rem;
}
.saleInfo-title {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 400;
}
.saleInfo-title .label {
  flex-shrink: 0;
  margin-right: 6px;
}
.saleInfo-period {
  width: 130px;
  line-height: 1.6;
  text-align: center;
}
.saleInfo-periodTitle {
  display: inline-block;
  padding: 0.15em 1em;
  border-radius: 2em;
  background-color: var(--color-primary);
  font-size: 1.2rem;
  color: #fff;
}
.saleInfo-periodBody {
  margin-top: -8px;
  padding: 13px 8px 8px;
  border-radius: 4px;
  background-color: #fff;
  white-space: nowrap;
}
.saleInfo-periodExtension {
  display: block;
  color: #03a9f4;
}
.saleInfo-price {
  margin-top: 10px;
  width: 100%;
}
.saleInfo-priceList {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  line-height: 1.6;
}
.saleInfo-priceItem:not(:last-child) {
  margin-right: 0.5em;
  padding-right: 0.5em;
  border-right: 1px solid var(--color-gray-border);
}
.saleInfo-priceLink {
  display: block;
}

.section {
  padding: 40px 0;
}
.section-border {
  border-top: 1px solid var(--color-gray-border);
}
.section.bg-sub + .section.bg-sub {
  padding-top: 0;
}
.section:not([class*=bg-]):not(.section-border) + .section:not([class*=bg-]):not(.section-border) {
  padding-top: 0;
}
.section-thin {
  padding: 20px 0;
}
.sectionGrid-half {
  margin-right: auto;
  margin-left: auto;
}
.sectionGrid-item:not(:first-child) {
  margin-top: 30px;
}
.sectionGrid-item-border {
  position: relative;
  margin-top: 40px !important;
  padding-top: 40px;
}
.sectionGrid-item-border::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -15px;
  border-top: 1px solid var(--color-gray-border);
  width: calc(100% + 30px);
}

.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  transform: translateX(-100%);
  width: 100%;
  max-width: 430px;
  height: 100%;
  background-color: #fff;
  transition: transform 0.3s;
}
.sidebar.is-open {
  transform: none;
}
.sidebar-header {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 60px;
  padding-left: 15px;
  border-bottom: 1px solid var(--color-gray-border);
  height: 60px;
}
.sidebar-title {
  overflow: hidden;
  font-size: 2rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-title img {
  margin-right: 0.25em;
  width: 1.2em;
}
.sidebar-title .mdi {
  margin-right: 0.25em;
  font-size: 1.2em;
  line-height: 1;
}
.sidebar-close {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.5;
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  color: #000;
}
.sidebar-close:hover, .sidebar-close:focus {
  opacity: 0.75;
}
.sidebar-close::before {
  content: "\f156";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
}
.sidebar-body {
  overflow-y: auto;
  height: calc(100% - 60px);
}
.sidebar-subTitle {
  padding: 10px 15px;
  border-bottom: 1px solid var(--color-gray-border);
  font-size: 1.6rem;
}
.sidebar-subTitle-sm {
  font-size: 1.4rem;
}
.sidebar-content {
  padding-top: 20px;
  padding-bottom: 20px;
}
.sidebar-inner {
  padding: 0 15px;
}

.sidebarList-item {
  border-bottom: 1px solid var(--color-gray-border);
  line-height: 1.6;
}
[class*=sidebarList-hierarchy]:not(.sidebarList-hierarchy1) .sidebarList-item:first-child {
  border-top: 1px solid var(--color-gray-border);
}
[class*=sidebarList-hierarchy]:not(.sidebarList-hierarchy1) .sidebarList-item:last-child {
  border-bottom: none;
}
.sidebarList-link, .sidebarList-btn {
  display: flex;
  align-items: center;
  color: #3d4750;
  transition: background-color 0.3s;
}
.sidebarList-link:hover, .sidebarList-link:focus, .sidebarList-btn:hover, .sidebarList-btn:focus {
  background-color: rgba(var(--color-gray-background), 0.5);
  color: #262f38;
}
.sidebarList-link.is-disabled, .sidebarList-btn.is-disabled {
  background-color: var(--color-gray-background);
  color: #6b7681;
  pointer-events: none;
}
.sidebarList-link .label, .sidebarList-btn .label {
  flex-shrink: 0;
  margin-right: 6px;
}
.sidebarList-link {
  padding: 10px 15px;
}
.sidebarList-link.is-current {
  background-color: var(--color-primary-background);
  color: var(--color-primary);
}
.sidebarList-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  position: relative;
  padding: 10px 15px;
  width: 100%;
}
.sidebarList-btn::before, .sidebarList-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 1em;
  width: 12px;
  height: 2px;
  background-color: var(--color-primary);
}
.sidebarList-btn::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.sidebarList-btn.is-open::after {
  transform: none;
}
.sidebarList-btn::before, .sidebarList-btn::after {
  left: 15px;
}
.sidebarList-text {
  display: flex;
  align-items: center;
  margin-right: auto;
}
.sidebarList-text .label {
  flex-shrink: 0;
  margin-right: 6px;
}
.sidebarList-label {
  flex: none;
  margin-left: 6px;
  font-size: 1.2rem;
  color: #6b7681;
}
.sidebarList-label-selected, .sidebarList-label-bought {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.75em;
  border: 1px solid;
  border-radius: 3em;
  min-height: 20px;
  font-size: 1.2rem;
  line-height: 1.3;
}
.sidebarList-label-selected {
  border-color: var(--color-primary);
  background-color: #fff;
  color: var(--color-primary);
}
.sidebarList-label-bought {
  border-color: #6b7681;
  background-color: #6b7681;
  color: #fff;
}
.sidebarList-label-bought::before {
  content: "\f111";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
}
.sidebarList-hierarchy1 .sidebarList-btn, .sidebarList-hierarchy1 .sidebarList-link {
  padding-left: 35px;
}
.sidebarList-hierarchy1 .sidebarList-btn::before, .sidebarList-hierarchy1 .sidebarList-btn::after {
  left: 15px;
}
.sidebarList-hierarchy2 .sidebarList-btn, .sidebarList-hierarchy2 .sidebarList-link {
  padding-left: 55px;
}
.sidebarList-hierarchy2 .sidebarList-btn::before, .sidebarList-hierarchy2 .sidebarList-btn::after {
  left: 35px;
}
.sidebarList-hierarchy3 .sidebarList-btn, .sidebarList-hierarchy3 .sidebarList-link {
  padding-left: 75px;
}
.sidebarList-hierarchy3 .sidebarList-btn::before, .sidebarList-hierarchy3 .sidebarList-btn::after {
  left: 55px;
}
.sidebarList-hierarchy4 .sidebarList-btn, .sidebarList-hierarchy4 .sidebarList-link {
  padding-left: 95px;
}
.sidebarList-hierarchy4 .sidebarList-btn::before, .sidebarList-hierarchy4 .sidebarList-btn::after {
  left: 75px;
}
.sidebarList-hierarchy5 .sidebarList-btn, .sidebarList-hierarchy5 .sidebarList-link {
  padding-left: 115px;
}
.sidebarList-hierarchy5 .sidebarList-btn::before, .sidebarList-hierarchy5 .sidebarList-btn::after {
  left: 95px;
}
.sidebarList-hierarchy6 .sidebarList-btn, .sidebarList-hierarchy6 .sidebarList-link {
  padding-left: 135px;
}
.sidebarList-hierarchy6 .sidebarList-btn::before, .sidebarList-hierarchy6 .sidebarList-btn::after {
  left: 115px;
}
.sidebarList-hierarchy7 .sidebarList-btn, .sidebarList-hierarchy7 .sidebarList-link {
  padding-left: 155px;
}
.sidebarList-hierarchy7 .sidebarList-btn::before, .sidebarList-hierarchy7 .sidebarList-btn::after {
  left: 135px;
}
.sidebarList-hierarchy8 .sidebarList-btn, .sidebarList-hierarchy8 .sidebarList-link {
  padding-left: 175px;
}
.sidebarList-hierarchy8 .sidebarList-btn::before, .sidebarList-hierarchy8 .sidebarList-btn::after {
  left: 155px;
}
.sidebarList-hierarchy9 .sidebarList-btn, .sidebarList-hierarchy9 .sidebarList-link {
  padding-left: 195px;
}
.sidebarList-hierarchy9 .sidebarList-btn::before, .sidebarList-hierarchy9 .sidebarList-btn::after {
  left: 175px;
}
.sidebarList-hierarchy10 .sidebarList-btn, .sidebarList-hierarchy10 .sidebarList-link {
  padding-left: 215px;
}
.sidebarList-hierarchy10 .sidebarList-btn::before, .sidebarList-hierarchy10 .sidebarList-btn::after {
  left: 195px;
}

.sidebarSelectSale::after {
  content: "";
  display: block;
  clear: both;
}
.sidebarSelectSale-subTitle, .sidebarSelectSale-title {
  line-height: 1.6;
}
.sidebarSelectSale-subTitle {
  margin-bottom: 0.25em;
  font-size: 1.4rem;
  color: #6b7681;
}
.sidebarSelectSale-title {
  display: inline-flex;
  align-items: center;
}
.sidebarSelectSale-title .label {
  flex-shrink: 0;
  margin-right: 6px;
}
.sidebarSelectSale-link {
  float: right;
  margin-left: 1em;
  font-size: 1.4rem;
  line-height: 1.4;
  white-space: nowrap;
}

.alert {
  padding: 12px;
  border-radius: 4px;
  background-color: var(--color-gray-background);
}
*:not(:empty) + .alert {
  margin-top: 1em;
}
.title + .alert {
  margin-top: 0;
}
.alert-info {
  background-color: #e6f7fe;
}
.alert-success {
  background-color: #e6f5f3;
}
.alert-warning {
  background-color: #fef6e7;
}
.alert-error {
  background-color: #fee8eb;
}
.alert-col {
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.alert-title {
  font-weight: 700;
  color: #262f38;
}
.alert-success .alert-title, .alert-warning .alert-title, .alert-error .alert-title {
  position: relative;
  padding-left: calc(2rem + 0.25em);
}
.alert-success .alert-title::before, .alert-warning .alert-title::before, .alert-error .alert-title::before {
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 2rem;
  height: 2rem;
  background: center center/contain no-repeat;
}
.alert-success .alert-title::before {
  background-image: url("/ex/images/common/icon-success.svg");
}
.alert-warning .alert-title::before {
  background-image: url("/ex/images/common/icon-warning.svg");
}
.alert-error .alert-title::before {
  background-image: url("/ex/images/common/icon-error.svg");
}
.alert-title + .alert-text {
  margin-top: 0.25em;
}
.alert-btn {
  display: flex;
  flex-direction: column;
  margin-top: 1em;
  text-align: center;
}
.alert-col .alert-btn {
  flex-shrink: 0;
  margin-top: 0;
  margin-left: auto;
}

.alertImg {
  display: grid;
  align-items: center;
  padding: 12px;
  border-radius: 4px;
  background-color: var(--color-gray-background);
  grid-gap: 0 12px;
  grid-template-columns: 80px 1fr;
  grid-template-areas: "img text" "btn btn";
}
*:not(:empty) + .alertImg {
  margin-top: 1em;
}
.title + .alertImg {
  margin-top: 0;
}
.alertImg-imgWrapper {
  grid-area: img;
}
.alertImg-img {
  border-radius: 2px;
  width: 100%;
  background: center center/cover no-repeat;
}
.alertImg-text {
  grid-area: text;
}
.alertImg-btn {
  margin-top: 12px;
  margin-left: auto;
  width: 100%;
  text-align: center;
  grid-area: btn;
}

.alertNotice {
  margin-bottom: 30px;
  border: 2px solid #f43643;
  border-radius: 4px;
  background-color: #fff;
}
.alertNotice-title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 12px;
  background-color: #f43643;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.4;
}
.alertNotice-title::before {
  content: "\f028";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
  font-size: 1.2em;
}
.alertNotice-text {
  padding: 12px;
}
.bannerList-item {
  margin: 0 auto;
}
.bannerList-footer .bannerList-item {
  max-width: 275px;
}
.bannerList-item:not(:first-child) {
  margin-top: 10px;
}
.bannerList-link {
  display: block;
}
.bannerList-img {
  width: 100%;
}

.bannerSlider {
  position: relative;
  overflow: hidden;
  padding: 0 30px 30px;
}
.bannerSlider-square {
  max-width: 960px;
}
.bannerSlider-square .swiper:not(.swiper-initialized) .swiper-slide {
  width: calc(25% - 7.5px);
}
.bannerSlider-square .swiper-slide {
  width: 100px;
}
.bannerSlider-rectangle {
  max-width: 920px;
}
.bannerSlider-rectangle .swiper:not(.swiper-initialized) .swiper-slide {
  width: calc(50% - 5px);
}
.bannerSlider-rectangle .swiper-slide {
  width: 200px;
}
.bannerSlider-link {
  display: block;
}
.bannerSlider-list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 -15px -30px;
}
.bannerSlider-square .bannerSlider-item {
  max-width: 100px;
}
.bannerSlider-rectangle .bannerSlider-item {
  max-width: 200px;
}
.bannerSlider-item:not(:last-child) {
  margin-right: 10px;
}
.bannerSlider .swiper {
  overflow: visible;
}
.bannerSlider .swiper:not(.swiper-initialized) .swiper-wrapper {
  justify-content: center;
}
.bannerSlider .swiper:not(.swiper-initialized) .swiper-slide {
  flex-shrink: 1;
}
.bannerSlider .swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
  margin-left: 10px;
}
.bannerSlider .swiper:not(.swiper-initialized) .swiper-scrollbar {
  display: none;
}
.bannerSlider .swiper:not(.swiper-initialized) ~ .swiper-pagination,
.bannerSlider .swiper:not(.swiper-initialized) ~ .swiper-button-prev,
.bannerSlider .swiper:not(.swiper-initialized) ~ .swiper-button-next {
  display: none;
}
.bannerSlider .swiper-slide:first-child {
  margin-left: auto;
}
.bannerSlider .swiper-slide:last-child {
  margin-right: auto !important;
}
.bannerSlider .swiper-pagination {
  top: auto;
  bottom: 0;
}
.bannerSlider .swiper-pagination-bullet-active {
  background: var(--color-primary);
}
.bannerSlider .swiper-button-prev, .bannerSlider .swiper-button-next {
  display: none;
  opacity: 0.75;
  margin-top: -20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: #fff;
  font-size: 24px;
  color: #6b7681;
  transition: opacity 0.3s;
}
.bannerSlider .swiper-button-prev:hover, .bannerSlider .swiper-button-next:hover {
  opacity: 1;
}
.bannerSlider .swiper-button-prev.swiper-button-disabled, .bannerSlider .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.bannerSlider .swiper-button-prev {
  left: 5px;
}
.bannerSlider .swiper-button-prev::after {
  content: "\f04d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.bannerSlider .swiper-button-next {
  right: 5px;
}
.bannerSlider .swiper-button-next::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid;
  border-radius: 4px;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  padding: 0.4em 0.75em;
  width: 100%;
  min-height: 38px;
  font-size: 1.6rem;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}
*:not(:empty) + .btn {
  margin-top: 1em;
}
.title + .btn {
  margin-top: 0;
}
.btn-sm {
  padding: 0.25em 0.5em;
  width: auto;
  min-height: 30px;
  font-size: 1.4rem;
}
.btn-lg {
  font-size: 2rem;
}
.btn.is-disabled, .btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btn img,
.btn svg {
  transform: scale(1.2);
  margin-right: 0.25em;
  width: 1em;
}
.btn svg {
  height: 1em;
}
.btn .mdi {
  margin-right: 0.25em;
}
.btn .mdi::before {
  transform: scale(1.2);
}
.btn-icon {
  padding-right: 2em;
  padding-left: 2em;
}
.btn-icon img,
.btn-icon svg,
.btn-icon .mdi {
  position: absolute;
  top: 50%;
  left: 0.6em;
}
.btn-icon img,
.btn-icon svg {
  transform: scale(1.2) translateY(-50%);
}
.btn-icon .mdi {
  transform: translateY(-50%);
}
.btn-icon .label {
  margin-left: 0.5em;
}
.btn-primary {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.btn-primary:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #fff;
}
.btn-secondary {
  border-color: var(--color-primary);
  background-color: #fff;
  color: var(--color-primary);
}
.btn-secondary:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btn-secondary:hover, .btn-secondary:focus {
  background-color: var(--color-primary-background);
  border-color: var(--color-primary-hover);
  color: var(--color-primary-hover);
}
.btn-secondary path {
  fill: var(--color-primary);
}
.btn-tertiary {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.btn-tertiary:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.btn-tertiary:hover, .btn-tertiary:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.btn-quaternary {
  border-color: transparent;
  background-color: #fff;
  color: var(--color-primary);
}
.btn-quaternary:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btn-quaternary:hover, .btn-quaternary:focus {
  color: var(--color-primary-hover);
}
.btn-delete {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.btn-delete:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.btn-delete:hover, .btn-delete:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.btn-notice {
  border-color: #f43643;
  background-color: #f43643;
  color: #fff;
}
.btn-notice:focus {
  box-shadow: 0 0 0 3px rgba(244, 54, 67, 0.2);
}
.btn-notice:hover, .btn-notice:focus {
  background-color: #db2534;
  border-color: #db2534;
  color: #fff;
}
.btn-outlineWhite {
  border-color: #fff;
  color: #fff;
}
.btn-outlineWhite:focus {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}
.btn-outlineWhite:hover, .btn-outlineWhite:focus {
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.btn-prev, .btn-next {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
  padding-right: 2em;
  padding-left: 2em;
}
.btn-prev:focus, .btn-next:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.btn-prev:hover, .btn-prev:focus, .btn-next:hover, .btn-next:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.btn-prev::before, .btn-next::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: scale(1.2) translateY(-50%);
}
.btn-prev::before {
  content: "\f04d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  left: 0.6em;
}
.btn-next::before {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  right: 0.6em;
}
.btn-cart, .btn-cartAdd, .btn-photoGroup, .btn-design, .btn-editDesign {
  padding-right: 2em;
  padding-left: 2em;
}
.btn-cart::before, .btn-cartAdd::before, .btn-photoGroup::before, .btn-design::before, .btn-editDesign::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background: center center/contain no-repeat;
}
.modal-footer .btnRow:not(:only-child) .btn-cart, .modal-footer .btnRow:not(:only-child) .btn-cartAdd, .modal-footer .btnRow:not(:only-child) .btn-photoGroup, .modal-footer .btnRow:not(:only-child) .btn-design, .modal-footer .btnRow:not(:only-child) .btn-editDesign {
  padding-right: 0.75em;
}
.btn-cart, .btn-photoGroup, .btn-editDesign {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.btn-cart:focus, .btn-photoGroup:focus, .btn-editDesign:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.btn-cart:hover, .btn-cart:focus, .btn-photoGroup:hover, .btn-photoGroup:focus, .btn-editDesign:hover, .btn-editDesign:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.btn-cart::before {
  background-image: url("/ex/images/common/icon-cart.svg");
}
.btn-cart.btn-primary {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.btn-cart.btn-primary:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btn-cart.btn-primary:hover, .btn-cart.btn-primary:focus {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #fff;
}
.btn-cart.btn-primary::before {
  background-image: url("/ex/images/common/icon-cart-white.svg");
}
.btn-photoGroup::before {
  background-image: url("/ex/images/common/icon-photo-group.svg");
}
.btn-cartAdd {
  border-color: #f57c00;
  background-color: #f57c00;
  color: #fff;
}
.btn-cartAdd:focus {
  box-shadow: 0 0 0 3px rgba(245, 124, 0, 0.2);
}
.btn-cartAdd:hover, .btn-cartAdd:focus {
  background-color: #dc6f00;
  border-color: #dc6f00;
  color: #fff;
}
.btn-cartAdd::before {
  background-image: url("/ex/images/common/icon-cart-add-btn.svg");
}
.btn-design {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.btn-design:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btn-design:hover, .btn-design:focus {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #fff;
}
.btn-design::before {
  background-image: url("/ex/images/common/icon-design-white.svg");
}
.btn-editDesign::before {
  background-image: url("/ex/images/common/icon-design-btn.svg");
}

.btnIcon {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  color: #6b7681;
  line-height: 1;
  transition: color 0.3s;
  font-size: 29px;
}
.btnIcon:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btnIcon:hover, .btnIcon:focus {
  color: #3d4750;
}
.btnIcon.is-selected {
  color: var(--color-primary);
}
.btnIcon.is-selected:hover, .btnIcon.is-selected:focus {
  color: var(--color-primary-hover);
}
.btnIcon.is-disabled, .btnIcon:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btnIcon-label {
  flex-direction: column;
  font-size: 23px;
}
.btnIcon-text {
  transform: scale(0.8);
  font-size: 1rem;
  line-height: 1.2;
}

.btnIconFixed {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 1020;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.16), 0 0 8px rgba(0, 0, 0, 0.24);
  border-radius: 50%;
  width: 68px;
  height: 68px;
  background-color: rgba(255, 255, 255, 0.85);
  color: #3d4750;
  line-height: 1;
  transition: box-shadow 0.3s, background-color 0.3s;
}
.btnIconFixed::before {
  width: 32px;
  height: 32px;
}
.btnIconFixed:focus, .btnIconFixed:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.24), 0 0 16px rgba(0, 0, 0, 0.36);
  background-color: #fff;
}
.btnIconFixed:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btnIconFixed-thumbnailView::before {
  content: "";
  background: url("/ex/images/common/icon-thumbnail-view.svg") center center/contain no-repeat;
}
.is-show-promotionCoupon .btnIconFixed-thumbnailView {
  bottom: 70px;
}
.btnIconFixed-text {
  transform: scale(0.8);
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}

.btnRow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
}
*:not(:empty) + .btnRow {
  margin-top: 1em;
}
.title + .btnRow {
  margin-top: 0;
}
.modal-footer .btnRow {
  flex-direction: row-reverse;
  justify-content: center;
  margin-top: 0 !important;
}
.btnRow .btn {
  margin-top: 0;
}
.modal-footer .btnRow .btn {
  flex: 1;
  width: auto;
  white-space: nowrap;
}
.imgList + .btnRow, .imgTextList + .btnRow, .movieList + .btnRow {
  margin-top: 30px;
}
.btnRow-center {
  justify-content: center;
}
.btnRow-end {
  justify-content: flex-end;
}
*:not(:empty) + .btnRow-footer {
  margin-top: 30px;
}
.title + .btnRow-footer {
  margin-top: 0;
}
*:not(:empty) + .btnRow-photoListFooter {
  margin-top: 30px;
}
.title + .btnRow-photoListFooter {
  margin-top: 0;
}
.btnRow-half .btn {
  width: calc(50% - 5px) !important;
}
.modal-footer .btnRow-half .btn {
  flex: none;
}

.btnToggle {
  display: flex;
  justify-content: center;
}
.btnToggle .btn {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.btnToggle .btn:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.btnToggle .btn:hover, .btnToggle .btn:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.btnToggle .btn:not(:first-child) {
  margin-top: 0;
  margin-left: -1px;
  border-left-color: transparent;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.btnToggle .btn:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btnToggle .btn.is-selected {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.btnToggle .btn.is-selected:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.btnToggle .btn.is-selected:hover, .btnToggle .btn.is-selected:focus {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #fff;
}

.cartInfo {
  margin-bottom: 30px;
  padding: 12px;
  border-radius: 4px;
  background-color: var(--color-primary-background);
  line-height: 1.4;
}
.cartInfo-list-total {
  padding-right: 10px;
  padding-left: 10px;
  background-color: #fff;
}
.cartInfo-item {
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(var(--color-primary-rgb), 0.35);
}
.cartInfo-list-total .cartInfo-item {
  border-bottom-color: var(--color-gray-border);
}
.cartInfo-list-total .cartInfo-item:last-child {
  border-bottom: none;
}
.cartInfo-item-total {
  font-size: 1.6rem;
  font-weight: 700;
}
.cartInfo-name {
  margin-right: 10px;
}
.cartInfo-price {
  flex: none;
  margin-left: auto;
}
.cartInfo-note {
  padding: 10px 0;
  text-align: right;
}

.checkbox-hiddenLabel + label {
  padding-left: 18px !important;
  height: 18px;
}
.checkbox-hiddenLabel + label > span {
  display: none;
}

.cms h2,
.cms h3,
.cms h4,
.cke_editable h2,
.cke_editable h3,
.cke_editable h4,
.cke_panel_listItem h2,
.cke_panel_listItem h3,
.cke_panel_listItem h4 {
  margin-bottom: 1em;
}
.cms h2 + h2,
.cms h2 + h3,
.cms h2 + h4,
.cms h3 + h2,
.cms h3 + h3,
.cms h3 + h4,
.cms h4 + h2,
.cms h4 + h3,
.cms h4 + h4,
.cke_editable h2 + h2,
.cke_editable h2 + h3,
.cke_editable h2 + h4,
.cke_editable h3 + h2,
.cke_editable h3 + h3,
.cke_editable h3 + h4,
.cke_editable h4 + h2,
.cke_editable h4 + h3,
.cke_editable h4 + h4,
.cke_panel_listItem h2 + h2,
.cke_panel_listItem h2 + h3,
.cke_panel_listItem h2 + h4,
.cke_panel_listItem h3 + h2,
.cke_panel_listItem h3 + h3,
.cke_panel_listItem h3 + h4,
.cke_panel_listItem h4 + h2,
.cke_panel_listItem h4 + h3,
.cke_panel_listItem h4 + h4 {
  margin-top: 0;
}
.cms ul ul,
.cms ul ol,
.cms ol ul,
.cms ol ol,
.cke_editable ul ul,
.cke_editable ul ol,
.cke_editable ol ul,
.cke_editable ol ol,
.cke_panel_listItem ul ul,
.cke_panel_listItem ul ol,
.cke_panel_listItem ol ul,
.cke_panel_listItem ol ol {
  margin-top: 0.5em;
}
.cms table,
.cke_editable table,
.cke_panel_listItem table {
  max-width: 100%;
}
.cms table > thead > tr > th,
.cke_editable table > thead > tr > th,
.cke_panel_listItem table > thead > tr > th {
  text-align: left;
}
.cms * + h2,
.cms * + h3,
.cms * + h4,
.cke_editable * + h2,
.cke_editable * + h3,
.cke_editable * + h4,
.cke_panel_listItem * + h2,
.cke_panel_listItem * + h3,
.cke_panel_listItem * + h4 {
  margin-top: 20px;
}
.cms * + ul,
.cms * + ol,
.cms * + table,
.cke_editable * + ul,
.cke_editable * + ol,
.cke_editable * + table,
.cke_panel_listItem * + ul,
.cke_panel_listItem * + ol,
.cke_panel_listItem * + table {
  margin-top: 1em;
}
.cms * + p:not([class]),
.cke_editable * + p:not([class]),
.cke_panel_listItem * + p:not([class]) {
  margin-top: 0;
}
.cms p:empty,
.cke_editable p:empty,
.cke_panel_listItem p:empty {
  margin-top: 1em;
}
.cms .table * + ul,
.cms .table * + ol,
.cke_editable .table * + ul,
.cke_editable .table * + ol,
.cke_panel_listItem .table * + ul,
.cke_panel_listItem .table * + ol {
  margin-top: 0.5em;
}
.cms img,
.cke_editable img,
.cke_panel_listItem img {
  height: auto !important;
}

.cms::after {
  content: "";
  display: block;
  clear: both;
}
.cms + .cms {
  margin-top: 1em;
}
.cms + .cms h2,
.cms + .cms h3,
.cms + .cms h4 {
  margin-top: 20px;
}

.cke_editable {
  display: block;
  overflow-x: visible;
  padding: 1em;
  font-size: 1.6rem;
  line-height: 1.8;
}

.cke_panel_listItem h2,
.cke_panel_listItem h3,
.cke_panel_listItem h4 {
  margin-bottom: 0;
}

.collapseSingle-title {
  display: inline-block;
  position: relative;
  padding-right: 1.25em;
}
.collapseSingle-title::after {
  content: "\f140";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) scale(1.2) rotate(180deg);
}
.collapseSingle-title.collapsed::after {
  transform: translateY(-50%) scale(1.2);
}
.collapseSingle-inner {
  margin-top: 1em;
}

.colorList {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(46px, 1fr));
}
.colorList-col {
  text-align: center;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  grid-gap: 15px 10px;
}
.colorList input[type=radio].colorList-input:hover + .colorList-label::after, .colorList input[type=radio].colorList-input:focus + .colorList-label::after {
  border-color: #6b7681;
}
.colorList input[type=radio].colorList-input:checked + .colorList-label::after {
  border: 2px solid var(--color-primary);
}
.colorList input[type=radio].colorList-input + .colorList-label {
  display: inline-block;
  position: relative;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  background: #fff center center/cover no-repeat;
  vertical-align: middle;
  cursor: pointer;
  padding-left: 0;
}
.colorList input[type=radio].colorList-input + .colorList-label::before, .colorList input[type=radio].colorList-input + .colorList-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}
.colorList input[type=radio].colorList-input + .colorList-label::before {
  z-index: 2;
  border: 4px solid #fff;
}
.colorList input[type=radio].colorList-input + .colorList-label::after {
  z-index: 3;
  border: 1px solid var(--color-gray-border);
  transition: border-color 0.15s;
}
.colorList input[type=radio].colorList-input + .colorList-label.is-light {
  box-shadow: inset 0 0 0 5px var(--color-gray-border);
}
.colorList input[type=radio].colorList-input + .colorList-label.is-none {
  box-shadow: inset 0 0 0 5px var(--color-gray-border);
  background: repeating-linear-gradient(-45deg, #fff, #fff 31px, var(--color-gray-border) 0, var(--color-gray-border) 32px);
}
.colorList input[type=radio].colorList-input + .colorList-label::before, .colorList input[type=radio].colorList-input + .colorList-label::after {
  background-color: transparent;
}
.colorList input[type=radio].colorList-input + .colorList-label::after {
  opacity: 1;
}
.colorList-name {
  display: block;
  margin-top: 0.5em;
  font-size: 1.2rem;
  line-height: 1.4;
}

.colorSelectBtn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-block;
  position: relative;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  background: #fff center center/cover no-repeat;
  vertical-align: middle;
  flex-shrink: 0;
}
.colorSelectBtn::before, .colorSelectBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}
.colorSelectBtn::before {
  z-index: 2;
  border: 4px solid #fff;
}
.colorSelectBtn::after {
  z-index: 3;
  border: 1px solid var(--color-gray-border);
  transition: border-color 0.15s;
}
.colorSelectBtn.is-light {
  box-shadow: inset 0 0 0 5px var(--color-gray-border);
}
.colorSelectBtn.is-none {
  box-shadow: inset 0 0 0 5px var(--color-gray-border);
  background: repeating-linear-gradient(-45deg, #fff, #fff 31px, var(--color-gray-border) 0, var(--color-gray-border) 32px);
}

.descriptionImageCard {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.descriptionImageCard-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--color-gray-border);
  border-radius: 4px;
  gap: 10px;
}
.descriptionImageCard .title, .descriptionImageCard-text {
  width: 100%;
}
.descriptionImageCard-img[src$="img-order-mode-normal.svg"], .descriptionImageCard-img[src$="img-order-mode-index.svg"] {
  width: 100%;
  max-width: 230px;
}
.descriptionImageCard-text {
  color: #6b7681;
  text-align: center;
}
.descriptionImageCard-btn {
  margin-top: auto !important;
  text-align: center;
}

.designConfirm-multiple {
  display: grid;
  margin: 0 -1.5rem -1.5rem;
  grid-gap: 30px;
}
.designConfirm-item {
  counter-increment: order;
}
.designConfirm-title {
  display: flex;
  align-items: center;
  padding: 0 1.5rem 0.75em;
  line-height: 1.4;
}
.designConfirm-title::before {
  content: counter(order);
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-right: 0.5em;
  padding: 0 0.25em;
  border-radius: 3em;
  min-width: 20px;
  height: 20px;
  background-color: var(--color-primary-background);
  font-size: 1.2rem;
  color: var(--color-primary);
  line-height: 1;
}
.designConfirm-preview {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background-color: var(--color-gray-background);
}
.designConfirm-single .designConfirm-preview {
  flex-shrink: 0;
  margin: -1.5rem -1.5rem 0;
}
.designConfirm-img {
  width: 200px;
  background: center center/contain no-repeat;
}
.designConfirm-detail {
  margin-top: 20px;
}

.dropdown-item.active {
  background-color: var(--color-primary-background);
  color: var(--color-primary);
}
.dropify-wrapper {
  padding: 10px !important;
  height: 400px;
}
.dropify-wrapper:hover {
  background-image: linear-gradient(-45deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
}
.dropify-wrapper.touch-fallback {
  display: flex;
  flex-direction: column;
}
.dropify-wrapper.touch-fallback .formUpload-note {
  order: 1;
}
.dropify-wrapper.touch-fallback input {
  margin-top: 0;
  height: auto !important;
}
.has-preview .dropify-clear {
  display: inline-flex !important;
  background: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  color: #f43643;
}
.dropify-wrapper.touch-fallback .dropify-clear {
  top: 10px;
  bottom: auto;
  border: 1px solid var(--color-gray-border);
  color: #f43643;
}
.dropify-clear:hover {
  background: #fff !important;
  color: #db2534;
}
.dropify-wrapper.has-preview.touch-fallback .dropify-preview {
  background-color: transparent !important;
}
.has-preview .dropify-infos {
  background-color: rgba(0, 0, 0, 0.5) !important;
}
.dropify-wrapper.has-preview.touch-fallback .dropify-preview .dropify-infos {
  background-color: transparent !important;
}
.dropify-wrapper .dropify-preview .dropify-infos .dropify-infos-inner {
  transform: translate(0, -50%) !important;
  margin-top: 0 !important;
}
.dropify-wrapper.has-preview.touch-fallback .dropify-preview .dropify-infos-inner {
  transform: none !important;
  margin-top: 10px !important;
  padding: 0 !important;
}
.has-preview .dropify-infos-message {
  opacity: 1 !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
}
.dropify-wrapper.has-preview.touch-fallback .dropify-preview .dropify-infos-message {
  overflow: visible !important;
  color: #6b7681 !important;
  text-align: center !important;
  text-overflow: clip !important;
  white-space: normal !important;
}
.dropify-wrapper.has-preview.touch-fallback .dropify-preview .dropify-infos-message .btn {
  border-color: var(--color-primary) !important;
  background-color: #fff !important;
  color: var(--color-primary) !important;
}
.has-preview .dropify-filename {
  font-size: 1.6rem !important;
  font-weight: 400 !important;
}
.dropify-wrapper.has-preview.touch-fallback .dropify-preview .dropify-infos .dropify-infos-inner .dropify-filename {
  color: #6b7681;
  text-align: center !important;
}
.dropify-wrapper.has-error {
  border-color: var(--color-gray-border) !important;
}
.dropify-errors-container {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5) !important;
  text-align: center !important;
}
.dropify-errors-container ul {
  position: static !important;
  transform: none !important;
}
.dropify-errors-container ul li {
  margin: 0 !important;
  font-weight: 400 !important;
}

.errorMessage-title {
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
}
.errorMessage-content {
  margin-top: 2rem;
}
.errorMessage-img {
  display: block;
  margin: 0 auto;
  width: 100px;
  height: auto;
}
.errorMessage-text {
  margin-top: 2rem;
  text-align: left;
}
.errorMessage-contact {
  margin-top: 3rem;
  text-align: center;
}
.errorMessage-logo {
  margin-bottom: 1rem;
}
.errorMessage-contactTitle {
  font-size: 1.4em;
}
.errorMessage-tel {
  font-size: 2.4em;
  font-weight: 700;
  color: inherit;
  pointer-events: auto !important;
}
.errorMessage-tel:hover, .errorMessage-tel:focus {
  color: inherit;
}

.facePhotoEdit-header {
  text-align: center;
}
.facePhotoEdit-img {
  display: inline-block;
  overflow: hidden;
  border-radius: 4px;
  width: 120px;
  height: 120px;
  background: center center/cover no-repeat;
}
.facePhotoEdit-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1em;
  gap: 10px;
}
.facePhotoEdit-footer .btn {
  margin: 0 !important;
  width: auto;
  min-width: 160px;
}

.facePhotoList {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}
*:not(:empty) + .facePhotoList {
  margin-top: 1em;
}
.title + .facePhotoList {
  margin-top: 0;
}
.facePhotoList-item {
  position: relative;
}
.facePhotoList-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  position: relative;
  width: 100%;
}
.facePhotoList-btn::before, .facePhotoList-btn::after {
  opacity: 0;
  position: absolute;
  z-index: 1;
  transition: opacity 0.15s;
  pointer-events: none;
}
.facePhotoList-btn::before {
  content: "";
  top: 0;
  left: 0;
  border: 4px solid var(--color-primary);
  border-radius: 5px;
  width: 100%;
  height: 100%;
}
.facePhotoList-btn::after {
  content: "\f12c";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 8px;
  right: 8px;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  background-color: var(--color-primary);
  color: #fff;
}
.facePhotoList-btn.is-selected::before, .facePhotoList-btn.is-selected::after {
  opacity: 1;
}
.facePhotoList-btn.is-disabled, .facePhotoList-btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.facePhotoList-img {
  border-radius: 5px;
  width: 100%;
  background: center center/cover no-repeat;
}
.facePhotoList-label {
  display: inline-block;
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 1;
  padding: 2px 8px;
  border-radius: 2em;
  background-color: #fff;
  font-size: 1.1rem;
  color: #6b7681;
  line-height: 1.2;
}

.invalid-feedback {
  margin-top: 0.5em;
}
.invalid-feedback + .invalid-feedback {
  margin-top: 0;
}
.invalid-feedback + .formBtn {
  margin-top: 0.5em;
}

.figure {
  display: table;
  position: relative;
  margin: 0 auto;
}
*:not(:empty) + .figure {
  margin-top: 1em;
}
.title + .figure {
  margin-top: 0;
}
.figure-caption {
  display: table-caption;
  caption-side: bottom;
  margin-top: 20px;
  font-size: 1.2rem;
  color: #6b7681;
}
.figure-box {
  text-align: center;
}
*:not(:empty) + .figure-box {
  margin-top: 40px;
}
.title + .figure-box {
  margin-top: 0;
}
.figure-border {
  display: inline-block;
  position: relative;
}
.figure-border::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  border: 1px solid var(--color-gray-border);
  width: 100%;
  height: 100%;
  pointer-events: none;
}

*:not(:empty) + .formBtn {
  margin-top: 1em;
}
.title + .formBtn {
  margin-top: 0;
}
.formBtn-col {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
.formBtn-inputHidden input[type=checkbox] + .formBtn-label::before, .formBtn-inputHidden input[type=checkbox] + .formBtn-label::after,
.formBtn-inputHidden input[type=checkbox] + .formBtn-labelBtn::before,
.formBtn-inputHidden input[type=checkbox] + .formBtn-labelBtn::after, .formBtn-inputHidden input[type=radio] + .formBtn-label::before, .formBtn-inputHidden input[type=radio] + .formBtn-label::after,
.formBtn-inputHidden input[type=radio] + .formBtn-labelBtn::before,
.formBtn-inputHidden input[type=radio] + .formBtn-labelBtn::after {
  content: none;
}
.formBtn-item:not(:first-child) {
  margin-top: 10px;
}
.formBtn-inputHidden .formBtn-item:not(:first-child) {
  margin-top: 0;
}
.formBtn-item:has(.formBtn-detail) > input:checked + .formBtn-label {
  border-bottom: none;
}
.formBtn-item:has(.formBtn-detail-static) .formBtn-label {
  border-bottom: none;
}
.formBtn-label, .formBtn-labelBtn {
  padding: 12px 12px 12px 40px !important;
  border: 1px solid var(--color-gray-border);
  width: 100%;
  height: 100%;
  line-height: 1.6;
}
.formBtn-inputHidden .formBtn-label, .formBtn-inputHidden .formBtn-labelBtn {
  display: block !important;
  padding-left: 12px !important;
  text-align: center;
}
.is-invalid + .formBtn-label, .is-invalid + .formBtn-labelBtn {
  border-color: #f43643;
}
.formBtn-label {
  display: grid !important;
  justify-content: space-between;
  align-items: center;
  grid-template-areas: "name price" "note note";
  grid-gap: 0 10px;
}
.formBtn-btn {
  float: right;
  margin-left: 12px;
  margin-bottom: 6px;
}
.formBtn input[type=checkbox] + .formBtn-label::before, .formBtn input[type=checkbox] + .formBtn-label::after,
.formBtn input[type=checkbox] + .formBtn-labelBtn::before,
.formBtn input[type=checkbox] + .formBtn-labelBtn::after, .formBtn input[type=radio] + .formBtn-label::before, .formBtn input[type=radio] + .formBtn-label::after,
.formBtn input[type=radio] + .formBtn-labelBtn::before,
.formBtn input[type=radio] + .formBtn-labelBtn::after {
  top: 50% !important;
  left: 12px !important;
  transform: translateY(-50%);
}
.formBtn input[type=checkbox]:checked + .formBtn-label,
.formBtn input[type=checkbox]:checked + .formBtn-labelBtn, .formBtn input[type=radio]:checked + .formBtn-label,
.formBtn input[type=radio]:checked + .formBtn-labelBtn {
  border-color: var(--color-primary);
  background-color: var(--color-primary-background);
}
.formBtn input[type=checkbox]:checked + .formBtn-label + .formBtn-detail,
.formBtn input[type=checkbox]:checked + .formBtn-labelBtn + .formBtn-detail, .formBtn input[type=radio]:checked + .formBtn-label + .formBtn-detail,
.formBtn input[type=radio]:checked + .formBtn-labelBtn + .formBtn-detail {
  display: block;
  border-color: var(--color-primary);
}
.formBtn input[type=checkbox]:checked + .formBtn-label + .formBtn-detail-static,
.formBtn input[type=checkbox]:checked + .formBtn-labelBtn + .formBtn-detail-static, .formBtn input[type=radio]:checked + .formBtn-label + .formBtn-detail-static,
.formBtn input[type=radio]:checked + .formBtn-labelBtn + .formBtn-detail-static {
  background-color: var(--color-primary-background);
}
.formBtn input[type=radio] + .formBtn-label::after,
.formBtn input[type=radio] + .formBtn-labelBtn::after {
  left: 16px !important;
}
.formBtn-name {
  grid-area: name;
}
.formBtn-price {
  text-align: right;
  grid-area: price;
}
.formBtn-note {
  font-size: 1.2rem;
  color: #6b7681;
  line-height: 1.4;
  grid-area: note;
}
.formBtn-detail {
  display: none;
  position: relative;
  padding: 12px;
  border: 1px solid var(--color-gray-border);
  border-top: none;
  background-color: #fff;
}
.formBtn-detail-static {
  display: block;
  padding-top: 0 !important;
}

.formBtnBorder {
  margin: -12px;
}
* + .formBtnBorder {
  margin-top: 12px;
}
.formBtnBorder-item {
  position: relative;
}
.formBtnBorder-item:not(:first-child)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 12px;
  width: calc(100% - 12px * 2);
  height: 1px;
  background-color: var(--color-gray-border);
}
.formBtnBorder-item .formList-detail {
  padding: 12px;
}
.formBtnBorder-label {
  padding: 12px 12px 12px 40px !important;
  width: 100%;
  height: 100%;
  line-height: 1.6;
}
.formBtnBorder-btn {
  float: right;
  margin-left: 12px;
  margin-bottom: 6px;
}
.formBtnBorder input[type=checkbox] + .formBtnBorder-label::before, .formBtnBorder input[type=checkbox] + .formBtnBorder-label::after, .formBtnBorder input[type=radio] + .formBtnBorder-label::before, .formBtnBorder input[type=radio] + .formBtnBorder-label::after {
  top: 50% !important;
  left: 12px !important;
  transform: translateY(-50%);
}
.formBtnBorder input[type=checkbox][type=radio] + .formBtnBorder-label::after, .formBtnBorder input[type=radio][type=radio] + .formBtnBorder-label::after {
  left: 16px !important;
}
.formBtnBorder input[type=checkbox]:checked + label + .formBtnBorder-detail, .formBtnBorder input[type=radio]:checked + label + .formBtnBorder-detail {
  display: block;
}
.formBtnBorder input[type=checkbox]:not(:disabled) + .formBtnBorder-label, .formBtnBorder input[type=radio]:not(:disabled) + .formBtnBorder-label {
  transition: background-color 0.3s;
}
.formBtnBorder input[type=checkbox]:not(:disabled) + .formBtnBorder-label:hover, .formBtnBorder input[type=radio]:not(:disabled) + .formBtnBorder-label:hover {
  background-color: var(--color-primary-background);
}
.formBtnBorder-note {
  margin-top: 0.5em !important;
  font-size: 1.2rem;
  color: #6b7681;
}
.formBtnBorder-detail {
  display: none;
  position: relative;
  padding: 12px;
  background-color: #fff;
}
.formBtnBorder-detail-static {
  display: block;
  padding-top: 0 !important;
}

.formList {
  line-height: 1.6;
}
*:not(:empty) + .formList {
  margin-top: 1em;
}
.title + .formList {
  margin-top: 0;
}
.formList-item:not(:first-child) {
  margin-top: 20px;
}
.formList-item:empty + .formList-item {
  margin-top: 0 !important;
}
.formList-header {
  display: flex;
  align-items: flex-end;
  margin-bottom: 0.5em;
  line-height: 1.4;
}
.formList-header-horizontal {
  display: none;
}
.formList-header .icon + .label {
  margin-left: 8px !important;
}
.formList-header .label {
  white-space: nowrap;
}
.formList-label {
  margin-right: 0.5em;
}
.formList-label-horizontal {
  display: none;
}
.formList-column {
  margin-right: -5px;
  margin-left: -5px;
}
.formList-column-col2 {
  display: flex;
}
.formList-col {
  margin-right: 5px;
  margin-left: 5px;
}
.formList-column-col2 .formList-col {
  width: calc(50% - 10px);
}
.formList-note {
  margin-top: 0.5em !important;
  font-size: 1.2rem;
  color: #6b7681;
}
.formList-note input[type=checkbox] + label {
  font-size: 1.4rem;
  color: #262f38;
}
.formList-detail {
  display: none;
  padding-top: 12px;
}
.formList input[type=radio]:checked + label + .formList-detail {
  display: block;
}
.formList-border > .formList-item:not(:first-child) {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--color-gray-border);
}

.formRow {
  display: flex;
  align-items: center;
  width: 100%;
}
*:not(:empty) + .formRow {
  margin-top: 1em;
}
.title + .formRow {
  margin-top: 0;
}
.formList-label + .formRow {
  margin-top: 0 !important;
}
.formRow > input:not(:last-child),
.formRow > select:not(:last-child),
.formRow > .formRow-text:not(:last-child) {
  margin-right: 10px;
}
.formRow-text {
  flex-shrink: 0;
}
.formRow-text:empty:not(:last-child) {
  margin-right: 0;
}
.formRow-group {
  flex-wrap: wrap;
  width: auto;
  gap: 10px;
}
.formRow-urlMoveForm {
  flex-direction: column;
  gap: 1em;
}
.formRow-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.formRow-item-urlMoveInput {
  justify-content: center;
  width: 100%;
  max-width: 450px;
}
.formRow-item-urlMoveBtn .btn {
  min-width: 250px;
}
.formRow-center {
  justify-content: center;
}
.formRow-end {
  justify-content: flex-end;
}
.formRow-btn .btn {
  flex-shrink: 0;
  margin-left: 10px;
}

.formRowQuantity {
  display: flex;
  align-items: center;
}
.formRowQuantity-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  color: var(--color-primary);
  line-height: 1;
  transition: color 0.3s;
  font-size: 20px;
}
.formRowQuantity-btn:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.formRowQuantity-btn:hover, .formRowQuantity-btn:focus {
  color: var(--color-primary-hover);
}
.formRowQuantity-btn.is-selected {
  color: var(--color-primary);
}
.formRowQuantity-btn.is-selected:hover, .formRowQuantity-btn.is-selected:focus {
  color: var(--color-primary-hover);
}
.formRowQuantity-btn.is-disabled, .formRowQuantity-btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.formRowQuantity-btn-minus::before {
  content: "\f377";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.formRowQuantity-btn-plus::before {
  content: "\F419";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.formRowQuantity-form {
  max-width: 60px;
}

.formStep {
  display: flex;
  margin-bottom: 20px;
}
.formStep-item {
  flex: 1;
  padding: 0 0.25em 0.25em;
  border-bottom: 2px solid var(--color-gray-border);
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
}
.formStep-item.is-current {
  border-bottom-color: var(--color-primary);
}

.formUpload {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  border: 2px dashed var(--color-gray-border) !important;
  height: 220px !important;
  background-color: var(--color-gray-background);
  line-height: 1.4;
  text-align: center;
}
*:not(:empty) + .formUpload {
  margin-top: 1em;
}
.title + .formUpload {
  margin-top: 0;
}
.formUpload-title {
  font-size: 1.4rem;
}
.dropify-wrapper.has-preview.touch-fallback .formUpload-title {
  display: none;
}
.formUpload-note {
  margin-top: 1em;
  font-size: 1.4rem;
}

.generalSlider {
  position: relative;
}
.generalSlider-goods .generalSlider-slideImgWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(45vh - 60px);
}
.generalSlider-slideImg {
  width: 100%;
  background: center center/contain no-repeat;
}
.generalSlider-goods .generalSlider-slideImg {
  width: auto;
  height: 200px;
  max-height: calc(100% - 30px);
}
.generalSlider .swiper {
  background-color: var(--color-gray-background);
}
.generalSlider .swiper-wrapper {
  align-items: center;
}
.generalSlider .swiper-pagination-fraction {
  left: 50%;
  transform: translateX(-50%);
  padding: 0.2em 0.75em;
  border-radius: 2em;
  width: auto;
  background-color: rgba(38, 47, 56, 0.5);
  font-size: 1.2rem;
  color: #fff;
  line-height: 1.2;
}
.generalSlider .swiper-button-prev, .generalSlider .swiper-button-next {
  opacity: 0.75;
  margin-top: -16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  background-color: #fff;
  font-size: 19.2px;
  color: #6b7681;
  transition: opacity 0.3s;
  display: none;
}
.generalSlider .swiper-button-prev:hover, .generalSlider .swiper-button-next:hover {
  opacity: 1;
}
.generalSlider .swiper-button-prev.swiper-button-disabled, .generalSlider .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
}
.generalSlider .swiper-button-prev {
  left: 15px;
}
.generalSlider .swiper-button-prev::after {
  content: "\f04d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.generalSlider .swiper-button-next {
  right: 15px;
}
.generalSlider .swiper-button-next::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.generalSlider-goods {
  width: 100%;
  height: 100%;
}
.generalSlider-goods .swiper-pagination-fraction {
  right: 15px;
  bottom: 15px;
  left: auto;
  transform: none;
}
.generalSlider-goods .swiper-button-prev, .generalSlider-goods .swiper-button-next {
  display: flex;
}

.icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-size: 2rem;
  color: #6b7681;
  line-height: 1;
  vertical-align: bottom;
}
.icon-help::before {
  content: "\f625";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*:not(:empty) + .imgList {
  margin-top: 30px;
}
.title + .imgList {
  margin-top: 0;
}
.imgList-col2 {
  grid-template-columns: repeat(2, 1fr);
}
.imgList-col3 {
  grid-template-columns: repeat(3, 1fr);
}
.imgList-item {
  text-align: center;
}
.imgList-item:not(:first-child) {
  margin-top: 20px;
}
.imgList-caption {
  margin-top: 0.5em;
  font-size: 1.2rem;
  color: #6b7681;
  line-height: 1.6;
  text-align: center;
}

.imgOverlap {
  text-align: center;
}
.imgOverlap-inner {
  display: inline-block;
  position: relative;
}
.imgOverlap-overlap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.imgSelectList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}
.imgSelectList-sm {
  grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
}
.imgSelectList-lg {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
.imgSelectList-check, .imgSelectList-view {
  grid-gap: 10px;
}
.imgSelectList-selectBtn {
  grid-gap: 30px 10px;
}
.imgSelectList-view .imgSelectList-item, .imgSelectList-selectBtn .imgSelectList-item {
  display: flex;
  flex-direction: column;
}
.imgSelectList-imgWrapper {
  display: block;
}
.imgSelectList-imgWrapper-border {
  position: relative;
}
.imgSelectList-imgWrapper-border::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-gray-border);
  width: 100%;
  height: 100%;
}
.imgSelectList-img {
  width: 100%;
  height: auto;
  background: #fff center center/contain no-repeat;
}
.imgSelectList-name {
  display: block;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
}
.imgSelectList-sm .imgSelectList-name {
  font-size: 1.2rem;
}
.imgSelectList-check .imgSelectList-name {
  padding: 0.5em;
}
.imgSelectList-view .imgSelectList-name {
  padding: 0.5em 0;
}
.imgSelectList-selectBtn .imgSelectList-name {
  margin: 10px 0;
}
.imgSelectList-input:hover + .imgSelectList-label, .imgSelectList-input:focus + .imgSelectList-label {
  border-color: #6b7681;
}
.imgSelectList-input:checked + .imgSelectList-label {
  border-color: var(--color-primary);
  background-color: var(--color-primary-background);
}
.imgSelectList-label {
  cursor: pointer;
  display: block !important;
  padding-left: 0 !important;
  border: 1px solid var(--color-gray-border);
  height: 100%;
}
.imgSelectList-label::before, .imgSelectList-label::after {
  content: none !important;
}
.imgSelectList-quantity {
  margin-top: auto;
  display: flex;
  justify-content: center;
}
.imgSelectList-btn {
  margin-top: 10px;
}
.imgSelectList-btn .btn {
  padding-right: 0.75em;
  width: 100%;
  min-width: auto;
}

*:not(:empty) + .imgTextList {
  margin-top: 30px;
}
.title + .imgTextList {
  margin-top: 0;
}
.imgTextList-item:not(:first-child) {
  margin-top: 40px;
}
.imgTextList-header {
  text-align: center;
}
.imgTextList-body {
  margin-top: 1em;
}
.imgTextList-title {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  color: #262f38;
  line-height: 1.6;
}

.kaotanUploadSample {
  padding: 12px;
  border-radius: 4px;
  background-color: var(--color-gray-background);
}
*:not(:empty) + .kaotanUploadSample {
  margin-top: 30px;
}
.title + .kaotanUploadSample {
  margin-top: 0;
}
.kaotanUploadSample-title {
  margin-bottom: 10px;
  font-size: 1.6rem;
  line-height: 1.3;
  text-align: center;
}
.kaotanUploadSample-title::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 2rem;
  height: 2rem;
  background: url("/ex/images/common/icon-warning.svg") center center/contain no-repeat;
  vertical-align: middle;
}
.kaotanUploadSample-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px -10px;
}
.kaotanUploadSample-item {
  margin: 0 5px 10px;
  width: calc(25% - 10px);
  text-align: center;
}
.kaotanUploadSample-img {
  width: 100%;
}
.kaotanUploadSample-text {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.3;
}

.label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.75em;
  border: 1px solid;
  border-radius: 3em;
  min-height: 20px;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #fff;
}
.title .label {
  position: relative;
  top: -0.1em;
  margin-left: 0.5em;
  white-space: nowrap;
  vertical-align: middle;
}
.formBtn-name .label {
  margin-left: 0.5em;
}
.label-sm {
  min-height: 16px;
  font-size: 1rem;
}
.label-num {
  padding: 0 0.175em;
  min-width: 20px;
}
.label-primary {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.label-secondary {
  border-color: var(--color-primary);
  background-color: #fff;
  color: var(--color-primary);
}
.label-tertiary {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.label-notice {
  border-color: #f43643;
  background-color: #f43643;
  color: #fff;
}
.label-selected {
  border-color: var(--color-primary-background);
  background-color: var(--color-primary-background);
  color: var(--color-primary);
}
.label-need {
  border-color: #f43643;
  background-color: #f43643;
  color: #fff;
}
.label-any {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.label-bought {
  border-color: #6b7681;
  background-color: #6b7681;
  color: #fff;
}
.label-bought::before {
  content: "\f111";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
}
.label-resale {
  border-color: #f57c00;
  background-color: #f57c00;
  color: #fff;
}
.label-confirm {
  border-color: #f9a825;
  background-color: #f9a825;
  color: #3d4750;
}
.label-dataset {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.label-dataset::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 1em;
  height: 1em;
  background: url("/ex/images/common/icon-dataset.svg") no-repeat center/contain;
  vertical-align: middle;
  transform: scale(1.2);
}
.label-dataset.is-selected {
  border-color: var(--color-primary-background);
  background-color: var(--color-primary-background);
  color: var(--color-primary);
}
.label-reserve {
  border-color: var(--color-gray-background);
  background-color: var(--color-gray-background);
  color: #6b7681;
}
.label-progress {
  border-color: #e6f7fe;
  background-color: #e6f7fe;
  color: #03a9f4;
}
.label-finish {
  border-color: #e6f5f3;
  background-color: #e6f5f3;
  color: #009688;
}
.label-stop {
  border-color: #fef6e7;
  background-color: #fef6e7;
  color: #f9a825;
}
.label-promotion {
  padding: 0;
  border: none;
  border-radius: 0;
  color: #3d4750;
}
.label-promotion::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 20px;
  height: 20px;
  background: url(/ex/images/sale/cart/icon-promotion.svg) center center/contain no-repeat;
}

.labelRow {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.labelText {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
  line-height: 1.6;
}
.labelText-label {
  flex-shrink: 0;
  margin-left: 0.5em;
}

.linkList {
  margin-top: 1em;
}
.title + .linkList, .alert + .linkList, .linkList + .linkList {
  margin-top: 0;
}
.linkList-item {
  border-bottom: 1px solid var(--color-gray-border);
  line-height: 1.6;
}
.linkList-link {
  display: block;
  position: relative;
  padding: 12px 28px 12px 0;
  color: #3d4750;
  transition: background-color 0.3s, color 0.3s;
}
.linkList-link:hover, .linkList-link:focus {
  background-color: rgba(var(--color-gray-background), 0.5);
  color: #262f38;
}
.linkList-link:hover:not(.is-disabled)::after, .linkList-link:focus:not(.is-disabled)::after {
  transform: translateX(4px) translateY(-50%);
}
.linkList-link.is-disabled {
  background-color: var(--color-gray-background);
  pointer-events: none;
}
.linkList-link:not(.is-disabled)::after {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  color: #6b7681;
  transition: transform 0.3s;
}
.linkList-header {
  grid-area: header;
}
.linkList-body {
  grid-area: body;
}
.linkList-header + .linkList-body {
  margin-top: 5px;
}
.linkList-footer {
  grid-area: footer;
}
.linkList-inner {
  display: flex;
  align-items: center;
  grid-area: 1/1/3/3;
}
.linkList-inner .label {
  margin-left: 6px;
  white-space: nowrap;
}
.linkList-main {
  margin-right: auto;
}
.linkList-sub {
  font-size: 1.2rem;
  color: #6b7681;
}

*:not(:empty) + .list-ul, *:not(:empty) + .list-ol, *:not(:empty) + .list-notes, *:not(:empty) + .list-check {
  margin-top: 1em;
}
.title + .list-ul, .title + .list-ol, .title + .list-notes, .title + .list-check {
  margin-top: 0;
}
.list-ul .list-ul,
.list-ul .list-ol, .list-ol .list-ul,
.list-ol .list-ol, .list-notes .list-ul,
.list-notes .list-ol, .list-check .list-ul,
.list-check .list-ol {
  margin-top: 0.5em;
}
.list-notes > li {
  padding-left: 1em;
}
.list-notes > li::before {
  content: "※";
  left: 0;
}
.list-check > li {
  padding-left: 1.75em;
}
.list-check > li::before {
  content: "\f134";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  top: 0.1em;
  left: 0;
  font-size: 1.2em;
  color: var(--color-primary);
}
.list-invalid {
  font-size: 1.2rem;
  color: #f43643;
  line-height: 1.6;
}
.list-invalid > li {
  position: relative;
  padding-left: 1.44rem;
}
.list-invalid > li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1.2em;
  height: 1.92rem;
  background: url("/ex/images/common/icon-error.svg") center center/contain no-repeat;
}

.loading {
  position: relative;
}
.loading::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 1.5rem);
  left: calc(50% - 1.5rem);
  z-index: 6;
  border: 0.35rem solid var(--color-primary);
  border-bottom-color: rgba(var(--color-primary-rgb), 0.2);
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  -webkit-animation: spinner 1s linear infinite;
          animation: spinner 1s linear infinite;
}
.loading::after {
  content: attr(data-loading-text);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  padding: 7rem 1em 1em 1em;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  line-height: 1.4;
  text-align: center;
}
.loading-static {
  min-height: 160px;
}
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
}

.logoList {
  display: flex;
  align-items: center;
  margin: 0 -0.5rem;
}
*:not(:empty) + .logoList {
  margin-top: 1em;
}
.title + .logoList {
  margin-top: 0;
}
.logoList-item {
  margin: 0 0.5rem;
}
.logoList-img[src$="logo-credit-card-jcb.svg"] {
  width: 40px;
}
.logoList-img[src$="logo-credit-card-amex.svg"] {
  width: 36px;
}
.logoList-img[src$="logo-credit-card-diners.svg"] {
  width: 40px;
}

.message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem 0;
  text-align: center;
}
.modal-dark .message {
  color: #fff;
}
.message-img {
  line-height: 1;
}
.message-img .mdi {
  color: var(--color-gray-border) !important;
}
.message-img .mdi::before {
  font-size: 10rem;
}
.message-img svg {
  width: 10rem;
  height: auto;
}
.message-img svg path {
  fill: var(--color-gray-border) !important;
}
.message-text {
  margin-top: 1rem;
}

.modal-fullscreen {
  margin: 0;
  max-width: none;
  height: 100%;
}
.modal-on-piczoom {
  z-index: 1064;
}
.modal-on-piczoom ~ .modal-backdrop {
  z-index: 1063;
}
.modal.modal-dark.fade .modal-dialog {
  opacity: 0;
  transition: opacity 0.15s ease-out;
}
.modal.modal-dark.show .modal-dialog {
  opacity: 1;
}
.modal-dark .modal-content {
  background-color: rgba(0, 0, 0, 0.85);
}
.modal-header {
  padding: 12px 50px 12px 1.5rem;
  min-height: 50px;
}
.modal-header .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  width: 50px;
  height: 50px;
}
.modal-title {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
}
.modal-title img,
.modal-title .mdi {
  margin-right: 0.25em;
}
.modal-title img {
  width: 1.2em;
}
.modal-title .mdi {
  font-size: 1.2em;
}
.modal-footer {
  display: block;
  padding: 1.5rem;
}
.modal-footer > * {
  margin: 0;
}
.modal-quantityInput {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.modal .btn-close-fixed {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.75;
  position: fixed;
  top: 5px;
  right: 5px;
  z-index: 2;
  padding: 0;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  background-color: #fff;
  transition: opacity 0.3s;
}
.modal .btn-close-fixed:hover, .modal .btn-close-fixed:focus {
  opacity: 1;
}

*:not(:empty) + .movieList {
  margin-top: 30px;
}
.title + .movieList {
  margin-top: 0;
}
.movieList-item {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.movieList-item:not(:first-child) {
  margin-top: 20px;
}
.movieList-item iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

*:not(:empty) + .newsList {
  margin-top: 1em;
}
.title + .newsList {
  margin-top: 0;
}
.newsList-item {
  border-bottom: 1px solid var(--color-gray-border);
  line-height: 1.6;
}
.newsList-item:first-child {
  border-top: 1px solid var(--color-gray-border);
}
.newsList-header {
  cursor: pointer;
  position: relative;
  padding: 12px 22px 12px 0;
  transition: background-color 0.3s;
}
.newsList-header::before, .newsList-header::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 1em;
  width: 12px;
  height: 2px;
  background-color: var(--color-primary);
}
.newsList-header::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.newsList-header:not(.collapsed)::after {
  transform: none;
}
.newsList-header::before, .newsList-header::after {
  right: 0;
}
.newsList-header:not(.collapsed), .newsList-header:hover, .newsList-header:focus {
  background-color: var(--color-primary-background);
}
.newsList-header:not(.collapsed) .section[class*=bg-], .newsList-header:hover .section[class*=bg-], .newsList-header:focus .section[class*=bg-] {
  background-color: #fff;
}
.newsList-date {
  color: #6b7681;
}
.newsList-title {
  color: #262f38;
}
.newsList-body {
  padding: 12px;
}

.operationDetail {
  display: flex;
  flex-direction: column;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 1018;
  transform: translateY(100%);
  border-top: 1px solid var(--color-gray-border);
  width: 100%;
  height: 55vh;
  background-color: #fff;
  transition: transform 0.15s;
}
.operationDetail.is-open {
  transform: none;
  transition: transform 0.3s;
}
.operationDetail-overlap1 {
  z-index: 1019;
}
.operationDetail-overlap2 {
  z-index: 1020;
}
.operationDetail-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: 15px;
  position: relative;
  height: 45px;
}
.operationDetail-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15px;
  border-bottom: 1px solid var(--color-gray-border);
  width: calc(100% - 30px);
}
.operationDetail-title {
  overflow: hidden;
  font-size: 1.6rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.operationDetail-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 15px;
}
.operationDetail-body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.operationDetail-body::-webkit-scrollbar-track {
  border-radius: 1em;
  background-color: #fff;
}
.operationDetail-body::-webkit-scrollbar-thumb {
  border-radius: 1em;
  border: 2px solid #fff;
  background-color: var(--color-gray-border);
}
.operationDetail-body {
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray-border) transparent;
}
.operationDetail-footer {
  flex-shrink: 0;
  padding: 15px;
  border-top: 1px solid var(--color-gray-border);
}
.operationDetail-footerBtn {
  display: flex;
  gap: 10px;
}
.operationDetail-footerBtn .btn {
  flex: 1;
  margin-top: 0 !important;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

.orderEditList-item {
  counter-increment: order;
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-gray-border);
  gap: 10px;
}
.orderEditList-text {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
}
.orderEditList-text::before {
  content: counter(order);
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-right: 0.5em;
  padding: 0 0.25em;
  border-radius: 3em;
  min-width: 20px;
  height: 20px;
  background-color: var(--color-primary-background);
  font-size: 1.2rem;
  color: var(--color-primary);
  line-height: 1;
}
.orderEditList-btn {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}
.orderEditList-btn .btn {
  margin-top: 0 !important;
}

.pager {
  display: flex;
  justify-content: center;
}
*:not(:empty) + .pager {
  margin-top: 30px;
}
.title + .pager {
  margin-top: 0;
}
.pager-item {
  display: none;
  line-height: 1.4;
}
.pager-item-prev, .pager-item-next {
  display: block;
  flex-shrink: 0;
  min-width: 80px;
}
.pager-item-select {
  display: block;
  flex: 1 1 auto;
  position: relative;
  width: calc(100% - 160px);
  max-width: 200px;
}
.pager-item-ellipsis {
  pointer-events: none;
}
.pager-link {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid;
  border-radius: 4px;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
  position: relative;
  padding: 0.4em 0.75em;
  width: 100%;
  min-height: 38px;
  font-size: 1.6rem;
}
.pager-link:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.pager-link:hover, .pager-link:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.pager-item-ellipsis .pager-link {
  border-color: transparent;
}
.pager-link.is-current {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
  pointer-events: none;
}
.pager-link.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.pager-item-ellipsis .pager-link::before {
  content: "\f1d8";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.pager-link-prev::before, .pager-link-next::before {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s;
}
.pager-link-prev {
  padding-left: 1.5em !important;
  border-right: none;
  border-radius: 4px 0 0 4px;
}
.pager-link-prev::before {
  content: "\f04d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  left: 8px;
}
.pager-link-prev:hover::before, .pager-link-prev:focus::before {
  transform: translateX(-2px) translateY(-50%);
}
.pager-link-next {
  padding-right: 1.5em !important;
  border-left: none;
  border-radius: 0 4px 4px 0;
}
.pager-link-next::before {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  right: 8px;
}
.pager-link-next:hover::before, .pager-link-next:focus::before {
  transform: translateX(2px) translateY(-50%);
}
.pager-label {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 0.25em 1.5em;
  border: 1px solid #6b7681;
  width: 100%;
  height: 100%;
  background: #fff url(/ex/images/sale/common/icon-select-arrow.svg) right 0.25em center/20px 20px no-repeat;
  font-size: 1.6rem;
  color: #6b7681;
  text-align: center;
  pointer-events: none;
}
.pager-select {
  border: 1px solid #6b7681;
  border-radius: 0;
  width: 100%;
  height: 100%;
  min-height: auto;
  color: #6b7681;
}

.pageTurner {
  transition: opacity 0.4s 0.2s;
}
.pageTurner-page {
  width: 50%;
  height: 100%;
  float: left;
  background-size: cover;
}
.pageTurner-page:first-child {
  float: right;
}
.pageTurner-page:nth-child(even) {
  clear: both;
}
.pageTurner.bound .pageTurner-pages {
  height: 100%;
  position: relative;
  transform: rotateX(12deg);
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  border-radius: 0;
}
.pageTurner.bound .pageTurner-page {
  float: none;
  clear: none;
  margin: 0;
  position: absolute;
  top: 0;
  transform-origin: 0 0;
  transition: transform 1.4s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-style: preserve-3d;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.pageTurner.bound .pageTurner-page::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: transparent;
  transition: background 0.7s;
  z-index: 2;
}
.pageTurner.bound .pageTurner-page:nth-child(odd) {
  pointer-events: all;
  transform: rotateY(0deg);
  right: 0;
  border-radius: 0 0 0 0;
}
.pageTurner.bound .pageTurner-page:nth-child(odd)::before {
  background: transparent;
}
.pageTurner.bound .pageTurner-page:nth-child(odd):hover {
  transform: rotateY(-10deg);
}
.pageTurner.bound .pageTurner-page:nth-child(odd):hover::before {
  background: rgba(0, 0, 0, 0.08);
}
.pageTurner.bound .pageTurner-page:nth-child(even) {
  pointer-events: none;
  transform: rotateY(180deg);
  transform-origin: 100% 0;
  left: 0;
  border-radius: 0 0 0 0;
}
.pageTurner.bound .pageTurner-page:nth-child(even)::before {
  background: transparent;
}
.pageTurner.bound .pageTurner-page.grabbing {
  transition: none;
}
.pageTurner.bound .pageTurner-page.flipped:nth-child(odd) {
  pointer-events: none;
  transform: rotateY(-180deg);
}
.pageTurner.bound .pageTurner-page.flipped:nth-child(odd)::before {
  background: transparent;
}
.pageTurner.bound .pageTurner-page.flipped:nth-child(even) {
  pointer-events: all;
  transform: rotateY(0deg);
}
.pageTurner.bound .pageTurner-page.flipped:nth-child(even)::before {
  background: transparent;
}
.pageTurner.bound .pageTurner-page.flipped:nth-child(even):hover {
  transform: rotateY(10deg);
}
.pageTurner.bound .pageTurner-page.flipped:nth-child(even):hover::before {
  background: rgba(0, 0, 0, 0.08);
}
.pageTurner-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.photobookPreview {
  position: relative;
  padding: 15px;
  background-color: var(--color-gray-background);
}
.photobookPreview-img {
  position: relative;
  z-index: 3;
}
.photobookPreview-hintWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 50%;
  height: 100%;
  opacity: 0;
  -webkit-animation: show-scale-up 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s forwards;
          animation: show-scale-up 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s forwards;
}
.photobookPreview-hint {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
  border-radius: 50%;
  width: 130px;
  height: 130px;
  background-color: #fff;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}
.photobookPreview-hint::before, .photobookPreview-hint::after {
  content: "";
  display: block;
}
.photobookPreview-hint::before {
  margin-bottom: 0.5em;
  width: 48px;
  height: 48px;
  background: center center/contain no-repeat;
}
.photobookPreview-hint::after {
  position: absolute;
  top: 50%;
  right: -13px;
  transform: translateY(-50%);
  border-width: 10px 0 10px 15px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  width: 0;
  height: 0;
}
.photobookPreview-hint-touch::before {
  background-image: url(/ex/images/common/icon-tap.svg);
}
.photobookPreview-hint-click::before {
  background-image: url(/ex/images/common/icon-click.svg);
}
.photoGroupList-item-sale + .photoGroupList-item::before, .photoGroupList-item:first-child::before {
  content: "" !important;
  display: inline-block;
  margin-right: 0.25em;
  width: 1.2em;
  height: 1.2em;
  background: center center/contain no-repeat;
  vertical-align: middle;
}

.photoGroupList {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
  color: #6b7681;
  line-height: 1.4;
}
.piczoom .photoGroupList {
  justify-content: center;
  color: #fff;
}
.photoGroupList-item:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%233d4750" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.piczoom .photoGroupList-item:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%23fff" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.photoGroupList-item:not(:first-child)::before {
  content: "\f142";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
}
.piczoom .photoGroupList-item:not(:first-child)::before {
  color: var(--color-gray-border);
}
.photoGroupList-item-sale::after {
  content: "\f142";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
}
.piczoom .photoGroupList-item-sale::after {
  color: var(--color-gray-border);
}
.photoGroupList-item-sale:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%233d4750" d="M18.775 3.511a.98.98 0 0 0-1.104.396 3.762 3.762 0 0 1-5.139 1.071c-1.88-1.209-4.227-1.147-6.038-.06v-.933a.984.984 0 1 0-1.968 0v16.031a.984.984 0 1 0 1.968 0v-6.318c1.173-1.513 3.341-1.919 4.973-.87 2.603 1.673 6.121.94 7.841-1.634a.985.985 0 0 0 .166-.546V4.453a.984.984 0 0 0-.699-.942Zm-1.27 6.819c-1.175 1.5-3.345 1.889-4.973.842a5.659 5.659 0 0 0-3.069-.898c-1.04 0-2.07.281-2.968.818V7.476c1.176-1.5 3.346-1.888 4.973-.842 1.876 1.206 4.228 1.164 6.038.081v3.616Z"/></svg>');
}
.piczoom .photoGroupList-item-sale:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23fff" d="M18.775 3.511a.98.98 0 0 0-1.104.396 3.762 3.762 0 0 1-5.139 1.071c-1.88-1.209-4.227-1.147-6.038-.06v-.933a.984.984 0 1 0-1.968 0v16.031a.984.984 0 1 0 1.968 0v-6.318c1.173-1.513 3.341-1.919 4.973-.87 2.603 1.673 6.121.94 7.841-1.634a.985.985 0 0 0 .166-.546V4.453a.984.984 0 0 0-.699-.942Zm-1.27 6.819c-1.175 1.5-3.345 1.889-4.973.842a5.659 5.659 0 0 0-3.069-.898c-1.04 0-2.07.281-2.968.818V7.476c1.176-1.5 3.346-1.888 4.973-.842 1.876 1.206 4.228 1.164 6.038.081v3.616Z"/></svg>');
}
.photoGroupList-item-sale + .photoGroupList-item::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%233d4750" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.piczoom .photoGroupList-item-sale + .photoGroupList-item::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%23fff" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}

.photoGroupListOneLine-item-sale + .photoGroupListOneLine-item::before, .photoGroupListOneLine-first .photoGroupListOneLine-item:first-child::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 1.2em;
  height: 1.2em;
  background: center center/contain no-repeat;
  vertical-align: middle;
}

.photoGroupListOneLine {
  display: flex;
  width: 100%;
  font-size: 1.2rem;
  color: #6b7681;
  line-height: 1.4;
}
.piczoom .photoGroupListOneLine {
  justify-content: center;
  color: #fff;
}
.photoGroupListOneLine-first, .photoGroupListOneLine-last {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.photoGroupListOneLine-last {
  flex-shrink: 0;
  max-width: calc(100% - 4em);
}
.photoGroupListOneLine-first .photoGroupListOneLine-item:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%233d4750" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.piczoom .photoGroupListOneLine-first .photoGroupListOneLine-item:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%23fff" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.photoGroupListOneLine-item:not(:first-child)::before {
  content: "\f142";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
}
.piczoom .photoGroupListOneLine-item:not(:first-child)::before {
  color: var(--color-gray-border);
}
.photoGroupListOneLine-first + .photoGroupListOneLine-last .photoGroupListOneLine-item::before {
  content: "\f142";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
}
.piczoom .photoGroupListOneLine-first + .photoGroupListOneLine-last .photoGroupListOneLine-item::before {
  color: var(--color-gray-border);
}
.photoGroupListOneLine-item-sale::after {
  content: "\f142";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
}
.piczoom .photoGroupListOneLine-item-sale::after {
  color: var(--color-gray-border);
}
.photoGroupListOneLine-first .photoGroupListOneLine-item-sale:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%233d4750" d="M18.775 3.511a.98.98 0 0 0-1.104.396 3.762 3.762 0 0 1-5.139 1.071c-1.88-1.209-4.227-1.147-6.038-.06v-.933a.984.984 0 1 0-1.968 0v16.031a.984.984 0 1 0 1.968 0v-6.318c1.173-1.513 3.341-1.919 4.973-.87 2.603 1.673 6.121.94 7.841-1.634a.985.985 0 0 0 .166-.546V4.453a.984.984 0 0 0-.699-.942Zm-1.27 6.819c-1.175 1.5-3.345 1.889-4.973.842a5.659 5.659 0 0 0-3.069-.898c-1.04 0-2.07.281-2.968.818V7.476c1.176-1.5 3.346-1.888 4.973-.842 1.876 1.206 4.228 1.164 6.038.081v3.616Z"/></svg>');
}
.piczoom .photoGroupListOneLine-first .photoGroupListOneLine-item-sale:first-child::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23fff" d="M18.775 3.511a.98.98 0 0 0-1.104.396 3.762 3.762 0 0 1-5.139 1.071c-1.88-1.209-4.227-1.147-6.038-.06v-.933a.984.984 0 1 0-1.968 0v16.031a.984.984 0 1 0 1.968 0v-6.318c1.173-1.513 3.341-1.919 4.973-.87 2.603 1.673 6.121.94 7.841-1.634a.985.985 0 0 0 .166-.546V4.453a.984.984 0 0 0-.699-.942Zm-1.27 6.819c-1.175 1.5-3.345 1.889-4.973.842a5.659 5.659 0 0 0-3.069-.898c-1.04 0-2.07.281-2.968.818V7.476c1.176-1.5 3.346-1.888 4.973-.842 1.876 1.206 4.228 1.164 6.038.081v3.616Z"/></svg>');
}
.photoGroupListOneLine-item-sale + .photoGroupListOneLine-item::before {
  content: "";
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%233d4750" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.piczoom .photoGroupListOneLine-item-sale + .photoGroupListOneLine-item::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%23fff" d="M7 17q-.825 0-1.412-.587Q5 15.825 5 15V4q0-.825.588-1.413Q6.175 2 7 2h4.175q.4 0 .763.15.362.15.637.425L14 4h7q.825 0 1.413.588Q23 5.175 23 6v9q0 .825-.587 1.413Q21.825 17 21 17Zm0-2h14V6h-7.825l-2-2H7v11Zm-4 6q-.825 0-1.412-.587Q1 19.825 1 19V7q0-.425.288-.713Q1.575 6 2 6t.713.287Q3 6.575 3 7v12h16q.425 0 .712.288.288.287.288.712t-.288.712Q19.425 21 19 21Zm7-8h8q.3 0 .45-.275.15-.275-.05-.525l-2.375-3.175q-.15-.2-.4-.2t-.4.2L13 12l-1.225-1.65q-.15-.2-.4-.2t-.4.2L9.6 12.2q-.2.25-.05.525Q9.7 13 10 13Zm-3 2V4v11Z"/></svg>');
}
.photoList-sm {
  display: grid;
  grid-gap: 30px 4px;
  grid-template-columns: repeat(2, 50%);
}
.photoList-item {
  margin-bottom: 40px;
}
.photoList-sm .photoList-item {
  margin-bottom: 0;
}
.photoList-item.is-invalid .btn-secondary {
  border-color: #f43643;
  color: #f43643;
}
.photoList-item:not(:first-child) .photoList-header {
  padding-top: 15px;
  border-top: 1px solid var(--color-gray-border);
}
.photoList-header {
  margin-bottom: 10px;
  padding-right: 15px;
  padding-left: 15px;
}
.photoList-header:empty {
  margin-bottom: 0;
}
.photoList-header .alert {
  margin-bottom: 15px;
}
.photoList-cart .photoList-body {
  margin-bottom: 20px;
}
.photoList-link, .photoList-thumbnail {
  background-color: var(--color-gray-background);
}
.photoList-item.is-invalid .photoList-link, .photoList-item.is-invalid .photoList-thumbnail {
  background-color: #fee8eb;
}
.photoList-link, .photoList-thumbnail {
  position: relative;
}
.photoList-link {
  display: block;
}
.photoList-link:focus {
  box-shadow: 0 0 0 3px rgba(41, 98, 255, 0.2);
}
.photoList-link::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 50%;
  background-color: #fff;
  content: "\f6ec";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
  bottom: 10px;
  left: 10px;
  width: 26px;
  height: 26px;
  font-size: 16px;
}
.photoList-sm .photoList-link::before {
  bottom: 5px;
  left: 5px;
  width: 18px;
  height: 18px;
  font-size: 14px;
}
.photoList-img {
  width: 100%;
  height: 0;
  background: center center/contain no-repeat;
}
.photoList-sm .photoList-img {
  padding-top: 0 !important;
  height: auto;
}
.photoList-thumbnail-goods .photoList-img {
  padding-top: 200px !important;
  background-size: 150px;
}
.photoList-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.75em;
  border: 1px solid;
  border-radius: 3em;
  min-height: 20px;
  font-size: 1.2rem;
  line-height: 1.3;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.photoList-sm .photoList-label {
  right: 5px;
  bottom: 5px;
  min-height: 18px;
  font-size: 1.1rem;
}
.photoList-label-bought {
  border-color: #6b7681;
  background-color: #6b7681;
  color: #fff;
  box-shadow: 0 0 0 1px #fff;
}
.photoList-label-bought::before {
  content: "\f111";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
}
.photoList-label-trimming {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.photoList-label-trimming::before {
  content: "\f19e";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
}
.photoList-detail {
  margin-top: 10px;
  padding-right: 15px;
  padding-left: 15px;
}
.photoList-sm .photoList-detail {
  padding-right: 10px;
  padding-left: 10px;
}
.photoList-cart .photoList-detail {
  margin-top: 20px;
}
.photoList-photoName {
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: center;
}
.piczoom .photoList-photoName {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.photoListBtn {
  display: flex;
  justify-content: center;
  gap: 8px;
}
* + .photoListBtn {
  margin-top: 10px;
}
.photoListBtn-select {
  margin-top: 20px;
}
.photoListBtn-cart, .photoListBtn-change, .photoListBtn-photobookPages, .photoListBtn-photobookCover, .photoListBtn-photobookBackCover, .photoListBtn-moveFavorite, .photoListBtn-editDesign, .photoListBtn-delete {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid;
  border-radius: 4px;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  min-height: 38px;
  transition: opacity 0.3s, border-color 0.3s, background-color 0.3s, color 0.3s;
}
.photoListBtn-cart.is-disabled, .photoListBtn-cart:disabled, .photoListBtn-change.is-disabled, .photoListBtn-change:disabled, .photoListBtn-photobookPages.is-disabled, .photoListBtn-photobookPages:disabled, .photoListBtn-photobookCover.is-disabled, .photoListBtn-photobookCover:disabled, .photoListBtn-photobookBackCover.is-disabled, .photoListBtn-photobookBackCover:disabled, .photoListBtn-moveFavorite.is-disabled, .photoListBtn-moveFavorite:disabled, .photoListBtn-editDesign.is-disabled, .photoListBtn-editDesign:disabled, .photoListBtn-delete.is-disabled, .photoListBtn-delete:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.photoListBtn-cart, .photoListBtn-moveFavorite, .photoListBtn-editDesign, .photoListBtn-delete {
  font-size: 1.6rem;
}
.photoListBtn-cart, .photoListBtn-change, .photoListBtn-photobookPages, .photoListBtn-photobookCover, .photoListBtn-photobookBackCover, .photoListBtn-moveFavorite, .photoListBtn-editDesign {
  padding: 0.4em 0.75em 0.4em 2em;
}
.piczoom .photoListBtn-cart, .piczoom .photoListBtn-change, .piczoom .photoListBtn-photobookPages, .piczoom .photoListBtn-photobookCover, .piczoom .photoListBtn-photobookBackCover, .piczoom .photoListBtn-moveFavorite, .piczoom .photoListBtn-editDesign {
  width: calc(100% - 43px);
  max-width: 240px;
}
.photoListBtn-cart::before, .photoListBtn-change::before, .photoListBtn-photobookPages::before, .photoListBtn-photobookCover::before, .photoListBtn-photobookBackCover::before, .photoListBtn-moveFavorite::before, .photoListBtn-editDesign::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-50%);
}
.photoListBtn-cart, .photoListBtn-change, .photoListBtn-photobookPages, .photoListBtn-photobookCover, .photoListBtn-photobookBackCover {
  border-color: #f57c00;
  background-color: #f57c00;
  color: #fff;
  width: 100%;
  max-width: 240px;
}
.photoListBtn-cart:focus, .photoListBtn-change:focus, .photoListBtn-photobookPages:focus, .photoListBtn-photobookCover:focus, .photoListBtn-photobookBackCover:focus {
  box-shadow: 0 0 0 3px rgba(245, 124, 0, 0.2);
}
.photoListBtn-cart:hover, .photoListBtn-cart:focus, .photoListBtn-change:hover, .photoListBtn-change:focus, .photoListBtn-photobookPages:hover, .photoListBtn-photobookPages:focus, .photoListBtn-photobookCover:hover, .photoListBtn-photobookCover:focus, .photoListBtn-photobookBackCover:hover, .photoListBtn-photobookBackCover:focus {
  background-color: #dc6f00;
  border-color: #dc6f00;
  color: #fff;
}
.photoList-sm .photoListBtn-cart, .photoList-sm .photoListBtn-change, .photoList-sm .photoListBtn-photobookPages, .photoList-sm .photoListBtn-photobookCover, .photoList-sm .photoListBtn-photobookBackCover {
  min-width: auto;
  max-width: 160px;
}
.photoListBtn-cart.is-selected, .photoListBtn-change.is-selected, .photoListBtn-photobookPages.is-selected, .photoListBtn-photobookCover.is-selected, .photoListBtn-photobookBackCover.is-selected {
  border-color: #f43643;
  background-color: #f43643;
  color: #fff;
}
.photoListBtn-cart.is-selected:focus, .photoListBtn-change.is-selected:focus, .photoListBtn-photobookPages.is-selected:focus, .photoListBtn-photobookCover.is-selected:focus, .photoListBtn-photobookBackCover.is-selected:focus {
  box-shadow: 0 0 0 3px rgba(244, 54, 67, 0.2);
}
.photoListBtn-cart.is-selected:hover, .photoListBtn-cart.is-selected:focus, .photoListBtn-change.is-selected:hover, .photoListBtn-change.is-selected:focus, .photoListBtn-photobookPages.is-selected:hover, .photoListBtn-photobookPages.is-selected:focus, .photoListBtn-photobookCover.is-selected:hover, .photoListBtn-photobookCover.is-selected:focus, .photoListBtn-photobookBackCover.is-selected:hover, .photoListBtn-photobookBackCover.is-selected:focus {
  background-color: #db2534;
  border-color: #db2534;
  color: #fff;
}
.photoListBtn-moveFavorite, .photoListBtn-editDesign {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
  width: calc(65% - 5px);
}
.photoListBtn-moveFavorite:focus, .photoListBtn-editDesign:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.photoListBtn-moveFavorite:hover, .photoListBtn-moveFavorite:focus, .photoListBtn-editDesign:hover, .photoListBtn-editDesign:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.photoListBtn-moveFavorite::before, .photoListBtn-editDesign::before {
  width: 1.2em;
  height: 1.2em;
}
.photoListBtn-cart::before {
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-cart-add-btn.svg") center center/contain no-repeat;
}
.photoListBtn-change::before {
  content: "\f450";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.2em;
}
.photoListBtn-photobookPages::before, .photoListBtn-photobookCover::before, .photoListBtn-photobookBackCover::before {
  content: "\f415";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.2em;
}
.photoListBtn-photobookPages::after, .photoListBtn-photobookCover::after, .photoListBtn-photobookBackCover::after {
  content: "";
  display: none;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background: center center/contain no-repeat;
}
.photoListBtn-photobookPages.is-selected::before, .photoListBtn-photobookCover.is-selected::before, .photoListBtn-photobookBackCover.is-selected::before {
  display: none;
}
.photoListBtn-photobookPages.is-selected::after, .photoListBtn-photobookCover.is-selected::after, .photoListBtn-photobookBackCover.is-selected::after {
  display: block;
}
.photoListBtn-photobookPages::after {
  background-image: url("/ex/images/common/icon-photo-book-white.svg");
}
.photoListBtn-photobookCover::after {
  background-image: url("/ex/images/common/icon-photo-book-cover-white.svg");
}
.photoListBtn-photobookBackCover::after {
  background-image: url("/ex/images/common/icon-photo-book-back-cover-white.svg");
}
.photoListBtn-favorite {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  color: #6b7681;
  line-height: 1;
  transition: color 0.3s;
  font-size: 29px;
  display: inline-block;
  position: relative;
  margin-left: 5px;
  width: 38px;
  height: 38px;
}
.photoListBtn-favorite:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.photoListBtn-favorite:hover, .photoListBtn-favorite:focus {
  color: #3d4750;
}
.photoListBtn-favorite.is-selected {
  color: var(--color-primary);
}
.photoListBtn-favorite.is-selected:hover, .photoListBtn-favorite.is-selected:focus {
  color: var(--color-primary-hover);
}
.piczoom .photoListBtn-favorite {
  opacity: 0.85;
}
.photoListBtn-favorite::before, .photoListBtn-favorite::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: center center/32px no-repeat;
  transition: opacity 0.15s ease-out;
}
.photoList-sm .photoListBtn-favorite::before, .photoList-sm .photoListBtn-favorite::after {
  background-size: 26px;
}
.photoListBtn-favorite::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%236b7681" d="M8.063 18.273 12 15.898l3.937 2.406-1.031-4.5 3.469-3-4.562-.406-1.812-4.25-1.812 4.219-4.563.406 3.469 3.031-1.031 4.469ZM12 18.117l-4.875 2.906a.886.886 0 0 1-.531.14.927.927 0 0 1-.5-.171 1.07 1.07 0 0 1-.344-.421.787.787 0 0 1-.031-.579L7 14.492l-4.281-3.719a.917.917 0 0 1-.282-1.031 1.01 1.01 0 0 1 .297-.423.913.913 0 0 1 .515-.202l5.656-.5 2.219-5.219a.895.895 0 0 1 .36-.422c.156-.093.328-.14.515-.14s.36.047.516.14a.91.91 0 0 1 .359.422l2.219 5.219 5.656.5c.208.021.38.088.516.202.135.115.234.256.296.423a.918.918 0 0 1-.282 1.031l-4.281 3.719 1.281 5.5a.792.792 0 0 1-.031.579 1.055 1.055 0 0 1-.344.421.93.93 0 0 1-1.031.031l-4.875-2.906Z"/></svg>');
}
.piczoom .photoListBtn-favorite::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23fff" d="M8.063 18.273 12 15.898l3.937 2.406-1.031-4.5 3.469-3-4.562-.406-1.812-4.25-1.812 4.219-4.563.406 3.469 3.031-1.031 4.469ZM12 18.117l-4.875 2.906a.886.886 0 0 1-.531.14.927.927 0 0 1-.5-.171 1.07 1.07 0 0 1-.344-.421.787.787 0 0 1-.031-.579L7 14.492l-4.281-3.719a.917.917 0 0 1-.282-1.031 1.01 1.01 0 0 1 .297-.423.913.913 0 0 1 .515-.202l5.656-.5 2.219-5.219a.895.895 0 0 1 .36-.422c.156-.093.328-.14.515-.14s.36.047.516.14a.91.91 0 0 1 .359.422l2.219 5.219 5.656.5c.208.021.38.088.516.202.135.115.234.256.296.423a.918.918 0 0 1-.282 1.031l-4.281 3.719 1.281 5.5a.792.792 0 0 1-.031.579 1.055 1.055 0 0 1-.344.421.93.93 0 0 1-1.031.031l-4.875-2.906Z"/></svg>');
}
.photoListBtn-favorite::after {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23f43643" d="m12 18.117-4.875 2.906a.886.886 0 0 1-.531.14.927.927 0 0 1-.5-.171 1.07 1.07 0 0 1-.344-.421.787.787 0 0 1-.031-.579L7 14.492l-4.281-3.719a.917.917 0 0 1-.282-1.031 1.01 1.01 0 0 1 .297-.423.913.913 0 0 1 .515-.202l5.656-.5 2.219-5.219a.895.895 0 0 1 .36-.422c.156-.093.328-.14.515-.14s.36.047.516.14a.91.91 0 0 1 .359.422l2.219 5.219 5.656.5c.208.021.38.088.516.202.135.115.234.256.296.423a.918.918 0 0 1-.282 1.031l-4.281 3.719 1.281 5.5a.792.792 0 0 1-.031.579 1.055 1.055 0 0 1-.344.421.93.93 0 0 1-1.031.031l-4.875-2.906Z"/></svg>');
}
.piczoom .photoListBtn-favorite:hover, .piczoom .photoListBtn-favorite:focus {
  opacity: 1;
}
.device-PC .photoListBtn-favorite:hover::before, .device-PC .photoListBtn-favorite:focus::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%233d4750" d="M8.063 18.273 12 15.898l3.937 2.406-1.031-4.5 3.469-3-4.562-.406-1.812-4.25-1.812 4.219-4.563.406 3.469 3.031-1.031 4.469ZM12 18.117l-4.875 2.906a.886.886 0 0 1-.531.14.927.927 0 0 1-.5-.171 1.07 1.07 0 0 1-.344-.421.787.787 0 0 1-.031-.579L7 14.492l-4.281-3.719a.917.917 0 0 1-.282-1.031 1.01 1.01 0 0 1 .297-.423.913.913 0 0 1 .515-.202l5.656-.5 2.219-5.219a.895.895 0 0 1 .36-.422c.156-.093.328-.14.515-.14s.36.047.516.14a.91.91 0 0 1 .359.422l2.219 5.219 5.656.5c.208.021.38.088.516.202.135.115.234.256.296.423a.918.918 0 0 1-.282 1.031l-4.281 3.719 1.281 5.5a.792.792 0 0 1-.031.579 1.055 1.055 0 0 1-.344.421.93.93 0 0 1-1.031.031l-4.875-2.906Z"/></svg>');
}
.photoListBtn-favorite.is-disabled, .photoListBtn-favorite:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.photoListBtn-favorite.is-selected::before {
  opacity: 0;
}
.photoListBtn-favorite.is-selected::after {
  opacity: 1;
}
.device-PC .photoListBtn-favorite.is-selected:hover::after, .device-PC .photoListBtn-favorite.is-selected:focus::after {
  opacity: 1;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path fill="%23db2534" d="m12 18.117-4.875 2.906a.886.886 0 0 1-.531.14.927.927 0 0 1-.5-.171 1.07 1.07 0 0 1-.344-.421.787.787 0 0 1-.031-.579L7 14.492l-4.281-3.719a.917.917 0 0 1-.282-1.031 1.01 1.01 0 0 1 .297-.423.913.913 0 0 1 .515-.202l5.656-.5 2.219-5.219a.895.895 0 0 1 .36-.422c.156-.093.328-.14.515-.14s.36.047.516.14a.91.91 0 0 1 .359.422l2.219 5.219 5.656.5c.208.021.38.088.516.202.135.115.234.256.296.423a.918.918 0 0 1-.282 1.031l-4.281 3.719 1.281 5.5a.792.792 0 0 1-.031.579 1.055 1.055 0 0 1-.344.421.93.93 0 0 1-1.031.031l-4.875-2.906Z"/></svg>');
}
.photoListBtn-favorite.is-added::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%236b7681" d="M7 21q-.825 0-1.412-.587Q5 19.825 5 19V6q-.425 0-.713-.287Q4 5.425 4 5t.287-.713Q4.575 4 5 4h4q0-.425.288-.713Q9.575 3 10 3h4q.425 0 .713.287Q15 3.575 15 4h4q.425 0 .712.287Q20 4.575 20 5t-.288.713Q19.425 6 19 6v13q0 .825-.587 1.413Q17.825 21 17 21ZM7 6v13h10V6Zm2 10q0 .425.288.712Q9.575 17 10 17t.713-.288Q11 16.425 11 16V9q0-.425-.287-.713Q10.425 8 10 8t-.712.287Q9 8.575 9 9Zm4 0q0 .425.288.712.287.288.712.288t.713-.288Q15 16.425 15 16V9q0-.425-.287-.713Q14.425 8 14 8t-.712.287Q13 8.575 13 9ZM7 6v13V6Z"/></svg>');
}
.piczoom .photoListBtn-favorite.is-added::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%23fff" d="M7 21q-.825 0-1.412-.587Q5 19.825 5 19V6q-.425 0-.713-.287Q4 5.425 4 5t.287-.713Q4.575 4 5 4h4q0-.425.288-.713Q9.575 3 10 3h4q.425 0 .713.287Q15 3.575 15 4h4q.425 0 .712.287Q20 4.575 20 5t-.288.713Q19.425 6 19 6v13q0 .825-.587 1.413Q17.825 21 17 21ZM7 6v13h10V6Zm2 10q0 .425.288.712Q9.575 17 10 17t.713-.288Q11 16.425 11 16V9q0-.425-.287-.713Q10.425 8 10 8t-.712.287Q9 8.575 9 9Zm4 0q0 .425.288.712.287.288.712.288t.713-.288Q15 16.425 15 16V9q0-.425-.287-.713Q14.425 8 14 8t-.712.287Q13 8.575 13 9ZM7 6v13V6Z"/></svg>');
}
.piczoom .photoListBtn-favorite.is-added:hover, .piczoom .photoListBtn-favorite.is-added:focus {
  opacity: 1;
}
.device-PC .photoListBtn-favorite.is-added:hover::before, .device-PC .photoListBtn-favorite.is-added:focus::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%233d4750" d="M7 21q-.825 0-1.412-.587Q5 19.825 5 19V6q-.425 0-.713-.287Q4 5.425 4 5t.287-.713Q4.575 4 5 4h4q0-.425.288-.713Q9.575 3 10 3h4q.425 0 .713.287Q15 3.575 15 4h4q.425 0 .712.287Q20 4.575 20 5t-.288.713Q19.425 6 19 6v13q0 .825-.587 1.413Q17.825 21 17 21ZM7 6v13h10V6Zm2 10q0 .425.288.712Q9.575 17 10 17t.713-.288Q11 16.425 11 16V9q0-.425-.287-.713Q10.425 8 10 8t-.712.287Q9 8.575 9 9Zm4 0q0 .425.288.712.287.288.712.288t.713-.288Q15 16.425 15 16V9q0-.425-.287-.713Q14.425 8 14 8t-.712.287Q13 8.575 13 9ZM7 6v13V6Z"/></svg>');
}
.piczoom .photoListBtn-moveFavorite {
  width: calc(65% - 5px);
}
.photoListBtn-moveFavorite::before {
  background: url("/ex/images/common/icon-favorite-btn.svg") center center/contain no-repeat;
}
.photoListBtn-editDesign::before {
  background: url("/ex/images/common/icon-design-btn.svg") center center/contain no-repeat;
}
.photoListBtn-delete {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
  padding: 0.4em 0.75em 0.4em 2em;
  width: 35%;
}
.photoListBtn-delete:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.photoListBtn-delete:hover, .photoListBtn-delete:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.piczoom .photoListBtn-delete {
  opacity: 0.85;
  margin-left: 5px;
  padding: 0;
  border-color: transparent;
  width: 38px;
  height: 38px;
  background-color: transparent;
}
.photoListBtn-delete::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-delete.svg") center center/contain no-repeat;
}
.piczoom .photoListBtn-delete::before {
  position: static;
  transform: none;
  width: 100%;
  height: 100%;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="%23fff" d="M7 21q-.825 0-1.412-.587Q5 19.825 5 19V6q-.425 0-.713-.287Q4 5.425 4 5t.287-.713Q4.575 4 5 4h4q0-.425.288-.713Q9.575 3 10 3h4q.425 0 .713.287Q15 3.575 15 4h4q.425 0 .712.287Q20 4.575 20 5t-.288.713Q19.425 6 19 6v13q0 .825-.587 1.413Q17.825 21 17 21ZM7 6v13h10V6Zm2 10q0 .425.288.712Q9.575 17 10 17t.713-.288Q11 16.425 11 16V9q0-.425-.287-.713Q10.425 8 10 8t-.712.287Q9 8.575 9 9Zm4 0q0 .425.288.712.287.288.712.288t.713-.288Q15 16.425 15 16V9q0-.425-.287-.713Q14.425 8 14 8t-.712.287Q13 8.575 13 9ZM7 6v13V6Z"/></svg>');
  background-size: 32px;
}
.piczoom .photoListBtn-delete:hover, .piczoom .photoListBtn-delete:focus {
  opacity: 1;
}
.piczoom .photoListBtn-deleteText {
  display: none;
}
.photoListBtn-text {
  display: none;
}
.photoList:not(.photoList-sm) .photoListBtn-text-lg, .piczoom .photoListBtn-text-lg {
  display: block;
}
.photoList-sm .photoListBtn-text-sm {
  display: block;
}

*:not(:empty) + .photoListOrderConfirm {
  margin-top: 1em;
}
.title + .photoListOrderConfirm {
  margin-top: 0;
}
.photoListOrderConfirm-item {
  padding: 8px 0;
  border-bottom: 1px solid var(--color-gray-border);
  line-height: 1.6;
}
.photoListOrderConfirm-name, .photoListOrderConfirm-price {
  display: block;
}
.photoListOrderConfirm-note {
  color: #6b7681;
}

.piczoom .photoListSelectSize {
  height: 38px;
}
.photoListBtn + .photoListSelectSize {
  margin-top: 10px;
}
.photoListSelectSize-item:not(:first-child) {
  margin-top: 10px;
}
.photoListSelectSize-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding-top: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #3d4750;
  line-height: 1.6;
  gap: 8px;
}
.piczoom .photoListSelectSize-header {
  justify-content: center;
  border-bottom: none;
}
.photoListSelectSize-title .label {
  vertical-align: middle;
}
.photoListSelectSize-name {
  margin-right: 6px;
  vertical-align: middle;
}
.piczoom .photoListSelectSize-name {
  overflow: hidden;
  line-height: 1.4;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.photoListSelectSize-price {
  flex: none;
  margin-left: auto;
  text-align: right;
}
.photoListSelectSize-discountPrice {
  color: #f43643;
}
.photoListSelectSize-discountPrice:before {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  transform: scale(1.2);
  margin-right: 0.25em;
  margin-left: 0.25em;
  color: #3d4750;
}
.photoListSelectSize-delete {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid;
  border-radius: 4px;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
  flex-shrink: 0;
  padding: 0.25em 0.5em;
  min-height: 30px;
  font-size: 1.4rem;
}
.photoListSelectSize-delete:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.photoListSelectSize-delete:hover, .photoListSelectSize-delete:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.photoListSelectSize-delete::before {
  content: "\F159";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: scale(1.2);
  margin-right: 0.25em;
}
.photoListSelectSize-delete.is-disabled, .photoListSelectSize-delete:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.piczoom .photoListSelectSize-delete {
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}
.photoListSelectSize-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--color-gray-border);
}
.photoListSelectSize-quantity {
  margin-right: 10px;
}
.photoListSelectSize-btn {
  display: flex;
  margin-left: auto;
}

.photoThumbnailList {
  display: grid;
  grid-gap: 4px;
  grid-template-columns: repeat(2, 50%);
}
*:not(:empty) + .photoThumbnailList {
  margin-top: 1em;
}
.title + .photoThumbnailList {
  margin-top: 0;
}
.photoThumbnailList-link {
  display: block;
  background-color: rgba(255, 255, 255, 0.05);
}
.photoThumbnailList-img {
  width: 100%;
  background: center center/contain no-repeat;
}

.privatePhotoSetting-btnGroup {
  display: flex;
  justify-content: center;
  margin-top: 0.5em;
  white-space: nowrap;
}
.privatePhotoSetting-btn {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
  flex: 1;
}
.privatePhotoSetting-btn:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.privatePhotoSetting-btn:hover, .privatePhotoSetting-btn:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.privatePhotoSetting-btn:not(:first-child) {
  margin-top: 0;
  margin-left: -1px;
  border-left-color: transparent;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.privatePhotoSetting-btn:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.privatePhotoSetting-btn-on.is-selected {
  border-color: #6b7681;
  background-color: #6b7681;
  color: #fff;
}
.privatePhotoSetting-btn-on.is-selected:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.privatePhotoSetting-btn-on.is-selected:hover, .privatePhotoSetting-btn-on.is-selected:focus {
  background-color: #3d4750;
  border-color: #3d4750;
  color: #fff;
}
.privatePhotoSetting-btn-off.is-selected {
  border-color: #f57c00;
  background-color: #f57c00;
  color: #fff;
}
.privatePhotoSetting-btn-off.is-selected:focus {
  box-shadow: 0 0 0 3px rgba(245, 124, 0, 0.2);
}
.privatePhotoSetting-btn-off.is-selected:hover, .privatePhotoSetting-btn-off.is-selected:focus {
  background-color: #dc6f00;
  border-color: #dc6f00;
  color: #fff;
}
.privatePhotoSetting-text {
  margin-top: 0.5em;
  font-size: 1.4rem;
}

*:not(:empty) + .productDetail {
  margin-top: 30px;
}
.title + .productDetail {
  margin-top: 0;
}
.productDetail-goods {
  margin-top: -40px;
}
.productDetail-img {
  width: 100%;
  background: var(--color-gray-background) center center/contain no-repeat;
}
.productDetail-body {
  margin-top: 30px;
}
.productDetail-title {
  display: grid;
  justify-content: space-between;
  align-items: center;
  line-height: 1.6;
  grid-template-areas: "name" "price" "note";
}
.productDetail-title-col2 {
  grid-gap: 0 1em;
  grid-template-areas: "name price" "note note";
}
.productDetail-detail {
  margin-top: 20px;
}
.productDetail-name {
  font-size: 1.6rem;
  grid-area: name;
}
.productDetail-price, .productDetail-note {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 1em;
}
.productDetail-price {
  grid-area: price;
}
.productDetail-priceNumber {
  font-size: 1.6rem;
  font-weight: 700;
}
.productDetail-note {
  margin-top: 5px;
  color: #6b7681;
  grid-area: note;
}

.productList {
  display: grid;
  grid-gap: 30px 4px;
  grid-template-columns: repeat(2, 50%);
}
.productList-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.productList-link, .productList-thumbnail, .productList-detail, .productList-btn {
  width: 100%;
}
.productList-link, .productList-thumbnail {
  background-color: var(--color-gray-background);
}
.productList-link {
  display: block;
  position: relative;
}
.productList-link:focus {
  box-shadow: 0 0 0 3px rgba(41, 98, 255, 0.2);
}
.productList-link::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 50%;
  background-color: #fff;
  content: "\f6ec";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
  bottom: 5px;
  left: 5px;
  width: 18px;
  height: 18px;
  font-size: 14px;
}
.productList-img {
  width: 100%;
  height: auto;
  background: center center/contain no-repeat;
}
.productList-detail, .productList-btn {
  padding-right: 10px;
  padding-left: 10px;
}
.productList-detail {
  margin-top: 10px;
  margin-bottom: auto;
}
.productList-name, .productList-note, .productList-price {
  line-height: 1.6;
  text-align: center;
}
.productList-note {
  margin-top: 5px;
  color: #6b7681;
}
.productList-price {
  margin-top: 5px;
}
.productList-priceNumber {
  font-size: 1.6rem;
  font-weight: 700;
}
.productList-btn {
  margin-top: 10px;
}
.productList-btn .btn {
  width: 100%;
  min-width: auto;
}

.promotionCoupon {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: var(--color-primary-background);
}
.promotionCoupon-sp {
  position: fixed;
  bottom: 0;
  z-index: 1020;
  padding: 10px 15px;
  height: 60px;
}
.promotionCoupon-pc {
  display: none;
  margin-top: 10px;
}
.promotionCoupon-photoList {
  justify-content: center;
  position: fixed;
  bottom: 0;
  z-index: 1020;
  padding: 10px 15px;
  height: 60px;
}
.promotionCoupon-icon {
  flex-shrink: 0;
  margin-right: 0.5rem;
}
.promotionCoupon-icon img {
  width: 40px;
}
.promotionCoupon-text {
  line-height: 1.4;
}
.promotionCoupon-help {
  margin-right: 0.5em;
}
.promotionCoupon-modalLink {
  display: inline-block;
}

*:not(:empty) + .qaFormList {
  margin-top: 30px;
}
.title + .qaFormList {
  margin-top: 0;
}
.qaFormList-item:not(:first-child) {
  margin-top: 30px;
}
.qaFormList-header {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid var(--color-primary);
  font-size: 1.6rem;
  color: #262f38;
  line-height: 1.6;
}
.qaFormList-order {
  margin-right: 0.25em;
  font-size: 1.1em;
  font-weight: 700;
}
.qaFormList-label {
  flex-shrink: 0;
  margin-left: 0.5em;
}
.qaFormList-childInner {
  padding-top: 1em;
}

.qaList-item {
  border-bottom: 1px solid var(--color-gray-border);
}
.qaList-question {
  cursor: pointer;
  position: relative;
  transition: background 0.3s;
}
.qaList-question::before {
  content: "Q";
  position: absolute;
  top: -1px;
  left: 0.35em;
  font-size: 1.5em;
  font-weight: bold;
  color: var(--color-primary);
}
.qaList-questionBtn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  padding: 0.5em 2em 0.5em 2.6em;
  width: 100%;
  color: #3d4750;
  transition: background 0.3s;
}
.qaList-questionBtn::before, .qaList-questionBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 1em;
  width: 12px;
  height: 2px;
  background-color: var(--color-primary);
}
.qaList-questionBtn::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.qaList-questionBtn:not(.collapsed)::after {
  transform: none;
}
.qaList-questionBtn:hover, .qaList-questionBtn:focus, .qaList-questionBtn:not(.collapsed) {
  background: var(--color-primary-background);
}
.qaList-questionBtn::before, .qaList-questionBtn::after {
  right: 10px;
}
.qaList-answer {
  position: relative;
  padding: 1em 0 1.6em;
}

.range {
  display: flex;
  justify-content: center;
  align-items: center;
}
*:not(:empty) + .range {
  margin-top: 1em;
}
.title + .range {
  margin-top: 0;
}
.range-label {
  white-space: nowrap;
}
.range-label-min {
  margin-right: 0.5rem;
}
.range-label-max {
  margin-left: 0.5rem;
}
.range-label-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #6b7681;
  line-height: 1.1;
}
.range-icon {
  font-size: 2.8rem;
}
.range-text {
  font-size: 1.2rem;
}
.range-input {
  width: 100%;
}

.saleCardList {
  display: grid;
  margin-top: 30px;
  grid-gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.saleCardList-item {
  line-height: 1.6;
}
.saleCardList-link {
  display: block;
  position: relative;
  color: #3d4750;
}
.saleCardList-link.is-disabled {
  pointer-events: none;
}
.saleCardList-link.is-disabled .saleCardList-header {
  background-color: #000;
}
.saleCardList-link.is-disabled .saleCardList-img {
  opacity: 0.7;
}
.saleCardList-link:hover, .saleCardList-link:focus {
  color: #3d4750;
}
.saleCardList-link:hover .saleCardList-header, .saleCardList-link:focus .saleCardList-header {
  opacity: 0.7;
}
.saleCardList-header {
  position: relative;
  transition: opacity 0.3s;
}
.saleCardList-header::before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  width: 100%;
  height: 0;
}
.saleCardList-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: center center/cover no-repeat;
}
.saleCardList-body {
  margin-top: 12px;
}
.saleCardList-label {
  margin-bottom: 0.5em;
}
.saleCardList-main {
  margin-bottom: 0.25em;
}
.saleCardList-sub {
  font-size: 1.2rem;
  color: #6b7681;
}

*:not(:empty) + .schoolCodeList {
  margin-top: 1em;
}
.title + .schoolCodeList {
  margin-top: 0;
}
.schoolCodeList-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--color-gray-border);
  line-height: 1.6;
  gap: 10px;
}
.schoolCodeList-item:not(:first-child) {
  margin-top: 10px;
}
.schoolCodeList-header {
  display: flex;
  gap: 0.5em;
}
.schoolCodeList-header .label {
  flex-shrink: 0;
  align-self: center;
}
.schoolCodeList-header .text-notice {
  flex-shrink: 0;
}
.schoolCodeList-footer {
  display: flex;
  width: 100%;
  gap: 8px;
}
.schoolCodeList-footer .btn {
  flex-shrink: 0;
  margin-top: 0 !important;
}

.scrollBox {
  overflow-y: scroll;
  padding: 0.75em;
  border: solid 1px var(--color-gray-border);
  border-radius: 4px;
  height: 16em;
}
.scrollBox::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.scrollBox::-webkit-scrollbar-track {
  border-radius: 1em;
  background-color: #fff;
}
.scrollBox::-webkit-scrollbar-thumb {
  border-radius: 1em;
  border: 2px solid #fff;
  background-color: var(--color-gray-border);
}
.scrollBox {
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray-border) transparent;
}
*:not(:empty) + .scrollBox {
  margin-top: 1em;
}
.title + .scrollBox {
  margin-top: 0;
}
.scrollBox.is-invalid {
  border-color: #f43643;
}
.scrollBox-title {
  text-align: center;
}
.searchDisplay {
  display: flex;
  flex-wrap: wrap;
  margin: 30px -8px -16px;
}
.title + .searchDisplay {
  margin-top: 0 !important;
}
.searchDisplay-item {
  display: flex;
  align-items: center;
  margin: 0 8px 16px;
}
.searchDisplay-item select,
.searchDisplay-item input,
.searchDisplay-item .btn {
  font-size: 1.4rem;
}
.searchDisplay-label {
  font-size: 1.4rem;
}

.select-underline select {
  padding: 0.25em 1.5em 0.25em 0.5em;
  border: none;
  border-bottom: 1px solid #3d4750;
  border-radius: 0;
  background-color: transparent;
  background-position: right 0.1em center;
}

.selectEdit {
  display: flex;
  align-items: center;
  gap: 10px;
}
.selectEdit-preview {
  flex-shrink: 0;
}
.selectEdit-img {
  border: 1px solid var(--color-gray-border);
  width: 46px;
  height: 46px;
  background: center center/contain no-repeat;
}
.selectEdit-img.is-none {
  background: repeating-linear-gradient(-45deg, #fff, #fff 31px, var(--color-gray-border) 0, var(--color-gray-border) 32px);
}
.selectEdit-name {
  flex: 1 1 auto;
}
.selectEdit-btn {
  flex-shrink: 0;
  margin-left: auto;
}
.settingEditList {
  display: flex;
}
.settingEditList-class {
  align-items: center;
}
.settingEditList-header {
  flex-shrink: 0;
  margin-right: 10px;
}
.settingEditList-img {
  overflow: hidden;
  border-radius: 4px;
  width: 70px;
  background: center center/cover no-repeat;
}
.settingEditList-body {
  margin-right: 10px;
}
.settingEditList-label {
  margin-bottom: 5px;
}
.settingEditList-text-sub {
  font-size: 1.2rem;
  color: #6b7681;
}
.settingEditList-text-sub:not(:first-child) {
  margin-top: 0.5em;
}
.settingEditList-footer {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  margin-left: auto;
  gap: 8px;
}
.settingEditList-class .settingEditList-footer {
  margin-left: 10px;
}
.settingEditList-footer .btn {
  margin-top: 0;
}

.settingList-item {
  padding: 8px 0;
  border-bottom: 1px solid var(--color-gray-border);
  line-height: 1.6;
}
.settingList-item-checkbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.settingList-sub {
  font-size: 1.2rem;
  color: #6b7681;
}
.settingList-main-columnGap {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.settingList-text {
  width: calc(100% - 50px);
}
.settingList-checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
}

.settingProductList {
  display: flex;
  justify-content: space-between;
}
.settingProductList-thumbnail {
  width: 70px;
}
.settingProductList-img {
  overflow: hidden;
  border-radius: 4px;
  width: 100%;
  background: center center/cover no-repeat;
}
.settingProductList-detail {
  width: calc(100% - 80px);
}
.settingProductList-title {
  display: flex;
  align-items: center;
}
.settingProductList-name {
  margin-right: auto;
}
.settingProductList-price {
  flex-shrink: 0;
  margin-left: 1em;
}
.settingProductList-note {
  margin-top: 0.5em;
  font-size: 1.2rem;
  color: #6b7681;
}

.snsList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 -10px -20px;
}
*:not(:empty) + .snsList {
  margin-top: 30px;
}
.title + .snsList {
  margin-top: 0;
}
.snsList-item {
  margin: 0 10px 20px;
}
.snsList-link {
  display: block;
}
.snsList-img {
  max-width: 40px;
}

.swal2-container {
  z-index: 2020;
}
body.swal2-toast-shown .swal2-container {
  width: 400px;
}
.swal2-popup {
  padding-bottom: 10px;
  width: 50rem;
  font-size: 1.4rem;
  color: #3d4750;
}
.swal2-popup.swal2-toast {
  padding: 10px 15px 15px;
  background-color: #000;
  color: #fff;
  grid-template-rows: 1fr;
}
.swal2-popup.swal2-image-toast {
  background-color: rgba(0, 0, 0, 0.8);
}
.swal2-close {
  opacity: 0.5;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1.4rem auto no-repeat !important;
  color: transparent !important;
}
.swal2-close:hover {
  opacity: 0.75;
}
.swal2-popup.swal2-toast .swal2-close {
  position: absolute;
  top: -5px;
  right: -5px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1.4rem auto no-repeat !important;
}
.swal2-progress-steps {
  margin-top: 15px;
  margin-bottom: 0;
  padding: 0 15px;
}
.swal2-icon {
  margin-top: 25px;
  margin-bottom: 1em;
}
.swal2-popup.swal2-toast .swal2-icon {
  margin-top: 5px;
  margin-right: 10px;
}
.swal2-icon-loading {
  border-color: transparent;
}
.swal2-icon-loading::before {
  content: "";
  display: block;
  position: absolute;
  top: -0.25em;
  left: -0.25em;
  border: 0.25em solid var(--color-primary);
  border-bottom-color: rgba(var(--color-primary-rgb), 0.2);
  border-radius: 50%;
  width: calc(100% + 0.5em);
  height: calc(100% + 0.5em);
  -webkit-animation: spinner 1s linear infinite;
          animation: spinner 1s linear infinite;
}
.swal2-icon-loading img {
  width: 0.75em;
}
.swal2-image {
  margin: 15px auto 5px;
  max-width: calc(100% - 30px);
}
.swal2-title {
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding: 15px 15px 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}
.swal2-popup.swal2-toast .swal2-title {
  display: flex !important;
  align-items: center;
  margin: 5px 0 0;
  font-weight: 400;
}
.swal2-popup.swal2-toast .swal2-title.swal2-image-toast {
  margin-right: auto !important;
  margin-left: auto !important;
}
.swal2-popup.swal2-toast .swal2-title:empty {
  display: none !important;
}
.swal2-title-warning::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -0.1em;
  margin-right: 0.25em;
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-warning.svg") center center/contain no-repeat;
  vertical-align: middle;
}
.swal2-html-container {
  margin: 15px 15px 0;
  font-size: inherit;
}
.swal2-popup.swal2-toast .swal2-html-container {
  display: flex !important;
  justify-content: stretch;
  align-items: center;
  margin: 5px 0 0;
  font-size: 1.4rem;
}
.swal2-popup.swal2-toast .swal2-html-container:empty {
  display: none !important;
}
.swal2-input, .swal2-range, .swal2-file, .swal2-select, .swal2-textarea {
  margin: 15px 15px 0;
  width: auto !important;
  height: auto;
}
.swal2-popup.swal2-toast .swal2-input, .swal2-popup.swal2-toast .swal2-range, .swal2-popup.swal2-toast .swal2-file, .swal2-popup.swal2-toast .swal2-select, .swal2-popup.swal2-toast .swal2-textarea {
  margin-right: 0;
  margin-left: 0;
}
.swal2-input.swal2-inputerror, .swal2-textarea.swal2-inputerror {
  box-shadow: none;
  border-color: #f43643;
}
.swal2-input-label {
  margin-top: 15px;
  padding: 0 15px;
}
.swal2-range {
  align-items: center;
}
.swal2-radio, .swal2-checkbox {
  background-color: transparent;
  line-height: 1.6;
}
.swal2-radio input, .swal2-checkbox input {
  display: block;
  clip: auto;
  position: static;
  margin: 0 0.5em 0 0;
  border: 1px solid rgba(0, 0, 0, 0.25);
  width: 18px;
  height: 18px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: top;
  -webkit-clip-path: none;
          clip-path: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.swal2-radio input:checked, .swal2-checkbox input:checked {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.swal2-radio input:focus, .swal2-checkbox input:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.2);
}
.swal2-radio {
  margin-right: 5px;
  margin-left: 5px;
}
.swal2-radio label {
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-right: 10px;
  margin-left: 10px;
  font-size: inherit;
}
.swal2-radio input[type=radio] {
  border-radius: 50%;
}
.swal2-radio input[type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.swal2-checkbox {
  cursor: pointer;
  display: flex;
  margin-right: 15px;
  margin-left: 15px;
  font-size: inherit;
}
.swal2-checkbox input[type=checkbox] {
  outline: none;
  border-radius: 3px;
}
.swal2-checkbox input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.swal2-validation-message {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  background-color: var(--color-gray-background);
  color: #3d4750;
  line-height: 1.4;
}
.swal2-validation-message::before {
  flex-shrink: 0;
  margin-left: 0;
  background-color: #f43643;
}
.swal2-actions {
  flex-direction: row-reverse;
  margin-top: 22.5px;
  margin-bottom: -10px;
  padding: 0 15px 15px;
  width: 100%;
  gap: 10px;
}
.swal2-popup.swal2-toast .swal2-actions {
  margin-top: 10px;
  padding: 0;
}
.swal2-actions:not(.swal2-loading) .swal2-styled:hover {
  background-image: none;
}
.swal2-actions-deny .swal2-styled.swal2-confirm {
  order: 2;
}
.swal2-actions-deny .swal2-styled.swal2-deny {
  order: 1;
  min-width: 100%;
}
.swal2-actions-deny .swal2-styled.swal2-cancel {
  order: 3;
}
.swal2-loader {
  border-color: var(--color-primary) var(--color-primary) var(--color-primary) transparent;
}
.swal2-styled.swal2-confirm, .swal2-styled.swal2-deny, .swal2-styled.swal2-cancel {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid;
  border-radius: 4px;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  flex: 1 1 130px;
  padding: 0.4em 0.75em;
  min-width: auto;
  font-size: 1.6rem;
  white-space: nowrap;
}
.swal2-styled.swal2-confirm.is-disabled, .swal2-styled.swal2-confirm:disabled, .swal2-styled.swal2-deny.is-disabled, .swal2-styled.swal2-deny:disabled, .swal2-styled.swal2-cancel.is-disabled, .swal2-styled.swal2-cancel:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.swal2-styled.swal2-confirm {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.swal2-styled.swal2-confirm:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.swal2-styled.swal2-confirm:hover, .swal2-styled.swal2-confirm:focus {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #fff;
}
.swal2-styled.swal2-deny {
  border-color: var(--color-primary);
  background-color: #fff;
  color: var(--color-primary);
}
.swal2-styled.swal2-deny:focus {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.swal2-styled.swal2-deny:hover, .swal2-styled.swal2-deny:focus {
  background-color: var(--color-primary-background);
  border-color: var(--color-primary-hover);
  color: var(--color-primary-hover);
}
.swal2-styled.swal2-deny path {
  fill: var(--color-primary);
}
.swal2-styled.swal2-cancel {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.swal2-styled.swal2-cancel:focus {
  box-shadow: 0 0 0 3px rgba(107, 118, 129, 0.2);
}
.swal2-styled.swal2-cancel:hover, .swal2-styled.swal2-cancel:focus {
  background-color: var(--color-gray-background);
  color: #3d4750;
}
.swal2-popup.swal2-toast .swal2-styled.swal2-cancel {
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}
.swal2-popup.swal2-toast .swal2-styled.swal2-cancel:hover, .swal2-popup.swal2-toast .swal2-styled.swal2-cancel:focus {
  border-color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.swal2-popup.swal2-toast .swal2-styled.swal2-cancel:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.5);
}
.swal2-styled.swal2-notice {
  border-color: #f43643;
  background-color: #f43643;
  color: #fff;
}
.swal2-styled.swal2-notice:focus {
  box-shadow: 0 0 0 3px rgba(244, 54, 67, 0.2);
}
.swal2-styled.swal2-notice:hover, .swal2-styled.swal2-notice:focus {
  background-color: #db2534;
  border-color: #db2534;
  color: #fff;
}
.swal2-footer {
  margin-top: 10px;
  padding: 10px 15px 0;
  font-size: 1.2rem;
}
.swal2-timer-progress-bar {
  background: var(--color-primary);
}
@-webkit-keyframes toast-show {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes toast-show {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes toast-hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes toast-hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.swal2-animation-toastShow {
  -webkit-animation: toast-show 0.25s ease-in-out;
          animation: toast-show 0.25s ease-in-out;
}
.swal2-animation-toastHide {
  -webkit-animation: toast-hide 0.15s;
          animation: toast-hide 0.15s;
}

.tab-list {
  display: flex;
  margin-bottom: 20px;
  line-height: 1.3;
}
.tab-item {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 1rem;
  border: 1px solid var(--color-gray-border);
  min-height: 48px;
  background-color: #fff;
  color: #3d4750;
  text-align: center;
  transition: box-shadow 0.15s, border 0.15s, background-color 0.15s, color 0.15s;
}
.tab-item:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.tab-item:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.tab-item:not(:first-child) {
  margin-left: -1px;
}
.tab-item::before {
  content: "";
  opacity: 0;
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background-color: var(--color-primary);
  transition: opacity 0.15s;
}
.tab-item:hover, .tab-item:focus {
  border-color: var(--color-primary);
  background-color: var(--color-primary-background);
  color: var(--color-primary);
}
.tab-item:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}
.tab-item.is-active {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: #fff;
}
.tab-item.is-active::before {
  opacity: 1;
}
.tab-label {
  word-break: keep-all;
  overflow-wrap: anywhere;
  display: inline-flex;
  align-items: center;
  position: relative;
  z-index: 1;
}
.tab-label img,
.tab-label svg {
  transform: scale(1.2);
  margin-right: 0.25em;
  width: 1em;
}
.tab-label svg {
  height: 1em;
}
.tab-label .mdi {
  margin-right: 0.25em;
}
.tab-label .mdi::before {
  transform: scale(1.2);
}
.tab-content {
  display: none;
}
.tab-content.is-active {
  display: block;
}

*:not(:empty) + .table {
  margin-top: 1em;
}
.title + .table {
  margin-top: 0;
}
.table thead th {
  text-align: center;
}
.table-text-center th,
.table-text-center td {
  text-align: center;
}
.table-align-middle th,
.table-align-middle td {
  vertical-align: middle;
}
.table-underline > thead > tr > th,
.table-underline > tbody > tr > th {
  background-color: transparent;
  text-align: left;
}
.table-underline > thead > tr > th,
.table-underline > thead > tr > td,
.table-underline > tbody > tr > th,
.table-underline > tbody > tr > td {
  border-top: none;
  border-right: none;
  border-left: none;
  vertical-align: middle;
}
.table-underline > thead > tr > td.is-active,
.table-underline > tbody > tr > td.is-active {
  background-color: var(--color-primary-background);
  color: var(--color-primary);
}
.table-underline > tbody > tr > th {
  color: #6b7681;
  text-align: left;
}
.table-stack-md-down {
  border-bottom: 1px solid var(--color-gray-border);
}
.table-stack-md-down > tbody > tr > th,
.table-stack-md-down > tbody > tr > td {
  border-bottom: none;
}
.table-stack-md-down > tbody > tr > th {
  width: 26%;
}
.td-active {
  color: var(--color-primary);
}

.tablePhotoDetail {
  width: 100%;
  line-height: 1.6;
}
.tablePhotoDetail-header {
  color: #6b7681;
}
.tablePhotoDetail-row {
  border-bottom: 1px solid var(--color-gray-border);
}
.tablePhotoDetail-item {
  padding: 1rem;
  vertical-align: middle;
}
.tablePhotoDetail-item:first-child {
  padding-left: 0;
}
.tablePhotoDetail-item:last-child {
  padding-right: 0;
}
.tablePhotoDetail-header .tablePhotoDetail-item {
  font-weight: 400;
  text-align: left;
}
.tablePhotoDetail-item-img {
  width: calc(150px + 1rem);
}
.tablePhotoDetail-item .icon,
.tablePhotoDetail-item .label {
  margin-left: 8px;
}
.tablePhotoDetail-link, .tablePhotoDetail-imgWrapper {
  display: block;
  position: relative;
  width: 150px;
  height: 150px;
  background-color: var(--color-gray-background);
}
.tablePhotoDetail-link::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 50%;
  background-color: #fff;
  content: "\f6ec";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6b7681;
  bottom: 5px;
  left: 5px;
  width: 18px;
  height: 18px;
  font-size: 14px;
}
.tablePhotoDetail-img {
  width: 150px;
  background: center center/contain no-repeat;
}
.tablePhotoDetail-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.75em;
  border: 1px solid;
  border-radius: 3em;
  min-height: 20px;
  font-size: 1.2rem;
  line-height: 1.3;
  position: absolute;
  right: 5px;
  bottom: 5px;
  min-height: 18px !important;
  font-size: 1.1rem !important;
}
.tablePhotoDetail-label-trimming {
  border-color: #6b7681;
  background-color: #fff;
  color: #6b7681;
}
.tablePhotoDetail-label-trimming::before {
  content: "\f19e";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
}

.title {
  display: flex;
  align-items: center;
}
.title ~ .title, .cms + .title, .title-lg.title-mt {
  margin-top: 20px;
}
.title + .title {
  margin-top: 0 !important;
}
.title-section, .title-lg, .title-md, .title-sm, .title-error {
  margin-bottom: 1em;
}
.title-section .icon, .title-lg .icon, .title-md .icon, .title-sm .icon, .title-error .icon {
  margin-left: 8px;
}
.title-section {
  align-items: flex-start;
  font-size: 2rem;
}
.title-section img,
.title-section .mdi {
  margin-top: 0.1em;
  margin-right: 0.25em;
}
.title-section img {
  width: 1.2em;
}
.title-section .mdi {
  font-size: 1.2em;
  line-height: 1;
}
.title-error {
  position: relative;
  padding-left: 1.5em;
  font-weight: 700;
  color: #f43643;
}
.title-error::before {
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-error.svg") center center/contain no-repeat;
}
.title-order {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.75em;
}
.title-orderNum {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-right: 0.5em;
  padding: 0 0.35em;
  border: 1px solid var(--color-primary);
  border-radius: 3em;
  min-width: 1.5em;
  height: 1.5em;
  color: var(--color-primary);
  line-height: 1;
}
.title-sub {
  font-size: 1.4rem;
  color: #6b7681;
}
.title-sub + .title-section {
  margin-top: 0;
}
.title-btn {
  flex: none;
  align-self: flex-end;
  margin-left: auto;
  padding-left: 10px;
}

.titleTop {
  margin-bottom: 1em;
  font-size: 2.4rem;
  color: #262f38;
  line-height: 1.4;
  text-align: center;
}
*:not(.title) + .titleTop {
  margin-top: 40px;
}
.titleTop-main, .titleTop-sub {
  display: block;
}
.titleTop-main + .titleTop-sub {
  margin-top: 0.25em;
}
.titleTop-sub {
  font-size: 1.6rem;
  color: #6b7681;
}
.titleTop-sub + .titleTop-main {
  margin-top: 0.25em;
}

.tooltipIconBtn {
  display: flex;
  margin: -2px -5px;
}
.tooltipIconBtn-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  cursor: pointer;
  padding: 5px;
  border-radius: 2px;
  min-width: 68px;
  color: #fff;
  line-height: 1.1;
  text-align: center;
  transition: background-color 0.3s;
  pointer-events: auto;
}
.tooltipIconBtn-btn:hover, .tooltipIconBtn-btn:focus {
  background-color: rgba(255, 255, 255, 0.15);
}
.tooltipIconBtn-icon {
  width: 24px;
}
.tooltipIconBtn-label {
  display: block;
  margin-top: 0.25em;
  font-size: 1.2rem;
}

.tooltipster-sidetip .tooltipster-content {
  padding: 0.5em 0.75em;
  font-size: 1.4rem;
  line-height: 1.6;
}
.tooltipster-kaotan .tooltipster-content {
  display: flex;
  align-items: center;
}
.tooltipster-kaotan .tooltipster-content::before {
  content: "";
  flex-shrink: 0;
  margin-right: 0.5em;
  width: 40px;
  height: 40px;
  background: url(/ex/images/common/icon-kaotan.svg) center center/contain no-repeat;
}

.piczoom {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1062;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.piczoom-header {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 60px;
}
.piczoom-information {
  display: flex;
  align-items: center;
  padding-left: 15px;
  width: calc(100% - 60px);
  color: #fff;
  line-height: 1.4;
}
.piczoom-informationText {
  position: relative;
  padding-left: calc(1.2em + 0.25em);
}
.piczoom-informationText::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.2em;
  height: 1.2em;
  background: url("/ex/images/common/icon-warning.svg") center center/contain no-repeat;
}
.piczoom-close {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  opacity: 0.85;
  padding-top: 32px;
  width: 60px;
  height: 60px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") top 35% left 50%/16px auto no-repeat;
  font-size: 1rem;
  color: #fff;
  line-height: 1.1;
  text-align: center;
  transition: opacity 0.15s ease-out;
  pointer-events: auto;
}
.piczoom-close:hover, .piczoom-close:focus {
  opacity: 1;
}
.piczoom-body {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 95px;
  height: 100%;
}
.piczoom-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding-bottom: 53px;
  width: 100%;
}
.piczoom-imgWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.piczoom-imgWrapper .canvas-container {
  pointer-events: auto;
}
.piczoom-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid;
  border-radius: 4px;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  vertical-align: bottom;
  border-color: #fff;
  color: #fff;
  position: absolute;
  bottom: 0;
  padding: 0.4em 0.75em;
  max-width: calc(50% - 20px);
  min-height: 38px;
  font-size: 1.6rem;
  color: #fff;
  transition: background-color 0.3s;
  pointer-events: auto;
}
.piczoom-btn:focus {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}
.piczoom-btn:hover, .piczoom-btn:focus {
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.piczoom-btn.is-disabled, .piczoom-btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.piczoom-btn::before {
  font-size: 1.2em;
}
.piczoom-btn-prev {
  left: 15px;
}
.piczoom-btn-prev::before {
  content: "\f04d";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 0.25em;
}
.piczoom-btn-next {
  flex-direction: row-reverse;
  right: 15px;
}
.piczoom-btn-next::before {
  content: "\f054";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 0.25em;
}
.piczoom-btn-copyright {
  left: 50%;
  transform: translateX(-50%);
}
.piczoom-help {
  position: absolute;
  right: 0;
  bottom: -3em;
  width: 100%;
  font-size: 1.2rem;
  line-height: 1.2;
  text-align: center;
}
.piczoom-helpLink {
  color: #fff;
  text-decoration: underline;
  pointer-events: auto;
}
.piczoom-helpLink::before {
  content: "\f625";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  margin-right: 0.25em;
  font-size: 1.2em;
  vertical-align: middle;
}
.piczoom-helpLink:hover, .piczoom-helpLink:focus {
  color: #fff;
  text-decoration: none;
}
.piczoom-hint {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  transform: translate(-50%, -50%);
  padding: 1em;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  line-height: 1.4;
  text-align: center;
  pointer-events: none;
}
.piczoom-hint-sp {
  border-radius: 5px;
  min-width: 140px;
  font-size: 1.2rem;
}
.piczoom-hint-pc {
  border-radius: 8px;
  min-width: 160px;
  font-size: 1.4rem;
}
.piczoom-hintText {
  margin-top: 0.5em;
}
.piczoom-footer {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 15px;
  width: 100%;
  height: 95px;
  color: #fff;
}
.piczoom-ui {
  width: 100%;
  text-align: center;
}
.piczoom-ui > * {
  pointer-events: auto;
}
.piczoom-photoName {
  overflow: hidden;
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.piczoom-photoBtnWrapper {
  display: flex;
  justify-content: center;
  gap: 5px;
}
* + .piczoom-photoBtnWrapper {
  margin-top: 10px;
}
.piczoom-photoBtnWrapper .btn {
  width: 100%;
  max-width: 240px;
  font-size: 1.6rem;
}
.piczoom-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1061;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
}

.bannerInfoText-sm {
  position: relative;
  transform: scale(0.5);
  transform-origin: 0 0;
  margin-bottom: -80px;
  width: 400px;
  height: 160px;
}
.bannerInfoText-sm::before {
  content: "";
  display: block;
  padding-top: 40%;
}
.bannerInfoText-lg {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  width: 100%;
  max-width: none;
  pointer-events: auto;
}
.bannerInfoText-sm .bannerInfoText-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 2%;
  min-height: 100px;
}
.bannerInfoText-lg .bannerInfoText-content {
  position: relative;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  width: 100%;
  max-width: 300px;
}
.bannerInfoText-text {
  color: #fff;
  text-align: center;
}
.bg-theme-main-yellow .bannerInfoText-text {
  color: #3d4750;
}
.bannerInfoText-sm .bannerInfoText-text {
  display: inline-flex;
  flex-direction: column;
  justify-content: space-around;
  margin: auto 0;
  padding: 2%;
  border: 2px solid #fff;
  width: 100%;
  height: 100%;
}
.bannerInfoText-lg .bannerInfoText-text {
  display: inline-flex;
  flex-direction: column;
  justify-content: space-around;
  padding: 25px;
  width: 100%;
}
.bannerInfoText-lg .bannerInfoText-imgContainer {
  width: 100%;
  max-width: 300px;
  height: 300px;
}
.bannerInfoText-img {
  border-radius: 15px 15px 0 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bannerInfoText-title {
  font-weight: 700;
}
.bannerInfoText-lg .bannerInfoText-title {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  line-height: 1.5;
}
.bannerInfoText-sm .bannerInfoText-title {
  padding-bottom: 2%;
  border-bottom: 2px solid #fff;
  font-size: 1.7rem;
  line-height: 1.2;
}
.bannerInfoText-lg .bannerInfoText-subTitle {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
}
.bannerInfoText-sm .bannerInfoText-body {
  font-size: 1.4rem;
  line-height: 1.6;
}
.bannerInfoText-lg .bannerInfoText-body {
  font-size: 1.2rem;
}
.bannerInfoText-lg .bannerInfoText-footer {
  margin-top: 1.25rem;
}
.bannerInfoText-linkBtn {
  border: none;
  border-radius: 100vh;
  min-width: auto !important;
  background-color: #fff;
}
.bannerInfoText-sm .bannerInfoText-linkBtn {
  padding: 3px 16px 3px 20px;
  width: auto;
  min-height: 22px;
}
.bannerInfoText-lg .bannerInfoText-linkBtn {
  padding: 8px 20px 8px 24px;
}
.bannerInfoText-lg .bannerInfoText-linkBtn:hover .mdi::before, .bannerInfoText-lg .bannerInfoText-linkBtn:focus .mdi::before {
  transform: translateX(4px) scale(1.2);
}
.bannerInfoText-linkText {
  font-size: 1.2rem;
  font-weight: 700;
  color: #3d4750;
}
.bannerInfoText-linkText .mdi {
  margin: 0 0 0 0.5rem;
}
.bannerInfoText-lg .bannerInfoText-linkText .mdi::before {
  transition: transform 0.3s;
}
.bannerInfoText-lg .bannerInfoText-closeBtn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  position: absolute;
  top: -10px;
  right: -10px;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border: none;
  border-radius: 100vh;
  width: 30px;
  height: 30px;
  background-color: #fff;
  text-align: center;
}
.bannerInfoText-lg .bannerInfoText-closeBtn::before {
  content: "\f156";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6c757d;
}
.bannerInfoText-shrink {
  display: block;
  padding: 0;
  pointer-events: none;
}
td.text-center .bannerInfoText-shrink {
  display: flex;
  justify-content: center;
  align-items: center;
}
.bannerInfoText-shrink .bannerInfoText-closeBtn {
  display: none;
}
.bannerInfoText-shrink.bannerInfoText-sm {
  transform: scale(0.25);
  transform-origin: 0 50%;
  margin: -60px -300px -60px 0;
}
.bannerInfoText-shrink.bannerInfoText-lg .bannerInfoText-content {
  display: flex;
  flex-direction: row-reverse;
  transform: scale(0.2);
  transform-origin: 0 50%;
  margin: -160px -640px -160px 0;
  width: 800px;
  max-width: none;
  min-height: 400px;
}
.bannerInfoText-shrink.bannerInfoText-lg .bannerInfoText-imgContainer {
  width: 400px;
  max-width: none;
  height: 400px;
}
.bannerInfoText-shrink.bannerInfoText-lg .bannerInfoText-img {
  border-radius: 0 15px 15px 0;
}
.bannerInfoText-shrink.bannerInfoText-lg .bannerInfoText-text {
  width: 400px;
}

.bannerInfoImage-lg {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  width: 100%;
  pointer-events: auto;
}
.bannerInfoImage-sm {
  position: relative;
}
.bannerInfoImage-sm::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--color-gray-border);
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.bannerInfoImage-lg .bannerInfoImage-content {
  position: relative;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.bannerInfoImage-link {
  display: block;
}
.bannerInfoImage-lg .bannerInfoImage-closeBtn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  outline: none;
  background-color: transparent;
  text-align: left;
  position: absolute;
  top: -10px;
  right: -10px;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border: none;
  border-radius: 100vh;
  width: 30px;
  height: 30px;
  background-color: #fff;
  text-align: center;
}
.bannerInfoImage-lg .bannerInfoImage-closeBtn::before {
  content: "\f156";
  font-family: "Material Design Icons";
  font-size: inherit;
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #6c757d;
}
.bannerInfoImage-shrink {
  pointer-events: none;
}
.bannerInfoImage-shrink .bannerInfoImage-closeBtn {
  display: none;
}
.bannerInfoImage-shrink .bannerInfoImage-img {
  width: 100%;
  max-width: 160px;
  height: auto;
}
.bannerInfoImage-shrink .bannerInfoImage-content {
  box-shadow: none;
}

.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}

.bg-gray {
  background-color: var(--color-gray-background);
}
.bg-primary {
  background-color: var(--color-primary-background);
}
.bg-base {
  background-color: var(--color-base-background);
}
.bg-theme-main-red {
  background-color: #f43643;
}
.bg-theme-main-vermilion {
  background-color: #f4511e;
}
.bg-theme-main-orange {
  background-color: #f57c00;
}
.bg-theme-main-yellow {
  background-color: #f9a825;
}
.bg-theme-main-yellow-green {
  background-color: #7cb342;
}
.bg-theme-main-green {
  background-color: #43a047;
}
.bg-theme-main-blue-green {
  background-color: #009688;
}
.bg-theme-main-cyan {
  background-color: #00bcd4;
}
.bg-theme-main-light-blue {
  background-color: #03a9f4;
}
.bg-theme-main-blue {
  background-color: #2c69c8;
}
.bg-theme-main-violet {
  background-color: #7e57c2;
}
.bg-theme-main-purple {
  background-color: #ab47bc;
}
.bg-theme-main-pink {
  background-color: #ec407a;
}
.bg-theme-main-brown {
  background-color: #8d6e63;
}
.bg-theme-main-ocher {
  background-color: #a67f38;
}
.bg-theme-main-gray {
  background-color: #616161;
}
.bg-theme-main-blue-gray {
  background-color: #545f69;
}
.bg-theme-main-black {
  background-color: #262f38;
}

.border {
  border: 1px solid var(--color-gray-border);
}

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

.justify-content-start {
  justify-content: start !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-end {
  justify-content: end !important;
}
.justify-content-between {
  justify-content: space-between !important;
}

.align-items-start {
  align-items: start !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-end {
  align-items: end !important;
}

strong, .font-bold {
  font-weight: 700;
}

.mx-auto {
  margin-right: auto;
  margin-left: auto;
}

.mt-0 {
  margin-top: 0 !important;
}
* + .mt-xs {
  margin-top: 0.5em !important;
}
* + .mt-sm {
  margin-top: 1em !important;
}
* + .mt-md {
  margin-top: 30px !important;
}
* + .mt-lg {
  margin-top: 40px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}
.mb-xs {
  margin-bottom: 0.5em !important;
}
.mb-sm {
  margin-bottom: 1em !important;
}
.mb-md {
  margin-bottom: 30px !important;
}
.mb-lg {
  margin-bottom: 40px !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;
}

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

.max-w-none {
  max-width: none !important;
}

.max-w-2em {
  max-width: 2em !important;
}

.max-w-4em {
  max-width: 4em !important;
}

.max-w-6em {
  max-width: 6em !important;
}

.max-w-8em {
  max-width: 8em !important;
}

.max-w-10em {
  max-width: 10em !important;
}

.max-w-12em {
  max-width: 12em !important;
}

.max-w-14em {
  max-width: 14em !important;
}

.max-w-16em {
  max-width: 16em !important;
}

.max-w-18em {
  max-width: 18em !important;
}

.max-w-20em {
  max-width: 20em !important;
}

.max-w-22em {
  max-width: 22em !important;
}

.max-w-24em {
  max-width: 24em !important;
}

.max-w-26em {
  max-width: 26em !important;
}

.max-w-28em {
  max-width: 28em !important;
}

.max-w-30em {
  max-width: 30em !important;
}

.min-w-auto {
  min-width: auto !important;
}

.min-w-2em {
  min-width: 2em !important;
}

.min-w-4em {
  min-width: 4em !important;
}

.min-w-6em {
  min-width: 6em !important;
}

.min-w-8em {
  min-width: 8em !important;
}

.min-w-10em {
  min-width: 10em !important;
}

.min-w-12em {
  min-width: 12em !important;
}

.min-w-14em {
  min-width: 14em !important;
}

.min-w-16em {
  min-width: 16em !important;
}

.min-w-18em {
  min-width: 18em !important;
}

.min-w-20em {
  min-width: 20em !important;
}

.min-w-22em {
  min-width: 22em !important;
}

.min-w-24em {
  min-width: 24em !important;
}

.min-w-26em {
  min-width: 26em !important;
}

.min-w-28em {
  min-width: 28em !important;
}

.min-w-30em {
  min-width: 30em !important;
}

.pt-0 {
  padding-top: 0 !important;
}
* + .pt-sm {
  padding-top: 1em !important;
}
* + .pt-md {
  padding-top: 30px !important;
}
* + .pt-lg {
  padding-top: 40px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
.text-left {
  text-align: left !important;
}
.text-success {
  color: #009688;
}
.text-notice {
  color: #f43643;
}
.text-muted {
  color: #6b7681;
}
.text-theme-main-red {
  color: #f43643;
}
.text-theme-main-vermilion {
  color: #f4511e;
}
.text-theme-main-orange {
  color: #f57c00;
}
.text-theme-main-yellow {
  color: #f9a825;
}
.text-theme-main-yellow-green {
  color: #7cb342;
}
.text-theme-main-green {
  color: #43a047;
}
.text-theme-main-blue-green {
  color: #009688;
}
.text-theme-main-cyan {
  color: #00bcd4;
}
.text-theme-main-light-blue {
  color: #03a9f4;
}
.text-theme-main-blue {
  color: #2c69c8;
}
.text-theme-main-violet {
  color: #7e57c2;
}
.text-theme-main-purple {
  color: #ab47bc;
}
.text-theme-main-pink {
  color: #ec407a;
}
.text-theme-main-brown {
  color: #8d6e63;
}
.text-theme-main-ocher {
  color: #a67f38;
}
.text-theme-main-gray {
  color: #616161;
}
.text-theme-main-blue-gray {
  color: #545f69;
}
.text-theme-main-black {
  color: #262f38;
}
small, .text-sm {
  font-size: 0.875em;
}

.text-md {
  font-size: 1.4rem;
}
.text-lg {
  font-size: 1.25em;
}
.text-nowrap {
  white-space: nowrap;
}

.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

.w-2em {
  width: 2em !important;
}

.w-4em {
  width: 4em !important;
}

.w-6em {
  width: 6em !important;
}

.w-8em {
  width: 8em !important;
}

.w-10em {
  width: 10em !important;
}

.w-12em {
  width: 12em !important;
}

.w-14em {
  width: 14em !important;
}

.w-16em {
  width: 16em !important;
}

.w-18em {
  width: 18em !important;
}

.w-20em {
  width: 20em !important;
}

.w-22em {
  width: 22em !important;
}

.w-24em {
  width: 24em !important;
}

.w-26em {
  width: 26em !important;
}

.w-28em {
  width: 28em !important;
}

.w-30em {
  width: 30em !important;
}

.w-auto {
  width: auto !important;
}
.w-fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 321px) {
  .d-xs-none {
    display: none !important;
  }
  .d-xs-block {
    display: block !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 576px) {
  body::after {
    content: "sm";
  }
  .cart-btn {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 10px;
  }
  .cart-btn .btn {
    min-width: 250px;
  }
  .cart-btn .btn:not(:first-child) {
    margin-top: 0;
  }
  .contactList {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
  }
  .contactList-item {
    flex: 1;
    min-width: 260px;
  }
  .contactList-item:only-child {
    margin-right: auto;
    margin-left: auto;
    max-width: 380px;
  }
  .contactList-item:has(.contactList-title) {
    min-width: 300px;
  }
  .footerSecurity br {
    display: none;
  }
  .globalInner-fullWidth {
    margin: 0 auto;
  }
  .globalWrapperFullScreen-operationMenuSelect {
    padding-bottom: 140px;
  }
  .headerContactList {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    gap: 10px;
  }
  .headerContactList-item {
    flex: 1;
    border-radius: 6px;
    min-width: 260px;
  }
  .headerContactList-item:only-child {
    margin-right: auto;
    margin-left: auto;
    max-width: 380px;
  }
  .headerContactList-item:has(.headerContactList-title) {
    min-width: 300px;
  }
  .headerMenu-body {
    padding: 0 15px 30px;
  }
  .headerMenu-account {
    margin-right: -15px;
    margin-left: -15px;
  }
  .headerMenu-list {
    display: grid;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    max-width: 1160px;
    grid-template-areas: "photo account" "guide sub" "contact contact";
    grid-gap: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
  .headerMenu-list-goodsContact2, .headerMenu-list-goodsContact3 {
    grid-template-areas: "photo goods" "account guide" "sub sub" "contact contact";
  }
  .headerMenu-item-photo {
    grid-area: photo;
  }
  .headerMenu-item-goods {
    grid-area: goods;
  }
  .headerMenu-item-account {
    grid-area: account;
  }
  .headerMenu-item-guide {
    grid-area: guide;
  }
  .headerMenu-item-sub {
    margin-top: 0;
    grid-area: sub;
  }
  .headerMenu-item-contact {
    margin-top: 0;
    grid-area: contact;
  }
  .headerMenuList-sub {
    gap: 0 20px;
  }
  .headerMenu-list-goodsContact3 .headerMenuList-sub {
    justify-content: center;
    gap: 0;
  }
  .headerMenuList-sub .headerMenuList-item {
    width: calc(50% - 10px);
  }
  .headerMenu-list-goodsContact3 .headerMenuList-sub .headerMenuList-item {
    width: auto;
  }
  .header:not(.header-login) .headerMenuList-main .headerMenuList-item::after {
    left: 0;
    width: 100%;
  }
  .header-login .headerMenuList-main .headerMenuList-item::after {
    content: none;
  }
  .headerMenuList-btn, .headerMenuList-link {
    padding-right: 0;
    padding-left: 0;
  }
  .header-login .headerMenuList-main .headerMenuList-btn, .header-login .headerMenuList-main .headerMenuList-link {
    padding-right: 0;
  }
  .header-login .headerMenuList-btn {
    border-bottom: 1px solid #262f38;
    pointer-events: none;
  }
  .header-login .headerMenuList-btn::before, .header-login .headerMenuList-btn::after {
    content: none;
  }
  .headerMenu-list-goodsContact3 .headerMenuList-sub .headerMenuList-link {
    padding: 5px 10px;
  }
  .header-login .headerMenuList-link::after {
    content: none;
  }
  .header-login .headerMenuList-childList {
    display: block !important;
    padding-top: 0.75em;
  }
  .headerMenuList-childLink {
    padding-right: 0;
    padding-left: 0;
  }
  .operationMenu-select {
    padding: 15px;
    height: 140px;
  }
  .operationMenu-tab {
    height: 50px;
  }
  .operationMenu-tabContent {
    height: calc(100% - 50px);
  }
  .operationMenu-footerBtn .btn {
    min-width: auto;
  }
  .bannerList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
  .bannerList-item {
    margin: 0;
  }
  .bannerList-item:not(:first-child) {
    margin-top: 0;
  }
  .bannerSlider-square .swiper-slide {
    width: auto;
  }
  .bannerSlider-rectangle .swiper-slide {
    width: auto;
  }
  .bannerSlider-square .bannerSlider-item {
    max-width: none;
  }
  .bannerSlider-rectangle .bannerSlider-item {
    max-width: none;
  }
  .btn {
    width: auto;
    min-width: 250px;
  }
  .btnRow-footer .btn {
    min-width: 250px;
  }
  .btn-sm {
    min-width: auto;
  }
  .btn-lg {
    min-width: 300px;
  }
  .btn-wide {
    width: 100%;
    min-width: auto;
  }
  .modal-footer .btnRow .btn {
    flex: none;
  }
  .modal-sm .modal-footer .btnRow .btn {
    width: 100%;
    min-width: auto;
  }
  .modal-dialog:not(.modal-sm) .modal-footer .btnRow .btn:not(.btn-lg) {
    width: auto;
    min-width: 229px;
  }
  .btnRow-footer {
    flex-direction: row-reverse;
    justify-content: center;
  }
  .btnRow-photoListFooter {
    justify-content: center;
  }
  .btnRow-photoListFooter .btn:has(.mdi-help-circle-outline) {
    padding-right: 0.75em;
  }
  .btnRow-photoListFooter .btn:nth-child(1) {
    order: 3;
  }
  .btnRow-photoListFooter .btn:nth-child(2) {
    order: 1;
  }
  .btnRow-photoListFooter .btn:nth-child(3) {
    order: 2;
  }
  .modal-footer .btnRow-half .btn {
    width: auto !important;
  }
  .descriptionImageCard-img[src$="img-order-mode-normal.svg"], .descriptionImageCard-img[src$="img-order-mode-index.svg"] {
    max-width: 300px;
  }
  .designConfirm-multiple {
    margin: 0;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px 30px;
  }
  .designConfirm-multiple .designConfirm-item {
    display: flex;
    flex-direction: column;
  }
  .designConfirm-title {
    margin-bottom: auto;
    padding: 0 0 0.75em;
  }
  .errorMessage-text {
    text-align: center;
  }
  .generalSlider .swiper-button-prev, .generalSlider .swiper-button-next {
    display: flex;
  }
  .modal-quantityInput {
    margin: 0 auto;
    max-width: 468px;
  }
  .operationDetail-header {
    height: 50px;
  }
  .operationDetail-body {
    padding: 15px;
  }
  .operationDetail-footerBtn .btn {
    min-width: auto;
  }
  .photobookPreview {
    padding: 40px;
    border-radius: 6px;
  }
  .photoList:not(.photoList-cart) {
    display: grid;
    grid-gap: 50px 10px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
  .photoList-sm {
    grid-gap: 40px 10px !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  }
  .photoList:not(.photoList-cart) .photoList-item {
    margin-bottom: 0;
  }
  .photoList-cart .photoList-header, .photoList-cart .photoList-body, .photoList-cart .photoList-detail {
    margin-right: auto;
    margin-left: auto;
    max-width: 450px;
  }
  .photoList-header {
    padding-right: 0;
    padding-left: 0;
  }
  .photoList-cart .photoList-body {
    margin-bottom: 30px;
  }
  .photoList-img {
    padding-top: 0 !important;
    height: auto;
  }
  .photoList-thumbnail-goods .photoList-img {
    padding-top: 0 !important;
    height: 200px;
  }
  .photoList-detail {
    padding-right: 0;
    padding-left: 0;
  }
  .photoList-sm .photoList-detail {
    padding-right: 0;
    padding-left: 0;
  }
  .photoListBtn-cart, .photoListBtn-change, .photoListBtn-photobookPages, .photoListBtn-photobookCover, .photoListBtn-photobookBackCover {
    width: calc(100% - 43px);
  }
  .photoThumbnailList {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
  .privatePhotoSetting-btn {
    flex: 0;
    min-width: 90px !important;
  }
  .productDetail-goods {
    margin-top: 0;
  }
  .productList {
    grid-gap: 60px 40px;
    grid-template-columns: repeat(2, 1fr);
  }
  .productList-link::before {
    bottom: 10px;
    left: 10px;
    width: 26px;
    height: 26px;
    font-size: 16px;
  }
  .productList-detail, .productList-btn {
    padding-right: 0;
    padding-left: 0;
  }
  .productList-detail {
    margin-top: 20px;
  }
  .productList-note {
    margin-top: 10px;
  }
  .productList-price {
    margin-top: 10px;
  }
  .productList-priceNumber {
    font-size: 2rem;
  }
  .productList-btn {
    margin-top: 20px;
  }
  .piczoom-body {
    padding-right: 15px;
    padding-left: 15px;
  }
  .piczoom-inner {
    padding-right: 75px;
    padding-bottom: 0;
    padding-left: 75px;
    height: 100%;
  }
  .piczoom-btn::before {
    margin-bottom: 0.05em;
    font-size: 2.6rem;
  }
  .piczoom-btn-prev, .piczoom-btn-next {
    bottom: 50%;
    transform: translateY(50%);
    width: 60px;
    height: 60px;
    font-size: 1.2rem;
  }
  .piczoom-btn-prev {
    flex-direction: column;
    left: 0;
  }
  .piczoom-btn-prev::before {
    margin-right: 0;
  }
  .piczoom-btn-next {
    flex-direction: column;
    right: 0;
  }
  .piczoom-btn-next::before {
    margin-left: 0;
  }
  .piczoom-btn-copyright {
    left: 0;
    transform: none;
  }
  .piczoom-help {
    bottom: 0;
    width: auto;
    font-size: 1.4rem;
  }
  .swiper-slide .bannerInfoText-sm {
    width: 100%;
  }
  .bannerInfoText-sm {
    transform: none;
    margin: 0;
    max-width: 400px;
    height: auto;
  }
  .swiper-slide .bannerInfoText-sm .bannerInfoText-title {
    font-size: clamp(1rem, 2vw - 0.25rem, 1.7rem);
  }
  .swiper-slide .bannerInfoText-sm .bannerInfoText-body {
    font-size: clamp(1rem, 2vw - 0.25rem, 1.4rem);
  }
  .bannerInfoText-sm .bannerInfoText-linkBtn {
    padding: 0.4em 16px 0.4em 20px;
    min-height: 32px;
  }
  .swiper-slide .bannerInfoText-sm .bannerInfoText-linkBtn {
    padding: 3px 16px 3px 20px;
    width: auto;
    min-height: 22px;
  }
  .swiper-slide .bannerInfoText-sm .bannerInfoText-linkText {
    font-size: clamp(1rem, 2vw - 0.5rem, 1.2rem);
  }
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
  body::after {
    content: "md";
  }
  a:hover, a:focus, a:active {
    color: #2558e6;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  .title-lg, .cms h2,
.cke_editable h2,
.cke_panel_listItem h2, .guide-title {
    font-size: 2.4rem;
  }
  .modal-content .title-lg, .modal-content .cms h2, .cms .modal-content h2,
.modal-content .cke_editable h2,
.cke_editable .modal-content h2,
.modal-content .cke_panel_listItem h2,
.cke_panel_listItem .modal-content h2, .modal-content .guide-title {
    font-size: 2rem;
  }
  .title-md, .cms h3,
.cke_editable h3,
.cke_panel_listItem h3, .guide-sm .guide-title {
    font-size: 2rem;
  }
  .modal-content .title-md, .modal-content .cms h3, .cms .modal-content h3,
.modal-content .cke_editable h3,
.cke_editable .modal-content h3,
.modal-content .cke_panel_listItem h3,
.cke_panel_listItem .modal-content h3, .modal-content .guide-sm .guide-title, .guide-sm .modal-content .guide-title {
    font-size: 1.6rem;
  }
  .title-sm, .cms h4,
.cke_editable h4,
.cke_panel_listItem h4 {
    font-size: 1.6rem;
  }
  input[type=checkbox] + label::before, input[type=checkbox] + label::after, input[type=radio] + label::before, input[type=radio] + label::after {
    top: 3px;
  }
  input[type=radio] + label::after {
    top: 7px;
  }
  .alertBar {
    font-size: 1.4rem;
    text-align: center;
  }
  .cart-alert {
    margin-bottom: 40px;
  }
  *:not(:empty) + .cart-saleItem {
    margin-top: 40px;
  }
  .cart-stickyHeader {
    top: 30px;
    margin-right: 0;
    margin-left: 0;
    padding: 16px;
    border-radius: 4px;
  }
  .is-fixed-header.is-show-header .cart-stickyHeader {
    top: 110px;
  }
  .cart-main .cart-btn {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .cart-imgWrapper::before {
    width: 255px;
    height: 255px;
  }
  .cart-img {
    width: 300px;
  }
  .cart-orderNumber {
    padding: 12px 16px;
  }
  .cartPhotobookPageLink-btn {
    font-size: 1.6rem;
  }
  .cartPhotobookPageLink-btn.is-success::after, .cartPhotobookPageLink-btn.is-notice::after {
    top: -9.6px;
    right: -9.6px;
    width: 24px;
    height: 24px;
  }
  .cartPhotobookPageLink-count {
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
  .cartPhotobookPageLink-add {
    margin-top: 0;
    margin-bottom: -0.1em;
  }
  .cartPhotobookPageLink-addNumber {
    font-size: 2rem;
  }
  .cartPhotobookPageLink-total {
    margin-top: 0;
    margin-left: 0.25em;
  }
  .column {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
  }
  .column-reverse {
    flex-direction: row-reverse;
  }
  .column-sub {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    width: 300px;
  }
  .column-main + .column-sub {
    margin-top: 0;
  }
  .column-main {
    width: calc(100% - 340px);
  }
  .column-col2.column-sm .column-main {
    width: calc(100% - 320px);
  }
  .column-sub + .column-main {
    margin-top: 0;
  }
  .column-col2 .column-col {
    width: calc(50% - 20px);
  }
  .column-col2.column-sm .column-col {
    width: calc(50% - 10px);
  }
  .column-col + .column-col {
    margin-top: 0;
  }
  .contact {
    padding: 40px 0;
  }
  .contactList {
    gap: 20px;
  }
  .contactList-item {
    border-radius: 6px;
    min-height: 120px;
  }
  .contactList-item:only-child {
    max-width: 470px;
  }
  .contactList-inner {
    padding: 20px;
  }
  .contactList-title {
    font-size: 1.8rem;
  }
  .contactList-number {
    font-size: 3.6rem;
  }
  .contactList-col3 .contactList-number {
    font-size: 3.2rem;
  }
  .contactList-time {
    margin-top: 0.5em;
    font-size: 1.4rem;
  }
  .contactList-link {
    padding: 20px;
    min-height: 120px;
    font-size: 2.8rem;
  }
  .contactList-link::after {
    right: 16px;
  }
  .filteringMenu-btn {
    padding: 12px 12px;
  }
  .filteringMenu-text-icon::before {
    width: 20px;
    height: 20px;
  }
  .filteringMenu-recommend {
    font-size: 1.4rem;
  }
  .footerCopyright {
    padding: 12px;
  }
  .footerCopyright-text {
    font-size: 1.4rem;
  }
  .footerMenu {
    padding-top: 30px;
  }
  .footerMenu-list {
    display: grid;
    margin-right: auto;
    margin-left: auto;
    padding-right: 30px;
    padding-left: 30px;
    max-width: 1220px;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
  }
  .footerMenu-list-col4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .footerMenu-item:not(:first-child) {
    margin-top: 0;
  }
  .footerMenuList {
    border-radius: 6px;
    height: 100%;
  }
  .footerMenuList-main {
    padding-top: 10px;
  }
  .footerMenuList-sub {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .footerMenuList-btn, .footerMenuList-link {
    padding-right: 20px;
    padding-left: 20px;
  }
  .footerMenuList-btn {
    pointer-events: none;
  }
  .footerMenuList-btn::before, .footerMenuList-btn::after {
    content: none;
  }
  .footerMenuList-btn + .footerMenuList-childList {
    display: block !important;
  }
  .footerMenuList-btn + .footerMenuList-childList::before {
    left: 20px;
    width: calc(100% - 40px);
  }
  .footerMenuList-childLink {
    padding-right: 20px;
    padding-left: 20px;
  }
  .footerSitemap {
    padding: 30px 0;
    font-size: 1.4rem;
  }
  .globalInner {
    padding: 0 30px;
  }
  .globalInner-sm {
    margin: 0 auto;
    max-width: 1020px;
  }
  .globalWrapper {
    padding-top: 80px;
  }
  .globalWrapperFullScreen {
    padding-top: 80px;
  }
  .globalWrapperFullScreen-alertWrapper {
    top: 95px;
  }
  .globalWrapperFullScreen-previewImg-goods {
    height: 250px;
  }
  .guide-item:not(:first-child) {
    margin-top: 40px;
  }
  .guide-sm .guide-item:not(:first-child) {
    margin-top: 30px;
  }
  .guide-contentItem {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
  }
  *:not(:empty) + .guide-contentItem:not(:first-child) {
    margin-top: 40px;
  }
  .guide-contentHeader {
    margin-bottom: 0;
    margin-left: 40px;
    width: calc(50% - 20px);
  }
  .guide-contentImgWrapper {
    max-width: none;
  }
  .guide-contentBody {
    flex: 1;
  }
  .guideMenu {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));
  }
  .guideMenu-item {
    min-height: 155px;
  }
  .guideMenu-item:not(:first-child) {
    margin-top: 0;
  }
  .guideMenu-link {
    flex-direction: column;
    padding-top: 1.5em;
    padding-bottom: 1.3125em;
    text-align: center;
  }
  .guideMenu-link img,
.guideMenu-link .mdi {
    margin-right: 0;
    margin-bottom: 5px;
    font-size: 50px;
  }
  .guideMenu-link br {
    display: block;
  }
  .guideMenu-text {
    margin: auto 0;
  }
  .header {
    height: 80px;
  }
  .header-logo {
    width: 180px;
  }
  .header-utility {
    width: calc(100% - 180px);
  }
  .headerBtn-item {
    width: 80px;
  }
  .headerBtn-item-tel {
    display: none;
  }
  .headerBtn-item-mail {
    display: none;
  }
  .headerBtn-icon {
    height: 36px;
  }
  .headerBtn-icon img {
    width: 40px;
  }
  .headerBtn-line {
    width: 28px;
    height: 4px;
  }
  .headerBtn-line::before, .headerBtn-line::after {
    height: 4px;
  }
  .headerBtn-line::before {
    transform: translateY(-10px);
  }
  .is-open-menu .headerBtn-line::before {
    transform: rotate(-45deg);
  }
  .headerBtn-line::after {
    transform: translateY(10px);
  }
  .is-open-menu .headerBtn-line::after {
    transform: rotate(45deg);
  }
  .headerBtn-text {
    display: block;
    margin-top: 6px;
    font-size: 1.1rem;
  }
  .headerBtn-count {
    top: 10px;
    right: 10px;
    min-width: 18px;
    font-size: 1.2rem;
  }
  .headerContactList {
    gap: 20px;
  }
  .headerContactList-item:only-child {
    max-width: 470px;
  }
  .headerContactList-inner {
    padding: 20px;
  }
  .headerContactList-title {
    font-size: 1.8rem;
  }
  .headerFullScreen {
    padding: 15px;
    height: 80px;
  }
  .headerFullScreen-header {
    margin-right: 15px;
  }
  .headerFullScreen-title {
    font-size: 2rem;
  }
  .headerLogo-link {
    transition: opacity 0.3s;
  }
  .headerLogo-link:hover, .headerLogo-link:focus {
    opacity: 0.7;
  }
  .headerLogo-link {
    padding: 15px 20px;
  }
  .headerMenu-header {
    padding-right: 80px;
    padding-left: 180px;
    height: 80px;
  }
  .headerMenu-body {
    padding: 0 30px 30px;
    height: calc(100% - 80px);
  }
  .headerMenu-login {
    padding: 30px 0;
  }
  .headerMenu-account {
    margin-right: -30px;
    margin-left: -30px;
  }
  .header:not(.header-login) .headerMenuList-main .headerMenuList-btn, .header:not(.header-login) .headerMenuList-main .headerMenuList-link {
    font-size: 1.8rem;
  }
  .header-login .headerMenuList-btn {
    font-size: 2rem;
  }
  .mainVisual-bothSides.mainVisual-rounded .swiper-button-prev {
    left: 4px;
  }
  .mainVisual-bothSides.mainVisual-rounded .swiper-button-next {
    right: 4px;
  }
  .mainVisual-rounded {
    padding: 0 30px;
  }
  .mainVisual-rounded:not(.mainVisual-bothSides) .swiper {
    border-radius: 30px;
  }
  .mainVisual-rounded .mainVisual-img {
    border-radius: 30px;
  }
  .mainVisual .swiper-button-prev, .mainVisual .swiper-button-next {
    display: flex;
  }
  .mainVisual-rounded.mainVisual-bothSides .mainVisual-slideImg {
    border-radius: 30px;
  }
  .mainVisualLower {
    padding-right: 30px;
    padding-left: 30px;
    height: 160px;
  }
  .mainVisualLower-title {
    font-size: 3.6rem;
  }
  .mainVisualLower-sub {
    font-size: 2rem;
  }
  .operationMenu-full {
    height: calc(100% - 80px);
  }
  .overlayProtection {
    padding: 30px;
  }
  .overlayProtection-title {
    font-size: 3.2rem;
  }
  .is-show-photoGroupUtility.is-show-header .photoGroupUtility-fixed {
    top: 80px;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .photoGroupUtility-info {
    padding: 25px 30px;
  }
  .photoGroupUtility-fixed .photoGroupUtility-info {
    padding: 20px;
  }
  .photoGroupUtility-commentDetail {
    padding: 0.75em 30px;
  }
  .qa {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .qa-main {
    margin-top: 0;
    width: calc(100% - 290px);
  }
  .qa-aside {
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    width: 250px;
  }
  .is-fixed-header.is-show-header .qa-aside {
    top: 110px;
  }
  .saleInfo-info {
    width: calc(100% - 170px);
  }
  .saleInfo-school, .saleInfo-sale, .saleInfo-target {
    font-size: 1.4rem;
  }
  .saleInfo-group {
    font-size: 1.4rem;
  }
  .saleInfo-title {
    font-size: 2rem;
  }
  .saleInfo-period {
    width: 150px;
  }
  .saleInfo-periodTitle {
    font-size: 1.4rem;
  }
  .saleInfo-periodBody {
    margin-top: -13px;
    padding: 18px 13px 13px;
  }
  .saleInfo-priceList {
    font-size: 1.4rem;
  }
  .section {
    padding: 60px 0;
  }
  .section-thin {
    padding: 30px 0;
  }
  .sectionGrid-item:not(:first-child) {
    margin-top: 40px;
  }
  .sectionGrid-item-border {
    margin-top: 60px !important;
    padding-top: 60px;
  }
  .sectionGrid-item-border::before {
    left: -30px;
    width: calc(100% + 60px);
  }
  .sidebarList-label {
    font-size: 1.4rem;
  }
  .sidebarList-label-selected, .sidebarList-label-bought {
    min-height: 22px;
    font-size: 1.4rem;
  }
  .alert {
    display: grid;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
  }
  .alert-title {
    align-self: end;
    font-size: 1.8rem;
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .alert-success .alert-title, .alert-warning .alert-title, .alert-error .alert-title {
    padding-left: calc(2.4rem + 0.25em);
  }
  .alert-success .alert-title::before, .alert-warning .alert-title::before, .alert-error .alert-title::before {
    top: 0.2em;
    width: 2.4rem;
    height: 2.4rem;
  }
  .alert-text {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  .alert-title + .alert-text {
    align-self: start;
    grid-row: 2/3;
  }
  .alert-btn {
    margin-top: 0;
    margin-left: 15px;
    grid-column: 2/3;
    grid-row: 1/3;
  }
  .alertImg {
    padding: 16px;
    grid-template-columns: 120px 1fr;
    grid-gap: 0 16px;
    grid-template-areas: "img text btn";
  }
  .alertImg-btn {
    margin-top: 0;
    margin-left: 0;
  }
  .alertNotice {
    display: flex;
    margin-bottom: 40px;
  }
  .alertNotice-title {
    padding: 16px;
    width: 240px;
    font-size: 2rem;
  }
  .alertNotice-text {
    display: flex;
    align-items: center;
    padding: 16px;
    width: calc(100% - 240px);
  }
  .bannerList {
    gap: 20px;
  }
  .bannerList-link {
    transition: opacity 0.3s;
  }
  .bannerList-link:hover, .bannerList-link:focus {
    opacity: 0.7;
  }
  .bannerSlider {
    overflow: visible;
    margin-right: auto;
    margin-bottom: 40px;
    margin-left: auto;
    padding: 0 50px;
  }
  .bannerSlider-square .swiper:not(.swiper-initialized) .swiper-slide {
    width: calc(25% - 15px);
  }
  .bannerSlider-rectangle .swiper:not(.swiper-initialized) .swiper-slide {
    width: calc(50% - 10px);
  }
  .bannerSlider-link {
    transition: opacity 0.3s;
  }
  .bannerSlider-link:hover, .bannerSlider-link:focus {
    opacity: 0.7;
  }
  .bannerSlider-list {
    margin: 0 -50px -40px;
  }
  .bannerSlider-item:not(:last-child) {
    margin-right: 20px;
  }
  .bannerSlider .swiper {
    overflow: hidden;
  }
  .bannerSlider .swiper:not(.swiper-initialized) {
    margin-bottom: -40px;
  }
  .bannerSlider .swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    margin-left: 20px;
  }
  .bannerSlider .swiper-pagination {
    bottom: -40px;
  }
  .bannerSlider .swiper-button-prev, .bannerSlider .swiper-button-next {
    display: flex;
  }
  .bannerSlider .swiper-scrollbar {
    display: none;
  }
  .btnIcon-text {
    font-size: 1.2rem;
  }
  .btnIconFixed {
    bottom: 20px;
    left: 20px;
    width: 90px;
    height: 90px;
  }
  .btnIconFixed::before {
    width: 40px;
    height: 40px;
  }
  .btnIconFixed-text {
    transform: none;
  }
  .imgList + .btnRow, .imgTextList + .btnRow, .movieList + .btnRow {
    margin-top: 40px;
  }
  *:not(:empty) + .btnRow-footer {
    margin-top: 40px;
  }
  *:not(:empty) + .btnRow-photoListFooter {
    margin-top: 40px;
  }
  .btnToggle .btn {
    min-width: auto;
  }
  .cartInfo {
    margin-bottom: 40px;
    padding: 16px;
    font-size: 1.4rem;
  }
  .cartInfo-list-total {
    font-size: 1.6rem;
  }
  .cartInfo-item-total {
    font-size: 1.8rem;
  }
  .modal-content .cms * + h2,
.modal-content .cms * + h3,
.modal-content .cms * + h4,
.modal-content .cke_editable * + h2,
.modal-content .cke_editable * + h3,
.modal-content .cke_editable * + h4,
.modal-content .cke_panel_listItem * + h2,
.modal-content .cke_panel_listItem * + h3,
.modal-content .cke_panel_listItem * + h4 {
    margin-top: 30px;
  }
  .cms * + h2,
.cke_editable * + h2,
.cke_panel_listItem * + h2 {
    margin-top: 40px;
  }
  .cms * + h3,
.cke_editable * + h3,
.cke_panel_listItem * + h3 {
    margin-top: 30px;
  }
  .cms * + h4,
.cke_editable * + h4,
.cke_panel_listItem * + h4 {
    margin-top: 1.5em;
  }
  .modal-content .cms + .cms h2,
.modal-content .cms + .cms h3,
.modal-content .cms + .cms h4 {
    margin-top: 30px;
  }
  .cms + .cms h2 {
    margin-top: 40px;
  }
  .cms + .cms h3 {
    margin-top: 30px;
  }
  .cms + .cms h4 {
    margin-top: 1.5em;
  }
  .colorList-name {
    font-size: 1.4rem;
  }
  .descriptionImageCard-text {
    text-align: left;
  }
  .designConfirm-single .designConfirm-item {
    display: flex;
    align-items: flex-start;
    gap: 40px;
  }
  .designConfirm-title::before {
    min-width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }
  .designConfirm-preview {
    padding: 30px;
  }
  .designConfirm-single .designConfirm-preview {
    margin: 0;
  }
  .designConfirm-img {
    width: 250px;
  }
  .designConfirm-detail {
    flex: 1 1 auto;
    margin-top: 0;
  }
  .has-preview .dropify-infos-message {
    font-size: 1.6rem !important;
  }
  .errorMessage-title {
    font-size: 3.6rem;
  }
  .errorMessage-content {
    margin-top: 4rem;
  }
  .errorMessage-img {
    width: 140px;
  }
  .errorMessage-browserBtn {
    max-width: 600px;
  }
  .errorMessage-contact {
    margin-top: 4rem;
  }
  .facePhotoList {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  }
  .figure-caption {
    font-size: 1.4rem;
  }
  *:not(:empty) + .figure-box {
    margin-top: 60px;
  }
  .formBtn-label, .formBtn-labelBtn {
    padding-right: 16px !important;
    padding-left: 44px !important;
  }
  .formBtn-inputHidden .formBtn-label, .formBtn-inputHidden .formBtn-labelBtn {
    padding-left: 16px !important;
  }
  .formBtn input[type=checkbox] + .formBtn-label::before, .formBtn input[type=checkbox] + .formBtn-label::after,
.formBtn input[type=checkbox] + .formBtn-labelBtn::before,
.formBtn input[type=checkbox] + .formBtn-labelBtn::after, .formBtn input[type=radio] + .formBtn-label::before, .formBtn input[type=radio] + .formBtn-label::after,
.formBtn input[type=radio] + .formBtn-labelBtn::before,
.formBtn input[type=radio] + .formBtn-labelBtn::after {
    left: 16px !important;
  }
  .formBtn input[type=radio] + .formBtn-label::after,
.formBtn input[type=radio] + .formBtn-labelBtn::after {
    left: 20px !important;
  }
  .formBtn-note {
    font-size: 1.4rem;
  }
  .formBtn-detail {
    padding: 16px;
  }
  .formBtnBorder {
    margin: -16px;
  }
  * + .formBtnBorder {
    margin-top: 12px;
  }
  .formBtnBorder-item:not(:first-child)::after {
    left: 16px;
    width: calc(100% - 36px);
  }
  .formBtnBorder-item .formList-detail {
    padding: 16px;
  }
  .formBtnBorder-label {
    padding-right: 16px !important;
    padding-left: 44px !important;
  }
  .formBtnBorder input[type=checkbox] + .formBtnBorder-label::before, .formBtnBorder input[type=checkbox] + .formBtnBorder-label::after, .formBtnBorder input[type=radio] + .formBtnBorder-label::before, .formBtnBorder input[type=radio] + .formBtnBorder-label::after {
    left: 16px !important;
  }
  .formBtnBorder input[type=checkbox][type=radio] + .formBtnBorder-label::after, .formBtnBorder input[type=radio][type=radio] + .formBtnBorder-label::after {
    left: 20px !important;
  }
  .formBtnBorder-note {
    font-size: 1.4rem;
  }
  .formBtnBorder-detail {
    padding: 16px;
  }
  .formList-item:not(:first-child) {
    margin-top: 30px;
  }
  .formList-note {
    font-size: 1.4rem;
  }
  .formList-note input[type=checkbox] + label {
    font-size: 1.6rem;
  }
  .formList-detail {
    padding-top: 16px;
  }
  .formList-border > .formList-item:not(:first-child) {
    margin-top: 16px;
    padding-top: 16px;
  }
  .formRow-urlMoveForm {
    flex-direction: row;
  }
  .modal-body .formRow-urlMoveForm {
    flex-direction: column;
    justify-content: center;
  }
  .formRow-item-urlMoveInput {
    flex-direction: row;
    gap: 10px;
  }
  .formStep-item {
    padding: 0 0.5em 0.5em;
    font-size: 1.2rem;
  }
  .formUpload-title {
    font-size: 1.6rem;
  }
  .generalSlider-goods .generalSlider-slideImgWrapper {
    height: calc(45vh - 80px);
  }
  .generalSlider-goods .generalSlider-slideImg {
    height: 250px;
  }
  .icon {
    width: 22px;
    height: 22px;
    font-size: 2.4rem;
  }
  *:not(:empty) + .imgList {
    margin-top: 40px;
  }
  .imgList-col2, .imgList-col3 {
    display: grid;
    grid-gap: 40px;
  }
  .imgList-col2 .imgList-item:not(:first-child), .imgList-col3 .imgList-item:not(:first-child) {
    margin-top: 0;
  }
  .imgList-caption {
    font-size: 1.4rem;
  }
  .imgSelectList {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }
  .imgSelectList-sm {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  }
  .imgSelectList-lg {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .imgSelectList-check, .imgSelectList-view {
    grid-gap: 20px;
  }
  .imgSelectList-check.imgSelectList-sm, .imgSelectList-view.imgSelectList-sm {
    grid-gap: 10px;
  }
  .imgSelectList-selectBtn {
    grid-gap: 40px 20px;
  }
  .imgSelectList-name {
    font-size: 1.6rem;
  }
  .imgSelectList-sm .imgSelectList-name {
    font-size: 1.4rem;
  }
  .imgSelectList-btn .btn {
    padding-right: 2em;
  }
  *:not(:empty) + .imgTextList {
    margin-top: 40px;
  }
  .imgTextList-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .imgTextList-reverse .imgTextList-item {
    flex-direction: row-reverse;
  }
  .imgTextList-alternate .imgTextList-item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .imgTextList-alternate.imgTextList-reverse .imgTextList-item:nth-child(even) {
    flex-direction: row;
  }
  .imgTextList-header {
    width: calc(50% - 20px);
  }
  .imgTextList-body {
    margin-top: 0;
    width: calc(50% - 20px);
  }
  .imgTextList-title {
    font-size: 2.8rem;
  }
  *:not(:empty) + .kaotanUploadSample {
    margin-top: 40px;
  }
  .kaotanUploadSample {
    padding: 16px;
  }
  .kaotanUploadSample-list {
    flex-wrap: nowrap;
  }
  .kaotanUploadSample-text {
    font-size: 1.4rem;
  }
  .label {
    min-height: 22px;
    font-size: 1.4rem;
  }
  .label-sm {
    min-height: 18px;
    font-size: 1.2rem;
  }
  .label-promotion::before {
    width: 22px;
    height: 22px;
  }
  .linkList-link {
    display: grid;
    align-items: center;
    padding: 16px 46px 16px 16px;
    grid-template-areas: "header footer" "body footer";
  }
  .linkList-link:not(.is-disabled)::after {
    right: 16px;
  }
  .linkList-header + .linkList-body {
    margin-top: 8px;
  }
  .linkList-footer {
    justify-self: end;
  }
  .linkList-body + .linkList-footer {
    margin-left: 1em;
  }
  .linkList-sub {
    font-size: 1.4rem;
  }
  .list-invalid {
    font-size: 1.4rem;
  }
  .list-invalid > li {
    padding-left: 1.68rem;
  }
  .list-invalid > li::before {
    height: 2.24rem;
  }
  .loading::before {
    top: calc(50% - 2.5rem);
    left: calc(50% - 2.5rem);
    border-width: 0.5rem;
    width: 5rem;
    height: 5rem;
  }
  .loading::after {
    padding-top: 11rem;
  }
  .loading-static {
    min-height: 320px;
  }
  .message {
    padding: 4rem 0;
  }
  .message-img .mdi::before {
    font-size: 14rem;
  }
  .message-img svg {
    width: 14rem;
  }
  .modal-header {
    padding: 1.5rem 60px 1.5rem 1.5rem;
    min-height: 60px;
  }
  .modal-header .btn-close {
    width: 60px;
    height: 60px;
  }
  .modal-dark .modal-body {
    padding: 30px;
  }
  .modal .btn-close-fixed {
    top: 10px;
    right: 10px;
    width: 46px;
    height: 46px;
  }
  *:not(:empty) + .movieList {
    margin-top: 40px;
  }
  .movieList-col2 {
    display: grid;
    grid-gap: 40px;
    grid-template-columns: repeat(2, 1fr);
  }
  .movieList-col2 .movieList-item:not(:first-child) {
    margin-top: 0;
  }
  .movieList-item:not(:first-child) {
    margin-top: 40px;
  }
  .newsList-header {
    display: flex;
    padding: 16px 36px 16px 16px;
  }
  .newsList-header::before, .newsList-header::after {
    right: 16px;
  }
  .newsList-date {
    flex-shrink: 0;
    margin-right: 1em;
  }
  .newsList-body {
    padding: 16px;
  }
  .orderEditList-text::before {
    min-width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }
  *:not(:empty) + .pager {
    margin-top: 40px;
  }
  .pager {
    margin-right: -5px;
    margin-left: -5px;
  }
  .pager-item {
    display: block;
    margin: 0 5px;
    min-width: 38px;
  }
  .pager-item-select {
    display: none;
  }
  .pager-item-ellipsis {
    display: block;
    margin-right: -5px;
    margin-left: -5px;
  }
  .pager-link {
    padding: 0.4em;
  }
  .pager-link-prev {
    border-right: 1px solid #6b7681;
    border-radius: 4px;
  }
  .pager-link-next {
    border-left: 1px solid #6b7681;
    border-radius: 4px;
  }
  .photobookPreview-hint {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.16);
    width: 160px;
    height: 160px;
    font-size: 1.4rem;
  }
  .photobookPreview-hint::before {
    width: 56px;
    height: 56px;
  }
  .photoGroupList {
    font-size: 1.4rem;
  }
  .photoGroupListOneLine {
    font-size: 1.4rem;
  }
  .photoList-item:not(:first-child) .photoList-header {
    padding-top: 40px;
  }
  .photoList-cart .photoList-header, .photoList-cart .photoList-body, .photoList-cart .photoList-detail {
    margin-right: 0;
    margin-left: 0;
    max-width: none;
  }
  .photoList-header {
    margin-bottom: 20px;
  }
  .photoList-header .alert {
    margin-bottom: 40px;
  }
  .photoList-cart .photoList-body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
  }
  .photoList-cart .photoList-link, .photoList-cart .photoList-thumbnail {
    width: 200px;
  }
  .photoList-link {
    transition: opacity 0.3s;
  }
  .photoList-link:hover, .photoList-link:focus {
    opacity: 0.7;
  }
  .photoList-label {
    min-height: 22px;
    font-size: 1.4rem;
  }
  .photoList-cart .photoList-detail {
    margin-top: 0;
    width: calc(100% - 230px);
  }
  .photoThumbnailList-link {
    transition: opacity 0.3s;
  }
  .photoThumbnailList-link:hover, .photoThumbnailList-link:focus {
    opacity: 0.7;
  }
  *:not(:empty) + .productDetail {
    margin-top: 40px;
  }
  .productDetail {
    display: flex;
    justify-content: space-between;
  }
  .productDetail-header, .productDetail-body {
    width: calc(50% - 10px);
  }
  .productDetail-body {
    margin-top: 0;
  }
  .productDetail-name {
    font-size: 2rem;
  }
  .productDetail-priceNumber {
    font-size: 2rem;
  }
  .productList-link:hover, .productList-link:focus {
    transition: opacity 0.3s;
  }
  .productList-link:hover:hover, .productList-link:hover:focus, .productList-link:focus:hover, .productList-link:focus:focus {
    opacity: 0.7;
  }
  *:not(:empty) + .qaFormList {
    margin-top: 40px;
  }
  .qaFormList-item:not(:first-child) {
    margin-top: 40px;
  }
  .qaFormList-header {
    font-size: 2rem;
  }
  .qaList-answer {
    padding: 16px;
  }
  .saleCardList {
    display: block;
    margin-top: 0;
  }
  .saleCardList-item {
    border-bottom: 1px solid var(--color-gray-border);
  }
  .saleCardList-link {
    display: grid;
    align-items: center;
    padding: 16px 46px 16px 0;
    grid-template-areas: "header body" "header footer";
    grid-gap: 0 20px;
    grid-template-columns: 240px 1fr;
  }
  .saleCardList-link.is-disabled {
    background-color: var(--color-gray-background);
  }
  .saleCardList-link:not(.is-disabled)::after {
    content: "\f054";
    font-family: "Material Design Icons";
    font-size: inherit;
    font-weight: normal;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    color: #6b7681;
    transition: transform 0.3s;
  }
  .saleCardList-link:hover:not(.is-disabled)::after, .saleCardList-link:focus:not(.is-disabled)::after {
    transform: translateX(4px) translateY(-50%);
  }
  .saleCardList-header {
    grid-area: header;
  }
  .saleCardList-body {
    align-self: end;
    margin-top: 0;
    grid-area: body;
  }
  .saleCardList-footer {
    align-self: start;
    grid-area: footer;
  }
  .saleCardList-sub {
    font-size: 1.4rem;
  }
  .schoolCodeList-item {
    flex-wrap: nowrap;
  }
  .schoolCodeList-header {
    flex: 1;
  }
  .schoolCodeList-footer {
    width: auto;
  }
  .searchDisplay {
    margin-top: 40px;
  }
  .settingEditList-class .settingEditList-body {
    display: flex;
    align-items: center;
  }
  .settingEditList-class .settingEditList-label {
    margin-right: 10px;
    margin-bottom: 0;
    width: 100px;
  }
  .settingEditList-class .settingEditList-label .label {
    width: 100%;
  }
  .settingEditList-class .settingEditList-footer {
    flex-direction: row;
  }
  .settingList-lg .settingList-item {
    padding: 15px 0;
  }
  .settingProductList-thumbnail {
    width: 140px;
  }
  .settingProductList-detail {
    width: calc(100% - 155px);
  }
  .settingProductList-note {
    font-size: 1.4rem;
  }
  *:not(:empty) + .snsList {
    margin-top: 40px;
  }
  .snsList-link {
    transition: opacity 0.3s;
  }
  .snsList-link:hover, .snsList-link:focus {
    opacity: 0.7;
  }
  body.swal2-toast-shown .swal2-container {
    width: 500px;
  }
  body.swal2-toast-shown .swal2-container.swal2-image-toast-landscape {
    width: 420px;
  }
  body.swal2-toast-shown .swal2-container.swal2-image-toast-portrait {
    width: 320px;
  }
  .swal2-popup {
    font-size: 1.6rem;
  }
  .swal2-progress-steps {
    margin-top: 20px;
    padding: 0 20px;
  }
  .swal2-icon {
    margin-top: 30px;
  }
  .swal2-image {
    margin-top: 20px;
    max-width: calc(100% - 40px);
  }
  .swal2-title {
    padding: 15px 20px 0;
    font-size: 2rem;
  }
  .swal2-html-container {
    margin-right: 20px;
    margin-left: 20px;
  }
  .swal2-input, .swal2-range, .swal2-file, .swal2-select, .swal2-textarea {
    margin: 15px 20px 0;
  }
  .swal2-input-label {
    padding: 0 20px;
  }
  .swal2-radio {
    margin-right: 10px;
    margin-left: 10px;
  }
  .swal2-checkbox {
    margin-right: 20px;
    margin-left: 20px;
  }
  .swal2-validation-message {
    padding-right: 20px;
    padding-left: 20px;
  }
  .swal2-actions {
    align-items: stretch;
    padding: 0 20px 20px;
  }
  .swal2-styled.swal2-confirm, .swal2-styled.swal2-deny, .swal2-styled.swal2-cancel {
    max-width: calc(50% - 5px);
    white-space: normal;
  }
  .swal2-footer {
    padding-right: 20px;
    padding-left: 20px;
    font-size: 1.4rem;
  }
  .tab-list {
    margin-bottom: 40px;
  }
  .modal-content .tab-list {
    margin-bottom: 30px;
  }
  .tablePhotoDetail-link {
    transition: opacity 0.3s;
  }
  .tablePhotoDetail-link:hover, .tablePhotoDetail-link:focus {
    opacity: 0.7;
  }
  .tablePhotoDetail-label {
    min-height: 22px;
    font-size: 1.4rem;
  }
  .title ~ .title, .cms + .title, .title-lg.title-mt {
    margin-top: 40px;
  }
  .modal-content .title ~ .title, .modal-content .cms + .title, .modal-content .title-lg.title-mt {
    margin-top: 30px;
  }
  .title-section {
    font-size: 2.8rem;
  }
  .title-section img,
.title-section .mdi {
    margin-top: 0.2em;
  }
  *:not(.title) + .title-md {
    margin-top: 30px;
  }
  *:not(.title) + .title-sm {
    margin-top: 1.5em;
  }
  .titleTop {
    font-size: 3.6rem;
  }
  *:not(.title) + .titleTop {
    margin-top: 60px;
  }
  .titleTop-sub {
    font-size: 2rem;
  }
  .piczoom-header {
    height: 80px;
  }
  .piczoom-information {
    justify-content: center;
    padding-left: 80px;
    width: calc(100% - 80px);
  }
  .piczoom-close {
    padding-top: 40px;
    width: 80px;
    height: 80px;
    background-size: 20px;
    font-size: 1.2rem;
  }
  .piczoom-body {
    padding-top: 80px;
    padding-right: 30px;
    padding-left: 30px;
  }
  .piczoom-inner {
    padding-right: 90px;
    padding-left: 90px;
  }
  .bannerInfoText-sm .bannerInfoText-link {
    transition: opacity 0.3s;
  }
  .bannerInfoText-sm .bannerInfoText-link:hover, .bannerInfoText-sm .bannerInfoText-link:focus {
    opacity: 0.7;
  }
  .bannerInfoText-lg .bannerInfoText-content {
    display: flex;
    flex-direction: row-reverse;
    width: 730px;
    max-width: none;
  }
  .bannerInfoText-lg .bannerInfoText-text {
    padding: 40px;
    width: 400px;
  }
  .bannerInfoText-lg .bannerInfoText-imgContainer {
    overflow: hidden;
    width: 400px;
    max-width: none;
    height: auto;
    min-height: 400px;
  }
  .bannerInfoText-img {
    border-radius: 0 15px 15px 0;
  }
  .bannerInfoText-lg .bannerInfoText-title {
    font-size: 2.6rem;
  }
  .bannerInfoText-lg .bannerInfoText-subTitle {
    font-size: 2rem;
  }
  .bannerInfoText-lg .bannerInfoText-body {
    font-size: 1.6rem;
  }
  .bannerInfoText-lg .bannerInfoText-linkText {
    font-size: 1.5rem;
  }
  .bannerInfoText-shrink.bannerInfoText-sm {
    transform: scale(0.375);
    margin: -50px -300px -50px 0;
  }
  .bannerInfoImage-sm a.bannerInfoImage-link {
    transition: opacity 0.3s;
  }
  .bannerInfoImage-sm a.bannerInfoImage-link:hover, .bannerInfoImage-sm a.bannerInfoImage-link:focus {
    opacity: 0.7;
  }
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  * + .mt-md {
    margin-top: 40px !important;
  }
  * + .mt-lg {
    margin-top: 60px !important;
  }
  .mb-md {
    margin-bottom: 40px !important;
  }
  .mb-lg {
    margin-bottom: 60px !important;
  }
  * + .pt-md {
    padding-top: 40px !important;
  }
  * + .pt-lg {
    padding-top: 60px !important;
  }
  .text-md-center {
    text-align: center !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-left {
    text-align: left !important;
  }
  .text-md {
    font-size: 1.6rem;
  }
}
@media (min-width: 992px) {
  body::after {
    content: "lg";
  }
  .cart-column {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .cart-main {
    width: calc(100% - 340px);
  }
  .cart-aside + .cart-main {
    margin-top: 0;
  }
  .cart-aside {
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    width: 300px;
  }
  .is-fixed-header.is-show-header .cart-aside {
    top: 110px;
  }
  .cart-main + .cart-aside {
    margin-top: 0;
  }
  .cart-btn {
    display: block;
    gap: 0;
  }
  .cart-main .cart-btn {
    display: none;
  }
  .cart-btn .btn {
    width: 100%;
    min-width: auto;
  }
  .cart-btn .btn:not(:first-child) {
    margin-top: 10px;
  }
  .contact {
    padding: 60px 0;
  }
  .contactList-item:has(.contactList-title) {
    min-width: 340px;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .filteringMenu {
    display: block;
  }
  .filteringMenu-btn {
    border-left: 1px solid var(--color-gray-border);
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .filteringMenu-btn {
    display: block;
    border: 1px solid var(--color-gray-border);
    border-radius: 4px;
    width: 100%;
  }
  .photoGroupUtility-fixed .filteringMenu-btn {
    border-bottom: none;
    height: 100%;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .filteringMenu-btn + .filteringMenu-btn {
    margin-top: 10px;
  }
  .is-show-promotionCoupon .footer {
    padding-bottom: 0;
  }
  .footerMenu-list-col4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .globalInner-sm {
    max-width: 1020px;
  }
  .globalWrapperFullScreen-operationMenuSelect {
    padding-right: 320px;
    padding-bottom: 0;
  }
  .globalWrapperFullScreen-operationMenuOrder {
    padding-right: 480px;
    padding-bottom: 0;
  }
  .globalWrapperFullScreen-operationMenuSelect .globalWrapperFullScreen-alertWrapper {
    width: calc(100% - 320px);
  }
  .globalWrapperFullScreen-operationMenuOrder .globalWrapperFullScreen-alertWrapper {
    width: calc(100% - 480px);
  }
  .globalWrapperFullScreen-preview {
    height: calc(100vh - 80px);
  }
  .globalWrapperFullScreen-previewImg-goods {
    height: 300px;
  }
  .header:not(.header-login) .headerBtn-item-menu {
    display: none;
  }
  .headerBtn-item-login {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    width: auto;
  }
  .headerContactList-item:only-child {
    margin-right: 0;
  }
  .headerContactList-item:has(.headerContactList-title) {
    min-width: 340px;
  }
  .headerMenu {
    opacity: 0;
    transform: none;
    transition: opacity 0.3s;
  }
  .headerMenu-body {
    padding: 30px;
  }
  .headerMenu-account {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 80px;
    margin: 0;
    padding: 20px;
    height: 80px;
    background-color: transparent;
  }
  .headerMenu-language .headerMenu-account {
    right: 160px;
  }
  .headerMenu-list {
    grid-template-areas: "photo account guide" "sub contact contact";
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px;
  }
  .headerMenu-list-tel2 {
    grid-template-areas: "photo account guide" "sub sub sub" "contact contact contact";
  }
  .headerMenu-list-goodsContact2 {
    grid-template-areas: "photo photo photo goods goods goods account account account guide guide guide" "sub sub sub sub contact contact contact contact contact contact contact contact";
    grid-template-columns: repeat(12, 1fr);
  }
  .headerMenu-list-goodsContact3 {
    grid-template-areas: "photo goods account guide" "sub sub sub sub" "contact contact contact contact";
    grid-template-columns: repeat(4, 1fr);
  }
  .headerMenuList-sub {
    justify-content: flex-start;
    gap: 10px 20px;
  }
  .headerMenu-list-goodsContact3 .headerMenuList-sub {
    justify-content: center;
    gap: 10px 20px;
  }
  .headerMenuList-sub .headerMenuList-item {
    width: auto;
  }
  .headerMenuList-sub .headerMenuList-link {
    padding: 0;
  }
  .headerMenu-list-goodsContact3 .headerMenuList-sub .headerMenuList-link {
    padding: 0;
  }
  .headerNav {
    display: flex;
    justify-content: flex-end;
    margin-right: 20px;
  }
  .headerNav-link {
    padding: 10px;
    font-size: 1.6rem;
  }
  .operationMenu {
    border-top: 0;
    border-left: 1px solid var(--color-gray-border);
    height: calc(100% - 80px);
  }
  .operationMenu-select {
    width: 320px;
  }
  .operationMenu-order {
    width: 480px;
  }
  .operationMenu-body {
    overflow-y: auto;
    height: calc(100% - 50px);
  }
  .operationMenu-body::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }
  .operationMenu-body::-webkit-scrollbar-track {
    border-radius: 1em;
    background-color: #fff;
  }
  .operationMenu-body::-webkit-scrollbar-thumb {
    border-radius: 1em;
    border: 2px solid #fff;
    background-color: var(--color-gray-border);
  }
  .operationMenu-body {
    scrollbar-width: thin;
    scrollbar-color: var(--color-gray-border) transparent;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) {
    display: grid;
    border-bottom: 1px solid var(--color-gray-border);
    grid-template-areas: "info btn" "comment comment";
    grid-template-columns: 1fr 350px;
  }
  .photoGroupUtility-fixed {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--color-gray-border);
  }
  .photoGroupUtility-info {
    border-bottom: none;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .photoGroupUtility-info {
    padding: 25px 30px;
  }
  .photoGroupUtility-fixed .photoGroupUtility-info {
    display: flex;
    align-items: center;
    width: calc(100% - 520px);
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .photoGroupUtility-btn {
    padding-top: 25px;
    padding-right: 30px;
    padding-bottom: 25px;
  }
  .photoGroupUtility-fixed .photoGroupUtility-btn {
    width: 520px;
  }
  .photoGroupUtility-comment {
    margin-top: -15px;
    padding: 0 30px 25px 30px;
    border-bottom: none;
  }
  .photoGroupUtility-commentDetail {
    padding: 10px;
    border-radius: 4px;
  }
  .saleInfo-period {
    margin-top: -13px;
  }
  .section {
    padding: 80px 0;
  }
  .section-border {
    padding-top: 0;
    border-top: none;
  }
  .section-thin {
    padding: 40px 0;
  }
  .sectionGrid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
  }
  .sectionGrid-col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .sectionGrid-half {
    max-width: calc(50% - 15px);
  }
  .sectionGrid-item {
    padding: 30px;
    border-radius: 6px;
    background-color: #fff;
  }
  .sectionGrid-item:not(:first-child) {
    margin-top: 0;
  }
  .sectionGrid-item-border {
    margin-top: 0 !important;
    padding-top: 30px;
  }
  .sectionGrid-item-border::before {
    content: none;
  }
  .bannerSlider .swiper-button-prev {
    left: 0;
  }
  .bannerSlider .swiper-button-next {
    right: 0;
  }
  .is-show-promotionCoupon .btnIconFixed-thumbnailView {
    bottom: 20px;
  }
  .colorList-col {
    grid-gap: 20px 10px;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }
  .descriptionImageCard-col {
    flex-direction: row;
  }
  .descriptionImageCard-item {
    flex: 1;
    padding: 16px;
  }
  .designConfirm-multiple {
    grid-template-columns: repeat(3, 1fr);
  }
  .designConfirm-preview {
    padding: 40px;
  }
  .designConfirm-img {
    width: 300px;
  }
  .formList-horizontal .formList-item {
    display: grid;
    grid-template-areas: "label form" ". note" ". feedback";
    grid-template-columns: 260px 1fr;
    grid-gap: 0 20px;
  }
  .formList-horizontal .formList-header {
    align-items: center;
    margin-bottom: 0;
    grid-area: label;
  }
  .formList-header-horizontal {
    display: flex;
  }
  .formList-horizontal .formList-header .icon {
    margin-left: auto;
  }
  .formList-horizontal .formList-header .label {
    margin-left: auto;
  }
  .formList-horizontal .formList-label-horizontal {
    display: block;
    font-size: 1.4rem;
    color: #6b7681;
  }
  .formList-horizontal .formList-body {
    grid-area: form;
  }
  .formList-horizontal .formList-column .formList-header {
    margin-bottom: 0.25em;
  }
  .formList-horizontal .formList-column .formList-label:not(.formList-label-horizontal) {
    display: none;
  }
  .formList-horizontal .formList-column .label {
    display: none;
  }
  .formList-horizontal .formList-note {
    grid-area: note;
  }
  .formList-horizontal .formList-feedback {
    grid-area: feedback;
  }
  .modal-body .formRow-urlMoveForm {
    flex-direction: row;
  }
  .generalSlider-goods .generalSlider-slideImgWrapper {
    height: calc(100vh - 80px);
  }
  .generalSlider-goods .generalSlider-slideImg {
    height: 300px;
  }
  .generalSlider .swiper-button-prev {
    left: 10px;
  }
  .generalSlider .swiper-button-next {
    right: 10px;
  }
  .generalSlider-goods .swiper-pagination-fraction {
    right: auto;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
  }
  .generalSlider-goods .swiper-button-prev {
    left: 30px;
  }
  .generalSlider-goods .swiper-button-next {
    right: 30px;
  }
  .imgList-item:not(:first-child) {
    margin-top: 40px;
  }
  .imgTextList-item:not(:first-child) {
    margin-top: 60px;
  }
  .operationDetail {
    transform: translateX(100%);
    border-top: none;
    border-left: 1px solid var(--color-gray-border);
    width: 480px;
    height: calc(100% - 80px);
  }
  .productDetail-header {
    width: 380px;
  }
  .cart-main .productDetail-header {
    width: calc(50% - 10px);
  }
  .productDetail-body {
    width: calc(100% - 400px);
  }
  .cart-main .productDetail-body {
    width: calc(50% - 10px);
  }
  .productDetail-note {
    margin-top: 10px;
  }
  .productList {
    grid-template-columns: repeat(3, 1fr);
  }
  .promotionCoupon-sp {
    display: none;
  }
  .promotionCoupon-pc {
    display: flex;
  }
  *:not(.title) + .titleTop {
    margin-top: 80px;
  }
  .bannerInfoText-lg .bannerInfoText-content {
    width: 800px;
  }
  .swiper-slide .bannerInfoText-sm .bannerInfoText-linkBtn {
    padding: 0.4em 16px 0.4em 20px;
    min-height: 32px;
  }
  .bg-lg-base {
    background-color: var(--color-base-background);
  }
  .d-lg-none {
    display: none !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) and (min-height: 750px) {
  .headerMenu-body {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 1200px) {
  body::after {
    content: "xl";
  }
  .cart-main {
    width: calc(100% - 380px);
  }
  .cart-aside {
    width: 340px;
  }
  .contactList-item-form .contactList-link {
    padding-right: calc(20px + 1em);
    padding-left: calc(20px + 1em);
  }
  .footerMenu {
    padding-top: 40px;
  }
  .footerMenu-list {
    padding-right: 60px;
    padding-left: 60px;
    max-width: 1280px;
    grid-gap: 30px;
  }
  .footerSitemap {
    padding: 40px 0;
  }
  .globalInner {
    margin: 0 auto;
    padding: 0 60px;
    max-width: 1280px;
  }
  .globalInner-sm {
    max-width: 1080px;
  }
  .globalInner-wide {
    max-width: none !important;
  }
  .header-logo {
    width: 280px;
  }
  .header-utility {
    width: calc(100% - 280px);
  }
  .headerContactList-item {
    min-height: 100px;
  }
  .headerContactList-number {
    font-size: 3.2rem;
  }
  .headerContactList-time {
    font-size: 1.4rem;
  }
  .headerContactList-link {
    padding: 20px;
    min-height: 100px;
    font-size: 2.6rem;
  }
  .headerContactList-item-form .headerContactList-link {
    padding-right: calc(20px + 1em);
    padding-left: calc(20px + 1em);
  }
  .headerContactList-link::after {
    right: 16px;
  }
  .headerMenu-header {
    padding-left: 280px;
  }
  .headerMenu-body {
    padding: 60px;
  }
  .headerMenu-list {
    grid-gap: 40px;
  }
  .headerNav-link {
    padding: 15px 20px;
    font-size: 1.8rem;
  }
  .mainVisual-contentWidth {
    padding: 0 60px;
    max-width: 1280px;
  }
  .mainVisual-contentWidth .swiper-button-prev {
    left: 40px;
  }
  .mainVisual-contentWidth .swiper-button-next {
    right: 40px;
  }
  .mainVisual-bothSides .swiper-button-prev {
    left: calc(50% - 600px);
  }
  .mainVisual-bothSides .swiper-button-next {
    right: calc(50% - 600px);
  }
  .mainVisual-bothSides.mainVisual-rounded .swiper-button-prev {
    left: calc(50% - 607.5px);
  }
  .mainVisual-bothSides.mainVisual-rounded .swiper-button-next {
    right: calc(50% - 607.5px);
  }
  .mainVisualLower {
    padding-right: 60px;
    padding-left: 60px;
    height: 200px;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) {
    grid-template-areas: "info btn" "comment .";
    grid-template-columns: 1fr 380px;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .photoGroupUtility-info {
    padding: 30px 30px 30px 60px;
  }
  .photoGroupUtility:not(.photoGroupUtility-fixed) .photoGroupUtility-btn {
    padding-top: 30px;
    padding-right: 60px;
    padding-bottom: 30px;
  }
  .photoGroupUtility-comment {
    margin-top: -20px;
    padding: 0 30px 30px 60px;
  }
  .sectionGrid {
    grid-gap: 40px;
  }
  .sectionGrid-half {
    max-width: calc(50% - 20px);
  }
  .saleCardList-link {
    grid-template-columns: 240px 1fr auto;
    grid-template-areas: "header body footer";
  }
  .saleCardList-body {
    align-self: center;
  }
  .saleCardList-footer {
    align-self: center;
  }
  .piczoom-body {
    padding-right: 60px;
    padding-left: 60px;
  }
  .d-xl-none {
    display: none !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media (max-width: 767px) {
  .table-stack-md-down > tbody > tr > th,
.table-stack-md-down > tbody > tr > td {
    display: block;
    width: 100%;
  }
  .table-stack-md-down > tbody > tr > th {
    border-bottom: none;
  }
  .tablePhotoDetail {
    display: block;
  }
  .tablePhotoDetail-header {
    display: none;
  }
  .tablePhotoDetail-body {
    display: block;
  }
  .tablePhotoDetail-row {
    display: block;
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 160px;
    min-height: 170px;
  }
  .tablePhotoDetail-item {
    display: block;
    padding: 0;
    font-size: 1.2rem;
    text-align: left !important;
  }
  .tablePhotoDetail-item[data-item-title]::before {
    content: attr(data-item-title);
    margin-right: 0.5em;
    color: #6b7681;
  }
  .tablePhotoDetail-item:nth-child(n+3) {
    margin-top: 0.5em;
  }
  .tablePhotoDetail-item-img {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 2;
    width: auto;
  }
}