﻿@charset "UTF-8";

:root {
  --usr-scrollbar-width: 0;
	
	--site-color-black: #000000;
	--site-color-green: #008566;
	--site-color-red:   #D83636;
	--site-color-pink:  #C85C7A;
	--site-color-cream: #FAF7F0;
	--site-color-light: #F3F9F5;
	
	--site-color-gray01: #666666;
	--site-color-gray02: #808080;
	--site-color-gray03: #BDBDBD;
	--site-color-gray04: #D8D8D8;
	--site-color-gray05: #E4E4E4;
	--site-color-gray06: #F6F6F6;
	
	--site-border-solid: #D8D8D8 1px solid;
	--site-border-dotted:#BDBDBD 1px dotted;
	
	--site-font-family-base: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--site-font-family-price: 'Lato', sans-serif;
	--site-transition: 0.3s;
	--site-opacity: 0.7;
	
	--min-height-body-sp: calc(100svh - 80px - 155px);
	--min-height-body-pc: calc(100svh - 120px - 210px);
	
}

@media screen and (max-width: 768px) {
	.for-pc { display: none;}
}
@media screen and (min-width: 769px) {
	.for-sp { display: none;}
}

/* ----------------------------------
 Cookie承諾
---------------------------------- */
#cookieBox .block-cookie-consent { z-index: 99999999;}

/* ----------------------------------
 Base
---------------------------------- */
body, div, dl, dt, dd, ul, ol, li, p, h1, h2, h3, h4, h5, h6, img, address, strong, table, th, td, input, form, textarea, select, input, button {
	padding: 0;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-family: inherit;
	font-size: inherit;
	font-style: normal;
	font-weight: normal;
	text-align: left;
  color: #000;
	list-style: none;
}
strong { 
	font-weight: 700;
	font-style: inherit;
	color: inherit;
}
html {
  overflow-y: scroll;
}
body {
	min-width: auto !important;
  font-family: var(--site-font-family-base);
  color: var(--site-color-black);
	box-sizing: border-box;
	scrollbar-gutter: stable;
}
body * {
	box-sizing: border-box;
}
a { 
	outline: none !important;
	color: var(--site-color-black);
}
sup { vertical-align: text-top;}
sub { vertical-align: text-bottom;}

/* lightbox.css override */
body:after { content: url(../../img/sys/close.png) url(../../img/sys/loading.gif) url(../../img/sys/prev.png) url(../../img/sys/next.png); display: none;}
body .lightboxOverlay { z-index: 9999999;}
body .lightbox { z-index: 100000;}

/* fade image in after load */
.lazyload { opacity: 0;}
.lazyloading { opacity: 1;}
.lazyloaded { opacity: 1; transition: opacity 200ms;}

/* balloontip */
.balloontip { color: #FFF;}
.balloon-content { color: #FFF;}

/* angle */
.block-icon-image--angle-right:after {
  content: '';
  width: 8px;
  height: 8px;
  margin: 0 5px 10px 0;
  border-top: var(--site-color-black) 1px solid;
  border-right: var(--site-color-black) 1px solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  display: inline-block;
}

/* ----------------------------------
 Headline
---------------------------------- */
h1, .h1 {
  margin: 0 0 20px;
  padding: 0;
  border: none;
  font-size: 20px;
  font-weight: 700;
	text-align: center;
  color: var(--site-color-black);
  background: none;
}
h1 + [class*="-message"] {
	font-size: 16px;
	font-weight: 400;
	line-height: 2.0;
}
h2, .h2 {
  margin: 0 0 15px;
  padding: 0;
  border: none;
  font-size: 18px;
  font-weight: 700;
  color: var(--site-color-black);
  background: none;
}
h3,
.h3 {
  margin: 0 0 15px;
  padding: 0;
  border: none;
  font-size: 18px;
  font-weight: 700;
  color: var(--site-color-black);
  background: none;
}
h4,
.h4 {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--site-color-black);
  border-bottom: 0;
  background: none;
}
h5,
.h5 {
  font-size: 14px;
  font-weight: 700;
  background: none;
}
h6,
.h6 {
  font-size: 14px;
  font-weight: 700;
  background: none;
}
.legend {
	padding: 0 0 7px 0;
	margin: 30px 0 15px;
	border-bottom: var(--site-color-black) 1px solid;
	font-size: 18px;
	font-weight: 700;
	background: none;
}

@media screen and (min-width: 769px) {
	h1, .h1 { margin: 0 0 30px; font-size: 26px;}
	h1 + [class*="-message"] { font-size: 18px; text-align: center; line-height: 2.0;}
	h2, .h2 { margin: 0 0 20px; font-size: 22px;}
	h3, .h3 { margin: 0 0 20px; font-size: 20px;}
	
	.legend { padding: 0 0 10px; margin: 40px 0 20px; font-size: 22px;}
}

/* ----------------------------------
 Cookie
---------------------------------- */
#cookieBox .block-cookie-consent--text { margin: 0 0 10px; color: #FFF;}
#cookieBox .block-cookie-consent--btn {
	min-width: 150px;
	height: 46px;
	padding: 0;
	border-radius: 46px;
	border: var(--site-color-green) 2px solid;
	font-size: 16px; 
	font-weight: 700;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--site-color-green);
	transition: var(--site-transition);
}
#cookieBox .block-cookie-consent--btn:hover { color: var(--site-color-green); background: #FFF;}

/* ----------------------------------
 SystemMessage
---------------------------------- */
.alert {
	max-width: 1260px;
  padding: 10px;
	margin: 20px auto;
  border: #ebccd1 1px solid;
	font-size: 16px;
  color: #a94442;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
  background: #f2dede;
  position: relative;
  overflow: hidden;
}
.alert::before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 5px 0 0;
	display: inline-block;
	background-color: transparent;
	background-image: url(../../img/sys/icon/alert.png);
	background-repeat: no-repeat;
	-webkit-background-size: 20px auto;
	background-size: 20px auto;
	background-position: center;
}

.success {
	max-width: 1260px;
  padding: 10px;
	margin: 20px auto;
  border: #bce8f1 1px solid;
	font-size: 16px;
  color: #31708f;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
  background: #d9edf7;
  position: relative;
  overflow: hidden;
}
.success::before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 5px 0 0;
	display: inline-block;
  background-color: transparent;
	background-image: url(../../img/sys/icon/success.png);
  background-repeat: no-repeat;
  -webkit-background-size: 20px auto;
  background-size: 20px auto;
  background-position: center;
}

