@charset "UTF-8";

/*sys/base_form.css のコピー ここから*/
input,
button,
select,
textarea {
  color: var(--cl-bk);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"] {
  height: 56px;
  padding: 0 16px;
  border: 1px solid var(--cl-gr-3);
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1.6rem;
}

input[type="text"]:hover,
input[type="tel"]:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="password"]:hover,
input[type="url"]:hover,
input[type="number"]:hover {
  border: 1px solid var(--cl-gr-3);
}

select,
textarea {
  border: 1px solid var(--cl-gr-3);
  border-radius: 4px;
  background-color: #ffffff;
  font-size: 1.6rem;
  font-weight: 400;
}

select {
  height: 56px;
  padding: 0 32px 0 16px;
  background-image: url(../../img/usr/common/arw_select.png);
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 10px 6px;
  text-align: left;
  -webkit-appearance: none;
  appearance: none;
}

select:hover {
  border: 1px solid var(--cl-gr-3);
  opacity: 1;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
}

input[type="checkbox"]:has(+ label),
label input[type="checkbox"] {
  display: none;
}

input[type="checkbox"] + label,
label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  min-height: 24px;
  padding-left: 36px;
  font-size: 1.6rem;
  cursor: pointer;
}

input[type="checkbox"] + label::before,
label:has(input[type="checkbox"])::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  background-image: url(../../img/usr/common/icon_cb_off.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: background-image 0.12s;
}

input[type="checkbox"]:checked + label::before,
label:has(input[type="checkbox"]:checked)::before {
  background-image: url(../../img/usr/common/icon_cb_on.png);
}

/*fade image in after load*/
.lazyload {
  opacity: 0;
}

.lazyloading {
  opacity: 1;
}

.lazyloaded {
  opacity: 1;
  -webkit-transition: opacity 200ms;
  transition: opacity 200ms;
}

/*----画像センタリング配置----*/
.img-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.img-center img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
}

/*----テキストカラー----*/
.price {
  color: var(--cl-bk);
}

/*ここまで sys/base_misc.css のコピー*/
/*sys/layout.css のコピー ここから*/
.wrapper {
  width: 100%;
}

.container {
  width: 1200px;
  margin: 0 auto;
}

.pane-globalnav {
  width: 100%;
}

.pane-contents {
  min-height: 600px;
}
.pane-contents .container {
  display: block;
}

.pane-main {
  display: block;
}

/*----関連商品----*/
.block-cart-i--items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.block-cart-i--goods-image {
  width: 224px;
}

.block-cart-i--goods {
  -ms-flex-preferred-size: 200px;
  flex-basis: 200px;
  margin-left: 33px;
}
.block-cart-i--goods:first-of-type {
  margin-left: 0;
}

.block-cart-i--goods-image figure {
  background: #f5f5f5;
  width: 200px;
  height: 200px;
}

.block-cart-i--goods a {
  text-decoration: underline;
}

.block-cart-i--goods-description {
  margin-top: 20px;
}

.block-cart-i--goods .price {
  font-weight: bold;
  text-align: right;
}
.block-cart-i--goods .net-price,
.block-cart-i--goods .default-price,
.block-cart-i--goods .exchange-price,
.block-cart-i--goods .block-exchange-price--rate-dt {
  text-align: right;
}

.block-cart-i--scomment {
  color: #cc3302;
}

/* sort/count */
.block-category-list--goods {
  margin-top: 34px;
  margin-top: 40px;
}

.block-goods-list--sort-order-items {
  position: relative;
  float: right;
  padding-top: 12px;
  z-index: 1;
}
.page-search .block-goods-list--sort-order-items {
  padding-top: 12px;
}

.itemsort_items {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  line-height: 1.3;
}
.itemsort_items div {
  color: #111111;
  font-weight: 700;
}
.itemsort_items div:not(:first-child) {
  margin-left: 9px;
  padding-left: 9px;
  border-left: 1px solid #999999;
}
.itemsort_items a {
  color: #999999;
  font-weight: 400;
}

/*----絞り込み検索----*/
.block-filter--treeitem {
  border-top: #e5e5e5 1px solid;
}

.block-filter--tree-1 > li:first-child {
  border-top: none;
}

.block-filter--tree-2 > li {
  padding-left: 10px;
}

.block-filter--tree-3 > li {
  padding-left: 20px;
}

.block-filter--tree-4 > li {
  padding-left: 30px;
}

.block-filter--treeitem-container {
  width: 100%;
  display: table;
}

.block-filter--treeitem-dir {
  display: table-cell;
  height: 43px;
  width: 15px;
  vertical-align: middle;
  text-align: left;
  cursor: pointer;
}
.block-filter--treeitem-dir > div {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.block-filter--treeitem-dir__close > div {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

.block-filter--treeitem-name {
  display: table-cell;
  padding-left: 5px;
  height: 43px;
  vertical-align: middle;
  text-align: left;
}

.block-filter--treeitem-selected {
  color: #c00;
}

.block-filter--image {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  margin-right: 5px;
}

.block-filter--image-check {
  position: relative;
  display: block;
}
.block-filter--image-check i {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  line-height: 20px;
}
.block-filter--image-check:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
}

.block-filter--close .block-filter--list-inner-accordion,
.block-filter--close .block-filter--treelist-inner-accordion,
.block-filter--close .block-filter--select-inner-accordion,
.block-filter--close .block-filter--imagelist-inner-accordion {
  display: none;
}

.block-filter--option-items img {
  vertical-align: middle;
}

/* 202502 added */

.page-category .pane-contents .container,
.page-category .pane-main {
  display: block;
  width: 100%;
}