/* ----------------------------------
 Price
---------------------------------- */
.price { font-family: var(--site-font-family-price); color: #081f2c;}
.price .yen_ { margin: 0 0 0 2px;}

.price::after,
.default-price::after { content: "(税込)"; word-break: keep-all;}
.price.pickup-parent-price::after { content: "(税込)～"; word-break: keep-all;}

.net::after,
.price.net::after,
.net-price::after,
.default-net::after { content: "(税抜)"; word-break: keep-all;}

.net-price { display: none !important;}

.default-price { margin-left: 8px; text-decoration: none !important; position: relative;}
.default-price::before { content: ''; border-top: var(--site-color-black) 1px solid; position: absolute; left: 0; right: 0; top: 52%;}

/* ----------------------------------
 Icon
---------------------------------- */
div.block-icon { padding: 0; margin: 0; border: none; display: flex; flex-wrap: wrap; gap: 5px;}
div.block-icon .text-icon {
  height: 20px;
  padding: 0 6px 1px;
	margin: 0;
  border: var(--site-border-solid);
  border-radius: 5px;
  font-size: 11px;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.0;
  color: var(--site-color-gray01);
  background: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
div.block-icon .image-icon { max-height: 20px; margin: 0; display: flex; justify-content: center; align-items: center;}
div.block-icon .image-icon img { width: auto; height: 20px; margin: 0 !important; vertical-align: top;}

div.block-icon .text-icon.block-icon--auto-on-sales    { border-color: #D83636; background: #D83636; font-weight: 700; color: #FFFFFF;}
div.block-icon .text-icon.block-icon--auto-reservation { border-color: #48A59A; background: #48A59A; color: #FFFFFF;}
div.block-icon .text-icon.block-icon--auto-new         { border-color: #FFEC00; background: #FFEC00; font-weight: 700; color: #D83636;}

@media screen and (min-width: 769px) {
	div.block-icon { gap: 8px;}
	div.block-icon .text-icon { height: 24px; font-size: 15px;}
	div.block-icon .image-icon { max-height: 24px;}
	div.block-icon .image-icon img { height: 24px;}
}

/* ----------------------------------
 Form Parts
---------------------------------- */
/* input */
input[type="text"],
input[type="tel"],
input[type="zip"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
	max-width: 100% !important;
  min-height: 42px;
  padding: 4px 10px;
  border: var(--site-border-solid);
  border-radius: 5px;
  outline: none;
	font-size: 16px;
	font-weight: 500;
  background-color: #FFF;
}
textarea { 
	font-size: 14px !important;
}
@media screen and (min-width: 769px) {
	textarea { font-size: 16px !important;}
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
	max-width: 100% !important;
  height: 42px;
  padding: 4px 20px 4px 12px;
  border: var(--site-border-solid);
  border-radius: 5px;
  outline: none;
	font-size: 16px;
	font-weight: 500;
  line-height: 32px;
  background-color: #FFF;
	background-image: url("../../img/usr/common/ico_select_bg.png"), linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(245, 245, 245, 1) 100%);
	background-repeat: no-repeat, repeat;
	background-position:  calc(100% - 8px) center, center;
	-webkit-background-size: 8px auto, cover;
	background-size: 8px auto, cover;
}
.qty-pulldown select {
	font-family: var(--site-font-family-price);
}

input[type="number"] {
	max-width: 100% !important;
  min-width: 50px;
  min-height: 42px;
  padding: 4px;
  border: var(--site-border-solid);
  border-radius: 5px;
  outline: none;
	font-size: 16px;
	font-weight: 500;
  background-color: #FFF;
  box-sizing: border-box;
}
input[type="text"][name="name"],
input[type="text"][name="name2"],
input[type="text"][name="s_name"],
input[type="text"][name="s_name2"],
input[type="text"][name="d_name"],
input[type="text"][name="d_name2"],
input[type="text"][name="kana"],
input[type="text"][name="kana2"],
input[type="text"][name="s_kana"],
input[type="text"][name="s_kana2"],
input[type="text"][name="d_kana"],
input[type="text"][name="d_kana2"] { width: 200px;}

@media screen and (min-width: 769px) {
	input[type="text"][name="promotion_code"],
	input[type="text"][name="coupon"] { width: 300px !important;}
}

/* radio */
input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  width: 20px;
  height: 20px;
  margin-bottom: 3px;
  margin-right: 5px;
  border: var(--site-border-solid);
  border-radius: 10px;
  background: #FFF;
  position: relative;
  outline: 0;
  transition: 0.3s;
}
input[type="radio"]:before {
  content: '';
  width: 10px;
  height: 10px;
  margin: 0;
  border: #FFF 1px solid;
  border-radius: 10px;
  position: absolute;
  left: calc(50% - 5px);
  top: calc(50% - 5px);
  display: block;
  background: #FFF;
  transition: 0.3s;
}
input[type="radio"]:checked {}
input[type="radio"]:checked:before { border: var(--site-color-green) 1px solid; background: var(--site-color-green);}
input[type="radio"]:checked + label { font-weight: 700;}

/* checkbox */
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  width: 20px;
  height: 20px;
  margin-bottom: 3px;
  margin-right: 5px;
  border: var(--site-border-solid);
	border-radius: 5px;
  background: #FFF;
  position: relative;
  outline: 0;
  transition: 0.3s;
}
input[type="checkbox"]:before { transition: 0.3s;}
input[type="checkbox"]:checked { border: var(--site-color-green) 1px solid; background: var(--site-color-green);}
input[type="checkbox"]:checked:before {
  content: '';
  width: 10px;
  height: 6px;
  margin: 0;
  border-right: #FFF 2px solid;
  border-top: #FFF 2px solid;
  transform: rotate(135deg);
  position: absolute;
  left: calc(50% - 5px);
  top: calc(50% - 4px);
  display: block;
}
input[type="checkbox"]:checked + label { font-weight: 700;}

select[name*="card_y"],
select[name*="year"],
select[name*="yy_"]  { min-width: 6em; text-align: center;}
select[name*="card_method"],
select[name*="card_divide"],
select[name*="card_m"],
select[name*="month"],
select[name*="date"],
select[name*="mm_"],
select[name*="dd_"] { min-width: 4em; text-align: center;}

/* ----------------------------------
 Fieldset
---------------------------------- */
/* テーブル */
.table { border: var(--site-border-solid); border-collapse: collapse;}
.table th { border: var(--site-border-solid); border-collapse: collapse; font-size: 14px; font-weight: 700; background: var(--site-color-light);}
.table td { padding: 10px; border: var(--site-border-solid); border-collapse: collapse; font-size: 14px;}

@media screen and (min-width: 769px) {
	.table th { font-size: 16px;}
	.table td { font-size: 16px;}
}

/* 縦型入力フォーム */
.fieldset-vertical { margin: 15px 0;}
.fieldset-vertical .form-group { width: 100%; margin: 0; border: var(--site-border-solid); display: flex; flex-wrap: wrap; background: var(--site-color-light);}
.fieldset-vertical .form-group + .form-group { border-top: none;}
.fieldset-vertical .form-label { width: calc(100% - 60px); padding: 10px 10px 10px 15px !important; margin: 0; font-size: 15px; text-align: left; background: var(--site-color-light); vertical-align: middle;}
.fieldset-vertical .form-label label { font-size: 15px; font-weight: 700;}
.fieldset-vertical .constraint { width: 60px; flex-basis: 60px; padding: 10px 15px 10px 10px !important; margin: 0; background: var(--site-color-light); float: none !important;}
.fieldset-vertical .form-control { width: 100%; padding: 10px 15px !important; font-size: 15px; display: block; background: #FFF; clear: both;}
.fieldset-vertical .form-control > br + span::before { content: ''; height: 10px; display: block;}

@media screen and (min-width: 769px) {
	.fieldset-vertical { margin: 20px 0;}
	.fieldset-vertical .form-group { width: 100%; background: #FFF;}
	.fieldset-vertical .form-label { width: 23%; min-width: 120px; padding: 10px 10px 10px 15px !important; font-size: 16px;}
	.fieldset-vertical .form-label label { font-size: 16px; font-weight: 700;}
	.fieldset-vertical .constraint { width: 60px; flex-basis: 60px; padding: 10px 10px 10px 0 !important; margin: 0; vertical-align: middle; float: none !important;}
	.fieldset-vertical .form-control { width: calc(77% - 60px); padding: 10px 15px !important; font-size: 16px; clear: both;}
}
@media screen and (min-width: 927px) {
	.block-order-method--host .fieldset-vertical .form-control > br + span::before { display: none;}
}

/* 横型入力フォーム */
.fieldset { width: 100%; margin: 15px 0; background: #FFF;}
.fieldset .form-group { width: 100%; margin: 0; border: var(--site-border-solid); display: flex; flex-wrap: wrap; background: var(--site-color-light);}
.fieldset .form-group + .form-group { border-top: none;}
.fieldset .form-label { width: calc(100% - 60px); padding: 10px 10px 10px 15px !important; font-size: 15px; text-align: left; background: var(--site-color-light); display: block;}
.fieldset .form-label label { font-size: 15px; font-weight: 700;}
.fieldset .constraint { width: 60px; padding: 10px 15px 10px 10px !important; background: var(--site-color-light); display: block;}
.fieldset .form-control { width: 100%; padding: 10px 15px !important; font-size: 15px; display: block; background: #FFF;}
.fieldset .form-control input[type="text"] { width: 100%;}

@media screen and (min-width: 769px) {
	.fieldset { width: 100%; margin: 20px 0; background: #FFF;}
	.fieldset .form-group { width: 100%; display: table; background: #FFF;}
	.fieldset .form-label { width: 23%; min-width: 120px; padding: 10px 10px 10px 15px !important; font-size: 16px; vertical-align: middle; display: table-cell;}
	.fieldset .form-label label { font-size: 16px; font-weight: 700;}
	.fieldset .constraint { width: 60px; padding: 10px 10px 10px 0 !important; vertical-align: middle; display: table-cell;}
	.fieldset .form-control { width: calc(77% - 60px); padding: 10px 15px !important; font-size: 16px; vertical-align: middle; display: table-cell;}
}

.form-control-design-vertical { display: inline-block;}
.form-control-design-vertical label {  display: block;}
.form-control-design-required { padding: 10px; border-radius: 3px; display: inline-block; background: var(--site-color-red);}
.form-control-design-vertical + p,
.form-control-design-vertical + div,
.form-control-design-required + p,
.form-control-design-required + div { margin-top: 10px;}

.form-control label { font-size: 15px;}
.form-control a { text-decoration: underline; transition: var(--site-transition);}
.form-control a:hover { opacity: var(--site-opacity);}
.form-control span.checktype_name,
.form-control span.checktype_kana { word-break: keep-all; display: inline-block;}
.form-control span.checktype_name label,
.form-control span.checktype_kana label { display: inline-block !important;}

.required:after {
  content: "必須";
  padding: 5px 7px;
  border-radius: 2px;
  font-size: 13px;
	font-weight: 700;
  text-align: center;
	line-height: 1.0;
  color: #FFF;
  white-space: nowrap;
  vertical-align: baseline;
  display: inline-block;
  background-color: var(--site-color-pink);
}
.help-block {
	font-size: 14px;
	color: var(--site-color-gray02);
}

/* ----------------------------------
 フォームパーツカスタマイズ（js）
---------------------------------- */
.input-label-wrapper { display: flex; flex-wrap: wrap; flex-direction: column; gap: 10px 0;}
.input-label-wrapper .input-label-unit { display: flex; flex-wrap: nowrap;}
.input-label-wrapper .input-label-unit input[type="radio"],
.input-label-wrapper .input-label-unit input[type="checkbox"] { margin: 0 10px 3px 0;}

@media screen and (min-width: 769px) {
	.input-label-wrapper { flex-direction: row; gap: 10px 20px;}
	.input-label-wrapper .input-label-unit input[type="radio"],
	.input-label-wrapper .input-label-unit input[type="checkbox"] { margin: 3px 10px 0 0;}
}

/* ----------------------------------
 エラー
---------------------------------- */
.form-error { color: var(--site-color-red);}

/* ----------------------------------
 パンくず
---------------------------------- */
.block-topic-path { padding: 20px 0; margin: 50px -15px 0 0 !important; border-top: none; font-size: 13px; background: none; overflow-x: scroll;}
.block-topic-path a { text-decoration: none;}
.block-topic-path--list { display: flex; flex-wrap: nowrap; align-items: center;}
.block-topic-path--list li { padding-right: 12px; font-size: 0; word-break: keep-all; white-space: nowrap; line-height: var(--line-height-low); position: relative;}
.block-topic-path--list li:not(:first-child) { padding-left: 12px;}
.block-topic-path--list li:not(:first-child)::before {
  content: '';
  width: 8px;
  height: 8px;
	margin: 0 0 0 10px;
  border-right: var(--site-color-gray02) 1px solid;
  border-top: var(--site-color-gray02) 1px solid;
  position: absolute;
	top: calc(50% - 3px);
	left: -12px;
  display: block;
  transform: rotate(45deg);
}
.block-topic-path--list a { padding-left: 12px; font-size: 13px; text-decoration: none; word-break: keep-all; white-space: nowrap; transition: var(--site-transition);}
.block-topic-path--list a:hover { color: var(--site-color-gray02);}
.block-topic-path--list .block-topic-path--item__home a {
	padding: 0 0 0 22px;
	font-size: 13px;
	text-decoration: underline;
	color: #000;
  background-color: transparent;
	background-image: url("../../img/usr/common/ico_home.png");
	background-repeat: no-repeat;
	background-position: left calc(50% + 1px);
	-webkit-background-size: 15px auto;
	background-size: 15px auto;
}
.block-topic-path--list .block-topic-path--item__home a:hover { text-decoration: none;}
.block-topic-path--list span { font-size: 13px; word-break: keep-all; white-space: nowrap;}
.block-topic-path--list span.block-topic-path--delimiter { font-size: 0; display: none;}

#topic_path_wrapper { padding: 0 15px;}
#topic_path_wrapper .block-topic-path { padding: 0 0 20px !important; margin: 0 -15px 0 0 !important;}

@media screen and (min-width: 769px) {
	.block-topic-path { margin: 50px 0 0 !important; overflow-x: inherit;}
	.block-topic-path--list { flex-wrap: wrap;}
	
	#topic_path_wrapper { max-width: 1720px; padding: 0 50px; margin: 0 auto;}
	#topic_path_wrapper .block-topic-path { margin: 0 !important;}
}

/* ----------------------------------
 一覧表示用 パラメータフレーム
---------------------------------- */
.block-goods-list-params { padding: 0; margin: 0 0 30px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0;}
.block-goods-list-params .block-goods-list-params-left   { width: calc(50% - 4px); order: 1;}
.block-goods-list-params .block-goods-list-params-center { width: 100%; display: flex; justify-content: center; align-items: center; order: 3;}
.block-goods-list-params .block-goods-list-params-right  { width: calc(50% - 4px); display: flex; justify-content: flex-end; align-items: center; gap: 8px; order: 2;}
.block-goods-list-params #block_of_filter .block-filter--header,
.block-goods-list-params #block_of_filter_stock_link,
.block-goods-list-params .block-goods-list--sort-order-items,
.block-goods-list-params .block-goods-list--display-style-items { 
	width: calc(50% - 4px);
	max-width: auto;
	min-width: auto;
	padding: 0;
	margin: 0;
	border: none;
	display: block;
	flex-grow: 0;
	position: relative;
}
.block-goods-list-params div.navipage_frame_ { margin: 20px 0 0;}

@media screen and (min-width: 769px) {
	.block-goods-list-params .block-goods-list-params-right  { gap: 15px;}
	.block-goods-list-params #block_of_filter .block-filter--header,
	.block-goods-list-params #block_of_filter_stock_link,
	.block-goods-list-params .block-goods-list--sort-order-items,
	.block-goods-list-params .block-goods-list--display-style-items { width: calc(50% - 7.5px);}
}
@media screen and (min-width: 1299px) {
	.block-goods-list-params { flex-wrap: nowrap;}
	.block-goods-list-params .block-goods-list-params-left   { width: 395px; order: 1;}
	.block-goods-list-params .block-goods-list-params-center { width: calc(100% - (395px * 2)); order: 2;}
	.block-goods-list-params .block-goods-list-params-right  { width: 395px; order: 3;}
	.block-goods-list-params div.navipage_frame_ { margin: 0;}
}

/* ----------------------------------
 並べ替え
---------------------------------- */
.block-goods-list--sort-order-item { display: none;}
.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-title {
	width: 100%;
	height: 64px;
	padding: 2px 0 0;
	border: var(--site-color-gray06) 2px solid;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color: var(--site-color-black);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--site-color-gray06);
	transition: var(--site-transition);
	cursor: pointer;
}
.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-title::before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 0 5px;
	display: block;
	background-color: transparent;
	background-image: url("../../img/usr/common/ico_sort.png");
	background-repeat: no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	background-position: center center;
}
.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-title:hover { border: var(--site-color-green) 2px solid;}
.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-title.open { border: var(--site-color-green) 2px solid; background: #FFF;}
.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-selectbox { display: none;}
.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-contents {
	width: calc(200% + 8px);
	padding: 5px;
	border: #D8D8D8 1px solid;
	border-radius: 8px;
	background: #FFF;
	position: absolute;
	top: 60px;
	right: 0;
	display: none;
	box-shadow: 0 3px 4px rgb(0,0,0,0.1);
	z-index: 5;
}
.block-goods-list-params .block-goods-list--sort-order-items ul.block-sort--list li + li { margin-top: 3px;}
.block-goods-list-params .block-goods-list--sort-order-items ul.block-sort--list a,
.block-goods-list-params .block-goods-list--sort-order-items ul.block-sort--list span {
	width: 100%;
	min-height: 28px;
	padding: 3px 3px 3px 30px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
	display: flex;
	align-items: center;
	position: relative;
	transition: var(--site-transition);
}
.block-goods-list-params .block-goods-list--sort-order-items ul.block-sort--list a:hover { background: var(--site-color-light);}
.block-goods-list-params .block-goods-list--sort-order-items ul.block-sort--list span {
	font-weight: 700;
	color: #FFF;
	background-color: var(--site-color-green);
	background-image: url("../../img/usr/common/ico_check.png");
	background-repeat: no-repeat;
	-webkit-background-size: 9px auto;
	background-size: 9px auto;
	background-position: 10px center;	
}

@media screen and (min-width: 769px) {
	.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-title { height: 46px; padding: 0; font-size: 16px; flex-direction: row;}
	.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-title::before { margin: 0 10px 0 0;}
	.block-goods-list-params .block-goods-list--sort-order-items .block-sort-items-contents { width: 100%; top: 44px;}
}

/* ----------------------------------
 表示方法
---------------------------------- */
.block-goods-list--display-style-items { display: none;}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title {
	width: 100%;
	height: 64px;
	padding: 2px 0 0;
	border: var(--site-color-gray06) 2px solid;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color: var(--site-color-black);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--site-color-gray06);
	transition: var(--site-transition);
	cursor: pointer;
}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title::before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 0 5px;
	display: block;
	background-color: transparent;
	background-image: url("../../img/usr/common/ico_style.png");
	background-repeat: no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	background-position: center center;
}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title[dstyle="P"]::before { background-image: url("../../img/usr/common/ico_style_p.png");}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title:hover { border: var(--site-color-green) 2px solid;}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title.open { border: var(--site-color-green) 2px solid; background: #FFF;}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-selectbox { display: none;}
.block-goods-list-params .block-goods-list--display-style-items .block-style-items-contents {
	width: calc(200% + 8px);
	padding: 5px;
	border: #D8D8D8 1px solid;
	border-radius: 8px;
	background: #FFF;
	position: absolute;
	top: 60px;
	right: 0;
	display: none;
	box-shadow: 0 3px 4px rgb(0,0,0,0.1);
	z-index: 5;
}
.block-goods-list-params .block-goods-list--display-style-items ul.block-style--list li + li { margin-top: 3px;}
.block-goods-list-params .block-goods-list--display-style-items ul.block-style--list a,
.block-goods-list-params .block-goods-list--display-style-items ul.block-style--list span {
	width: 100%;
	min-height: 28px;
	padding: 3px 3px 3px 30px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
	display: flex;
	align-items: center;
	position: relative;
	transition: var(--site-transition);
}
.block-goods-list-params .block-goods-list--display-style-items ul.block-style--list a:hover { background: var(--site-color-light);}
.block-goods-list-params .block-goods-list--display-style-items ul.block-style--list span {
	font-weight: 700;
	color: #FFF;
	background-color: var(--site-color-green);
	background-image: url("../../img/usr/common/ico_check.png");
	background-repeat: no-repeat;
	-webkit-background-size: 9px auto;
	background-size: 9px auto;
	background-position: 10px center;	
}

@media screen and (min-width: 769px) {
	.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title { height: 46px; padding: 0; font-size: 16px; flex-direction: row;}
	.block-goods-list-params .block-goods-list--display-style-items .block-style-items-title::before { margin: 0 10px 0 0;}
	.block-goods-list-params .block-goods-list--display-style-items .block-style-items-contents { width: 100%; top: 44px;}
}

/* ----------------------------------
 絞り込み
---------------------------------- */
#block_of_filter { padding: 0; margin: 0;}
#block_of_filter .block-filter--filter-form .block-filter--header-frame {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
}
#block_of_filter .block-filter--filter-form .block-filter--header {
	height: 64px;
	padding: 2px 0 0;
	border: var(--site-color-gray06) 2px solid;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color: var(--site-color-black);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--site-color-gray06);
	transition: var(--site-transition);
	position: relative;
	cursor: pointer;
}
#block_of_filter .block-filter--filter-form .block-filter--header::before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 0 5px;
	display: block;
	background-color: transparent;
	background-image: url("../../img/usr/common/ico_filter.png");
	background-repeat: no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	background-position: center center;
}
#block_of_filter .block-filter--filter-form .block-filter--header:hover { border: var(--site-color-green) 2px solid;}
#block_of_filter .block-filter--filter-form .block-filter--header.open { border: var(--site-color-green) 2px solid; background: #FFF;}
#block_of_filter .block-filter--filter-form .block-filter--header.filter-checked::after {
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 14px;
	background: var(--site-color-green);
	position: absolute;
	top: -4px;
	right: -4px; 
}

@media screen and (min-width: 769px) {
	#block_of_filter .block-filter--filter-form .block-filter--header-frame { gap: 15px;}
	#block_of_filter .block-filter--filter-form .block-filter--header { height: 46px; padding: 0; font-size: 16px; flex-direction: row;}
	#block_of_filter .block-filter--filter-form .block-filter--header::before { margin: 0 10px 0 0;}
}

#block_of_filter_stock_link span {
	height: 64px;
	padding: 2px 0 0;
	border: var(--site-color-gray06) 2px solid;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color: var(--site-color-black);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--site-color-gray06);
	transition: var(--site-transition);
	cursor: pointer;
}
#block_of_filter_stock_link span::before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 0 5px;
	display: block;
	background-color: transparent;
	background-image: url("../../img/usr/common/ico_checkbox.png");
	background-repeat: no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	background-position: center center;
}
#block_of_filter_stock_link span:hover { border: var(--site-color-green) 2px solid;}
#block_of_filter_stock_link.checked span::before { background-image: url("../../img/usr/common/ico_checkbox_on.png");}
#block_of_filter_stock_link.checked span { border: var(--site-color-green) 2px solid; background: #FFF;}

@media screen and (min-width: 769px) {
	#block_of_filter_stock_link span { height: 46px; padding: 0; font-size: 16px; flex-direction: row;}
	#block_of_filter_stock_link span::before { margin: 0 10px 0 0;}
}

/* モーダルの背景とフレーム */
html.filter-on { overflow-y: hidden;}
.block-filter--modal { display: none;}
.block-filter--modal .block-filter--frame-bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  cursor: pointer;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
	bottom: 0;
	z-index: 101;
}
.block-filter--modal .block-filter--frame-bg::before,
.block-filter--modal .block-filter--frame-bg::after { display: none;}
.block-filter--modal .block-filter--frame {
  width: calc(100% - 60px);
  height: 100%;
  max-height: none;
  padding: 0 0 90px;
  margin: 0;
  border-radius: 0;
  color: #FFF;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
	z-index: 200;
}
.block-filter--modal .block-filter--frame::-webkit-scrollbar { width: 0; height: 0;}
.block-filter--modal .block-filter--frame::-webkit-scrollbar-track { background-color: transparent;}
.block-filter--modal .block-filter--frame::-webkit-scrollbar-thumb { background-color: transparent;}
.block-filter--modal .block-filter--filter-items-wrap { max-height: calc(100% - 60px); padding: 0 0 25px; overflow-y: auto;}

@media screen and (min-width: 769px) {
	.block-filter--modal .block-filter--frame { max-width: 400px; padding: 0 0 70px;}
}

/* クリア・見出し・閉じる */
.block-filter--modal .block-filter--frame .block-filter--frame-header {
	width: 100%;
	height: 60px;
	padding: 0 10px;
	margin: 0;
	background: var(--site-color-green);
	font-size: 20px;
	font-weight: 700;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--frame-close {
  width: 60px;
  height: 60px;
  font-size: 0;
  color: var(--site-color-green);
  background: none;
  position: absolute;
  top: 0;
  right: -60px;
}
.block-filter--modal .block-filter--frame .block-filter--frame-close::before,
.block-filter--modal .block-filter--frame .block-filter--frame-close::after {
	content: '' !important;
	width: 26px !important;
	min-width: 26px !important;
	max-width: 26px !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-top: #FFF 2px solid !important;
	border-radius: 0 !important;
	display: block !important;
	background: none !important;
	position: absolute !important;
	top: calc(30px - 0.5px) !important;
	left: 17px !important;
	right: auto;
	bottom: auto;
}
.block-filter--modal .block-filter--frame .block-filter--frame-close::before { transform: rotate(45deg) !important;}
.block-filter--modal .block-filter--frame .block-filter--frame-close::after { transform: rotate(-45deg) !important;}
.block-filter--modal .block-filter--frame .filter-button--clear { width: 86px; display: block;}
.block-filter--modal .block-filter--frame .filter-button--clear .block-filter--clear-btn {
  width: 120px;
  height: 60px;
  padding: 0 0 0 20px;
	margin: 0;
	outline: none;
  border: none;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.0;
  text-align: center;
	text-decoration: underline;
  color: #FFF;
  display: flex;
	align-items: center;
  background: none;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (min-width: 769px) {
	.block-filter--modal .block-filter--frame .block-filter--frame-close { right: 0;}
}

/* 絞り込み各要素 タイトル */
.block-filter--modal .block-filter--list-item-container {
	height: 60px;
	border: none;
	font-size: 18px;
	font-weight: 700;
	color: var(--site-color-balck);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--site-color-gray06);
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--list-item { border: none; border-top: var(--site-border-solid); display: block;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--select-label {
	height: auto !important;
	padding-left: 20px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	display: inline !important;
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--expand-icon {
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--expand-icon div.block-icon-image-double-small {
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 22px;
	background: #FFF;
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--expand-icon div.block-icon-image-double-small::before,
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--expand-icon div.block-icon-image-double-small::after {
  content: '';
  width: 12px;
  height: 0;
  border-left: none;
  border-top: var(--site-color-gray02) 2px solid;
  background: none;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 6px);
  right: auto;
  transition: transform 0.3s, top 0.3s;
  transform: rotate(0deg);
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--expand-icon div.block-icon-image-double-small::after { transform: rotate(90deg);}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--expand-icon div.block-icon-image-double-small.block-icon-image--minus::after { transform: rotate(0deg);}

/* ツリー形式 */
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle { padding: 0 20px;}
.block-filter--modal .block-filter--frame .block-filter--treeitem-container {
	height: auto;
	min-height: 50px;
	border: none;
	font-size: 16px;
	font-weight: 400;
	color: var(--site-color-balck);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #FFF;
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-name {
	width: 100%;
	min-height: 50px;
	height: auto !important;
	padding: 5px 0 5px 35px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	display: flex !important;
	align-items: center;
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-name span,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-name span.block-filter--treeitem-selected { color: var(--site-color-black);}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-name span::before {
  content: '';
  width: 22px;
  height: 22px;
  border: #CCC 1px solid;
  border-radius: 22px;
  background: #FFF;
	display: block;
  position: absolute;
  top: calc(50% - 11px);
  left: 0;
  z-index: 1;
	box-shadow: inset 0 0 3px 3px rgb(0,0,0,0.05);
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-name span.block-filter--treeitem-selected::before {
	border: var(--site-color-green) 5px solid;
	box-shadow: none;
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-name span.block-filter--treeitem-selected::after { display: none;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-dir {
	width: 50px;
	height: 50px;
	padding: 0;
	margin: 0;
	border: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-dir div.block-icon-image-double-small {
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 22px;
	background: #FFF;
	position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-dir div.block-icon-image-double-small::before,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-dir div.block-icon-image-double-small::after {
  content: '';
  width: 12px;
  height: 0;
  border-left: none;
  border-top: var(--site-color-gray02) 2px solid;
  background: none;
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 6px);
  right: auto;
  transition: transform 0.3s, top 0.3s;
  transform: rotate(0deg);
}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-dir div.block-icon-image-double-small::after { transform: rotate(90deg);}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem-dir div.block-icon-image-double-small.block-icon-image--minus::after { transform: rotate(0deg);}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treelist-layer { border: 0;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle .block-filter--treeitem { padding: 0; border: 0; font-size: 16px; font-weight: 400;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-1 > .block-filter--treeitem + .block-filter--treeitem { border-top: var(--site-border-dotted);}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-2,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-3,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-4 { padding: 0 0 10px; margin: 0; border: 0; background: none;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-2 > .block-filter--treeitem { padding-left: 20px;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-3 > .block-filter--treeitem { padding-left: 20px;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-4 > .block-filter--treeitem { padding-left: 20px;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-2 > .block-filter--treeitem .block-filter--treeitem-container,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-3 > .block-filter--treeitem .block-filter--treeitem-container,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-4 > .block-filter--treeitem .block-filter--treeitem-container { min-height: 32px;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-2 > .block-filter--treeitem .block-filter--treeitem-name,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-3 > .block-filter--treeitem .block-filter--treeitem-name,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-4 > .block-filter--treeitem .block-filter--treeitem-name { min-height: 32px;}
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-2 > .block-filter--treeitem .block-filter--treeitem-dir,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-3 > .block-filter--treeitem .block-filter--treeitem-dir,
.block-filter--modal .block-filter--frame .block-filter--treelist-filterstyle ul.block-filter--tree-4 > .block-filter--treeitem .block-filter--treeitem-dir { min-height: 32px;}

/* チェックボックス */
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--filter-options { padding: 15px 20px; border: 0;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--filter-options .block-filter--element { display: block; border: none;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--filter-options .block-filter--element + .block-filter--element { border-top: var(--site-border-dotted);}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items { height: auto; min-height: 50px; padding: 0; display: block; background: none;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items label.checkbox {
	width: 100%;
  min-height: 50px;
  padding: 5px 0 5px 35px;
	margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  display: flex;
	align-items: center;
  position: relative;
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items label.checkbox::before {
  content: '';
  width: 22px;
  height: 22px;
  border: none !important;
  border-radius: 0;
	background-color: #FFF !important;
	background-image: url("../../img/usr/common/ico_checkbox.png") !important;
	background-repeat: no-repeat !important;
	-webkit-background-size: 100% auto !important;
	background-size: 100% auto !important;
	background-position: center center !important;
	display: block;
  position: absolute;
  top: calc(50% - 11px);
  left: 0;
  z-index: 1;
	box-shadow: inset 0 0 3px 3px rgb(0,0,0,0.05);
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items label.checkbox.checked::before {
	background-image: url("../../img/usr/common/ico_checkbox_on.png") !important;
	box-shadow: none;
}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items label.checkbox.checked::after { display: none;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items label.checkbox input[type="checkbox"] { display: none;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items.block-filter--image img { margin-right: 8px; vertical-align: middle;}
.block-filter--modal .block-filter--frame .block-filter--list-item .block-filter--option-items.block-filter--image span { display: inline-block; vertical-align: middle;}

/* セレクト */
.block-filter--modal .block-filter--frame .block-filter--select { height: auto; padding: 0; display: block;}
.block-filter--modal .block-filter--frame .block-filter--select select { width: 100%; min-width: 0; max-width: 100%; height: 50px; font-size: 16px; font-weight: 400;}

/* 絞り込む */
.block-filter--modal .block-filter--frame .filter-button { width: 100%; padding: 10px 30px; display: block; background: #F6F6F6; position: absolute; bottom: 0; left: 0; z-index: 99;}
.block-filter--modal .block-filter--frame .filter-button .filter-buttonr--search { width: 100%; padding: 0;}
.block-filter--modal .block-filter--frame .filter-button .filter-buttonr--search .block-filter--search-btn {
	width: 100%;
	height: 46px;
	padding: 0;
	border: 0;
	border-top: var(--site-border-solid);
	border-radius: 46px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.0;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--site-color-pink);
	transition: var(--site-transition);
}

@media screen and (min-width: 769px) {
	.block-filter--modal .block-filter--frame .filter-button { padding: 20px 50px;}
}

/* ----------------------------------
 ページャー
---------------------------------- */
div.pager { padding: 0; margin: 0; text-align: center;}
div[class*="--pager-top"],
div.pager[class*="--pager-top"] { padding: 0; margin: 30px 0;}
div[class*="--pager-bottom"],
div.pager[class*="--pager-bottom"] { padding: 0; margin: 30px 0;}
div.pager-total { padding: 0; margin: 0; text-align: center;}
div.pager-total .pager-count { font-size: 14px; font-weight: 400;}
div.pager-total .pager-count span { font-family: var(--site-font-family-price); font-size: 14px; font-weight: 400;}
div.block-goods-list-naviframe { text-align: center;}
div.block-goods-list-naviframe .count { text-align: center;}
div.block-goods-list-naviframe .pager-scope { padding: 0; margin: 0; font-family: var(--site-font-family-price); font-size: 14px; font-weight: 400;}
div.block-goods-list-naviframe .pager-total { padding: 0; margin: 0;}
div.block-goods-list-naviframe--top { padding: 0; margin: 0 0 30px;}
div.block-goods-list-naviframe--top:has(.block-goods-list-naviframe--sum span) { display: flex; justify-content: center; align-items: center; gap: 10px;}
div.block-goods-list-naviframe--bottom { padding: 0; margin: 50px 0;}
div.navipage_frame_ { margin: 20px 0; font-size: 0; text-align: left; display: flex !important; justify-content: center !important; align-items: center !important; gap: 10px;}
div.navipage_frame_ .navipage_sum_ { padding: 0; margin: 0; font-size: 14px;}
div.navipage_frame_ .navipage_sum_ span { margin: 0 3px 0 0; font-size: 14px; font-weight: 700;}
div.navipage_frame_ .navipage_reverse_ { padding: 0; margin: 0; display: flex; align-items: center; gap: 10px;}
div.navipage_frame_ .navipage_pages_   { padding: 0; margin: 0 10px; display: flex; align-items: center; gap: 10px;}
div.navipage_frame_ .navipage_forward_ { padding: 0; margin: 0; display: flex; align-items: center; gap: 10px;}
div.navipage_frame_ .navipage_pages_ li {
  width: 36px;
  height: 36px;
	margin: 0 !important;
	padding: 0 !important;
  border: none !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none !important;
}
div.navipage_frame_ .navipage_pages_ li.dots { font-size: 12px; font-weight: 700; text-align: center; color: var(--color-black);}
div.navipage_frame_ .navipage_pages_ li a { 
	width: 100%;
	height: 100%;
	padding: 0 0 3px;
	margin: 0;
	border: #F5F5F5 2px solid;
	border-radius: 36px;
	font-family: var(--site-font-family-price);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.0;
	color: var(--site-color-black);
	display: flex;
	justify-content: center;
	align-items: center;
	background: #F5F5F5;
	transition: var(--transition);
}
div.navipage_frame_ .navipage_pages_ li a:hover { border: var(--site-color-green) 2px solid; color: var(--site-color-green); background: #FFF; opacity: 1.0;}
div.navipage_frame_ .navipage_pages_ li.navipage_now_ span { 
	width: 100%;
	height: 100%;
	padding: 0 0 3px;
	margin: 0;
	border-radius: 36px;
	font-family: var(--site-font-family-price);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.0;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--site-color-green);
}
div.navipage_frame_ .navipage_reverse_ span.navipage_first_,
div.navipage_frame_ .navipage_reverse_ span.navipage_prev_,
div.navipage_frame_ .navipage_forward_ span.navipage_next_,
div.navipage_frame_ .navipage_forward_ span.navipage_last_ { width: 36px; height: 36px; background: none;}
div.navipage_frame_ .navipage_reverse_ span.navipage_prev_,
div.navipage_frame_ .navipage_forward_ span.navipage_next_ { display: none !important;}
div.navipage_frame_ .navipage_reverse_ .navipage_first_ a,
div.navipage_frame_ .navipage_reverse_ .navipage_prev_ a,
div.navipage_frame_ .navipage_forward_ .navipage_next_ a,
div.navipage_frame_ .navipage_forward_ .navipage_last_ a { 
	width: 100%;
	height: 100%;
	border-radius: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #F5F5F5;
	background-repeat: no-repeat;
	box-shadow: none;
	position: relative;
}
div.navipage_frame_ .navipage_reverse_ .navipage_first_ a::before,
div.navipage_frame_ .navipage_reverse_ .navipage_prev_ a::before,
div.navipage_frame_ .navipage_forward_ .navipage_next_ a::before,
div.navipage_frame_ .navipage_forward_ .navipage_last_ a::before {
  content: '';
	width: 17px;
	height: 17px;
	margin: 0;
	display: block;
	background-color: transparent;
	background-image: url("../../img/usr/common/ico_arrow.png");
	background-repeat: no-repeat;
	-webkit-background-size: 6px auto;
	background-size: 6px auto;
	background-position: center;
}
div.navipage_frame_ .navipage_reverse_ .navipage_first_ a::after,
div.navipage_frame_ .navipage_forward_ .navipage_last_ a::after { display: none !important;}
div.navipage_frame_ .navipage_reverse_ .navipage_first_ a::before { transform: rotate(-180deg);}

@media screen and (min-width: 769px) {
	div.pager { padding: 0; margin: 0; text-align: center;}
	div.pager-count { font-size: 18px;}
	div.pager-count span { font-size: 18px;}
	div.pager-total .pager-count { font-size: 18px;}
	div.pager-total .pager-count span { font-size: 18px;}
	div.block-goods-list-naviframe .pager-scope { font-size: 18px;}
	div.block-goods-list-naviframe--bottom { margin-top: 60px;}
	div.block-goods-list-naviframe--top:has(.count) { margin-bottom: 40px;}
}

/* ----------------------------------
 Button
---------------------------------- */
.action-buttons { 
	margin: 30px auto 0 !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
}
.btn,
input.btn,
input[type="submit"].btn,
input[type="button"].btn,
button.btn { 
	border-radius: 3px;
	font-size: 13px;
	transition: var(--site-transition);
}
.action .btn {
	width: 300px;
	min-width: auto;
	height: 56px;
	padding: 0;
	margin: 0;
	border-width: 1px;
	border-radius: 56px !important;
	font-size: 16px !important;
	font-weight: 700;
	text-align: center;
	white-space: normal;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: var(--site-transition);
}
.btn-default { border: var(--site-color-gray03) 1px solid; color: #FFF; background: var(--site-color-gray03);}
.btn-default:hover { opacity: var(--site-opacity);}
.btn-primary { border: var(--site-color-green) 1px solid; color: #FFF; background: var(--site-color-green);}
.btn-primary:hover { color: var(--site-color-green); background: #FFF;}
.btn-secondary { border: var(--site-color-gray03) 1px solid; color: #FFF; background: var(--site-color-gray03);}
.btn-secondary:hover { color: var(--site-color-gray03); background: #FFF;}
.btn-parts { border: var(--site-color-gray01) 1px solid; color: var(--site-color-gray01); background: #FFF;}
.btn-parts:hover { color: #FFF; background: var(--site-color-gray01);}
.btn-danger { border: var(--site-color-gray02) 1px solid; color: #FFF; background: var(--site-color-gray02);}
.btn-danger:hover { opacity: var(--site-opacity);}

@media screen and (min-width: 769px) {
	.action-buttons { margin: 40px auto 0 !important; flex-direction: row; gap: 20px;}
	.btn,
	input.btn,
	input[type="submit"].btn,
	input[type="button"].btn,
	button.btn { 
		font-size: 14px;
	}
	.action .btn { font-size: 20px !important;}
}

/* ---------------------------------------
 モーダルダイアログ
---------------------------------------- */
.modal-overlay { width: 100%; height: 100%; background-color: #000; position: fixed; top: 0; left: 0; z-index: 10000; opacity: 0.5;}
.modal-overlay-alert { width: 100%; height: 100%; background-color: #000; position: fixed; top: 0; left: 0; z-index: 10002; opacity: 0.5;}
.modal-alert { padding: 0 10px; width: 100%; max-width: 600px; z-index: 10003;}
.modal-dialog { width: 100%; max-width: 600px; padding: 0 10px; z-index: 10001;}
.modal-dialog, .modal-alert { height: fit-content; margin: auto; position: fixed; inset: 0;}
.modal-header { padding: 10px 20px; border-bottom: none; font-size: 16px; font-weight: 700; line-height: 1; color: #fff; background-color: #333; clear: both;}
.modal-content { border-radius: 10px; background: var(--site-color-gray06); box-shadow: 0 0 6px rgb(0,0,0,0.3); overflow: hidden;}
.modal-body { padding: 15px; max-height: 80vh; font-size: 14px; overflow-y: auto;}
.modal-body p { margin-bottom: 10px; font-size: 14px;}
.modal-footer { padding: 0 20px 20px;}
.modal-footer .btn { 
	width: 100%;
	height: 40px;
	padding: 0;
	margin: 5px 0 0;
	border-radius: 40px !important;
	font-size: 14px;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}
.modal-close { width: 18px; font-weight: 700; text-align: center; line-height: 1; color: #fff; display: block; float: right; cursor: pointer;}

@media screen and (min-width: 769px) {
	.modal-header { padding: 20px; font-size: 18px;}
	.modal-body { padding: 20px; max-height: 80vh; font-size: 16px; overflow-y: auto;}
	.modal-body p { font-size: 16px;}
	.modal-footer .btn { height: 46px; margin: 0; font-size: 16px;}
}

/* ---------------------------------------
 Swiper
---------------------------------------- */
svg.swiper-navigation-icon { display: none !important;}

/* ---------------------------------------
 ローディング
---------------------------------------- */
#loading { display: none;}
#loading.spinner { width: 100%; height: 100%; display: flex; justify-content: center; align-items: flex-start; background: #FFF; position: fixed; left: 0; z-index: 3;}
.spin-loader { margin-top: 50px; position: relative;}
.spin-loader > div { width: 5px; height: 15px; margin: 2px; border-radius: 2px; background: gray; -webkit-animation-fill-mode: both; animation-fill-mode: both; position: absolute;}
.spin-loader > div:nth-child(1) {
  top: 20px; left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -.84s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.84s infinite ease-in-out;
}
.spin-loader > div:nth-child(2) {
  top: 13.64px; left: 13.64px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -.72s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.72s infinite ease-in-out;
}
.spin-loader > div:nth-child(3) {
  top: 0; left: 20px; -webkit-transform: rotate(90deg); transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -.6s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.6s infinite ease-in-out;
}
.spin-loader > div:nth-child(4) {
  top: -13.64px; left: 13.64px; -webkit-transform: rotate(45deg); transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -.48s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.48s infinite ease-in-out;
}
.spin-loader > div:nth-child(5) {
  top: -20px; left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -.36s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.36s infinite ease-in-out;
}
.spin-loader > div:nth-child(6) {
  top: -13.64px; left: -13.64px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -.24s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.24s infinite ease-in-out;
}
.spin-loader > div:nth-child(7) {
  top: 0; left: -20px; -webkit-transform: rotate(90deg); transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -.12s infinite ease-in-out; animation: line-spin-fade-loader 1.2s -.12s infinite ease-in-out;
}
.spin-loader > div:nth-child(8) {
  top: 13.64px; left: -13.64px; -webkit-transform: rotate(45deg); transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out; animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
}
@keyframes line-spin-fade-loader {
  50%  { opacity: 0.3;}
  100% { opacity: 1.0;}
}
