/*-----------------------
共通 （2015-09-16 16:24 変更が消える問題の調査用）
-------------------------*/
@import url('animate.css');

@font-face {
  font-family: acms-admin-fonts;
  src: url(../fonts/acms-fonts-20161209.eot?807jko);
  src:
    url(../fonts/acms-fonts-20161209.eot?807jko#iefix) format('embedded-opentype'),
    url(../fonts/acms-fonts-20161209.ttf?807jko) format('truetype'),
    url(../fonts/acms-fonts-20161209.woff?807jko) format('woff'),
    url(../fonts/acms-fonts-20161209.svg?807jko#acms-fonts-20161209) format('svg');
  font-weight: 400;
  font-style: normal;
}

html:not(.no-smooth-scroll) {
  scroll-behavior: smooth;
  scroll-padding-top: calc(80px + 2rem); /* 80pxはヘッダーの高さ */
}

body {
  padding-top: 0px;
  font-family:
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,
    'ＭＳ Ｐゴシック', Helvetica, Arial, Verdana, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #333333;
}
@media screen and (max-width: 768px) {
  select,
  input[type='number'],
  input[type='text'],
  input[type='password'],
  input[type='tel'],
  input[type='email'],
  input[type='search'],
  textarea {
    font-size: 16px !important;
    line-height: normal;
  }
}
a:hover,
a:focus {
  text-decoration: none;
}
.alert.alert-danger.alert-hide {
  display: none;
}

.padTop {
  padding-top: 120px;
}

label {
  font-weight: normal;
}

.js-acms-login,
.js-acms-unlogin {
  display: none;
}

.acms-form select {
  font-size: 16px;
  padding: 11px 30px 11px 10px;
}

@media screen and (max-width: 768px) {
  .acms-form select {
    font-size: 16px;
  }
}
.mainParagraph {
  margin-bottom: 20px;
}
.cautionSpan {
  color: #ff0000;
}
.pcHeader.fixed + .container {
  margin-top: 120px;
  /*overflow-x: hidden;*/
}
.acms-entry .main {
  padding: 0;
}

.main.registMain {
  margin-left: 0;
}

.smallerSpan {
  font-size: 0.8em !important;
}

.flexslider .slides {
  padding: 0;
}

.flexslider .slides img {
  max-width: 100%;
  width: auto;
  margin: auto;
  display: block;
}

.container {
  width: 1170px;
}

.container {
  padding-right: 20px;
  padding-left: 20px;
}

/*.pcHeader .container{
	padding:0;
}*/

.wide-container {
  width: 95%;
  margin: 0 auto;
}

/*@media screen and (max-width: 768px) {
	.row.row-lg{
		margin-right:-20px;
		margin-left:-20px;
	}
}

@media screen and (max-width: 1200px) {
	.container{
		width: 970px;
	}
}
@media screen and (max-width: 992px) {
	.container{
		width: 750px;
	}
}*/

#adminBox {
  margin-bottom: 0px;
}

@media screen and (max-width: 768px) {
  .sp--block {
    display: block;
  }
}
/*-----------------------
bootstrapのオーバーライド
-------------------------*/
.img-responsive {
  width: inherit;
}

.input-group-addon {
  background-color: #666666;
  color: #ffffff;
  border-radius: 0;
}

.navbar-static-top {
  z-index: 998;
}

#js-edit_inplace-control button {
  height: inherit;
}
.form-group.form-group-block {
  display: block;
  margin-bottom: 10px;
}
.form-group.form-group-inlineBlock {
  display: inline-block;
  margin-bottom: 10px;
}
/* ----------------
alert
jsと連動してアニメーションさせています。
------------------ */
.alert {
  /*	background-color:#B94A48;
	color:#FFFFFF;*/
  /*-moz-animation: anime1 0.5s ease 0s 1 alternate;
	-webkit-animation: anime1 0.5s ease 0s 1 alternate;
	animation: anime1 0.5s ease 0s 1 alternate;*/
  -webkit-transition: opacity 0.5s ease;
  -moz-transition: opacity 0.5s ease;
  -ms-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 0;
}
.alert.active {
  opacity: 1;
}

.alert.alert-success {
  background-color: #d8ebbd;
  color: #69a800;
}
.alert.js-alert-transition {
  -webkit-animation: none;
  -moz-animation: none;
  -o-animation: none;
  animation: none;
  -webkit-transition: opacity 0.5s ease;
  -moz-transition: opacity 0.5s ease;
  -ms-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 0;
}
.alert.js-alert-transition.active {
  opacity: 1;
}

#cartBox {
  left: 0 !important;
  margin-top: -10px;
}

#cartBox .detailPopoverArrow {
  left: 45px;
}

#loginBox {
  left: 0 !important;
  margin-top: -10px;
}
/* ----------------------
ユーティリティ
------------------------ */

.acms-block {
  display: block;
}

.pad30 {
  margin: 30px 0 30px 0;
}

.bottom5 {
  margin-bottom: 5px;
}

.bottom10 {
  margin-bottom: 10px;
}

.bottom30 {
  margin-bottom: 30px;
}

.bottom50 {
  margin-bottom: 50px;
}
.top10 {
  margin-top: 10px;
}
.left0 {
  margin-left: 0 !important;
}
.right0 {
  margin-right: 0 !important;
}
.width100 {
  width: 100%;
}

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

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

.center {
  margin: 0 auto;
  position: relative;
}

center iframe {
  max-width: 100%;
}

.strong {
  font-weight: bold;
  font-size: 15px;
  line-height: 1.7;
}

/* ----------------------
パーツ類
----------------------- */

/*コピーライト*/

.copyright {
  font-family: Verdana, sans-serif;
  font-size: 10px;
  line-height: 2;
  margin: 0;
}

/* トピックパス */

.breadcrumb {
  margin: 0;
  padding: 0;
  font-size: 13px;
  background-color: #ffffff;
}

.breadcrumb > li {
  color: #999999;
  font-weight: normal;
}

.breadcrumb > li + li:before {
  padding: 0 5px;
  content: '>';
}

.breadcrumb > li > a {
  color: #999999;
}

.breadcrumb > li > a:hover {
  color: #6ca51e;
}
.breadcrumb.storecrumb > li:last-child {
  display: none;
}
/*.breadcrumb > li:last-child {
	display: none;
}*/

/* ラベル */

.badge {
  background-color: #6ca51e;
  border-radius: 2px;
}

.badge:hover {
  opacity: 0.7;
}

.acms-entry .badge a,
.acms-entry .badge a:link,
.acms-entry .badge a:active,
.acms-entry .badge a:visited {
  color: #ffffff;
}

.acms-entry .badge a:hover {
  color: #ffffff;
  text-decoration: none;
  background-color: #6ca51e;
}

.acms-entry .entryTag dt {
  float: left;
  margin-right: 5px;
  color: #999999;
  line-height: 1;
  font-weight: normal;
}

.acms-entry .entryTag dd {
  float: left;
  margin-right: 5px;
  margin-bottom: 0;
  line-height: 1;
}

.nav > li > a,
.nav-pills > li > a {
  padding: 0;
  color: #666;
}

.nav > li > a:hover,
.nav-pills > li > a:hover {
  padding: 0;
  color: #666;
  background: none;
  border-radius: 0;
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

/* .entry-container-slide 系(テーブルユニットの横スクロールラッパー)は
   本文用スタイルのため css/katsufujiya-editor.css へ移動 */

/*ボタン*/

.kf-btn {
  cursor: pointer;
  display: inline-block;
  padding: 14px 60px;
  border-radius: 4px;
  border: 1px solid #d6d6d6;
  background-color: #eeeeee;
  text-decoration: none;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.2;
  margin-left: 10px;
  color: #666666;
}

.kf-btn.kf-btn-nomargin {
  margin-left: 0px;
}

.orderTableCell .kf-btn:hover,
.kf-btn:hover,
.kf-btn.kf-btn-hover {
  border: 1px solid #a5a5a5;
  -moz-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  color: #666666;
  border: 1px solid #a7a7a7;
  background-color: #eeeeee;
  text-decoration: none;
}

.kf-btn.kf-btn-active,
.kf-btn:active {
  border: 1px solid #a6a6a6;
  background-color: #d6d6d6;
  box-shadow: inset 0 1px 2px #b2b2b2;
}

.kf-btn.kf-btn-sm {
  padding: 6px 13px 4px;
  vertical-align: top;
}
.kf-btn.kf-btn-xs {
  padding: 6px 13px 4px;
}
.kf-btn-block {
  display: block;
  width: 100%;
  margin: 0;
}

.kf-btn-login {
  display: block;
  width: 100%;
  margin: 0 0 10px;
}

.kf-btn.kf-btn-left0 {
  margin-left: 0;
}

.kf-btn.disabled,
.kf-btn:disabled,
fieldset:disabled .kf-btn {
  pointer-events: none;
  opacity: 0.65;
}

/*danger*/

.kf-btn.kf-btn-danger {
  color: #ffffff;
  background-color: #c31700;
  border: 1px solid #c31700;
}

.orderTableCell .kf-btn.kf-btn-danger:hover,
.kf-btn.kf-btn-danger:hover,
.kf-btn.kf-btn-hover.kf-btn-danger {
  color: #ffffff;
  background-color: #d71f00;
  border-color: #6d0d00;
}

.kf-btn.kf-btn-danger.kf-btn-active,
.kf-btn-danger.kf-btn:active {
  background-color: #c31700;
  border-color: #6c0d00;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#1a000000,Positive=true);
}

.kf-btn.kf-btn-danger2 {
  color: #c31700;
  background-color: #ffffff;
  border: 1px solid #c31700;
}

.orderTableCell .kf-btn.kf-btn-danger2:hover,
.kf-btn.kf-btn-danger2:hover,
.kf-btn.kf-btn-hover.kf-btn-danger2 {
  color: #ffffff;
  background-color: #c31700;
  border-color: #c31700;
}

.kf-btn.kf-btn-danger2.kf-btn-active,
.kf-btn-danger2.kf-btn:active {
  background-color: #c31700;
  border-color: #6c0d00;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#1a000000,Positive=true);
}

/*warning*/

.kf-btn.kf-btn-warning {
  color: #ffffff;
  background-color: #ffcb00;
  border: 1px solid #ffcb00;
}

.orderTableCell .kf-btn.kf-btn-warning:hover,
.kf-btn.kf-btn-warning:hover,
.kf-btn.kf-btn-hover.kf-btn-warning {
  color: #ffffff;
  background-color: #ffd123;
  border-color: #927300;
}

.kf-btn.kf-btn-warning.kf-btn-active,
.kf-btn-warning.kf-btn:active {
  background-color: #ffcb00;
  border-color: #927300;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/*primary*/

.kf-btn.kf-btn-primary,
a.kf-btn.kf-btn-primary {
  color: #ffffff;
  background-color: #ff8200;
  border: 1px solid #ff8200;
}

.kf-btn.pageActive {
  color: #ffffff;
  background-color: #999999;
}

.orderTableCell .kf-btn.kf-btn-primary:hover,
.kf-btn.kf-btn-primary:hover,
.kf-btn.kf-btn-hover.kf-btn-primary {
  background-color: #ff9336;
  border-color: #9b4700;
}

.kf-btn.kf-btn-primary.kf-btn-active,
.kf-btn-primary.kf-btn:active {
  background-color: #ff8200;
  border-color: #9b4700;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/*primary2*/
.kf-btn.kf-btn-primary2,
a.kf-btn.kf-btn-primary2 {
  color: #ffffff;
  background-color: #6aa900;
  border: 1px solid #6e9d29;
}
.orderTableCell .kf-btn.kf-btn-primary2:hover,
.kf-btn.kf-btn-primary2:hover,
.kf-btn.kf-btn-hover.kf-btn-primary2 {
  background-color: #70b300;
  border-color: #52751e;
}

.kf-btn.kf-btn-primary2.kf-btn-active,
.kf-btn-primary2.kf-btn:active {
  background-color: #6aa900;
  border-color: #52751e;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* カートボタン */
.kf-btn-cart {
  margin: 0;
}
.kf-btn.kf-btn-cart {
  font-size: 16px;
  padding: 8px 20px; /* 数量inputに高さを合わせる */
  background-color: #6aa900;
  border-color: #6e9d29;
}
.kf-btn.kf-btn-cart:hover {
  background-color: #70b300;
  border-color: #52751e;
}
.kf-btn-cart.kf-btn:active {
  background-color: #6aa900;
  border-color: #52751e;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}
.kf-btn.kf-btn-cart > .acms-icon {
  color: #fff;
  font-size: 16px;
}

/* 注文手続き */
.kf-btn.kf-btn-procedure,
a.kf-btn.kf-btn-procedure {
  color: #fff;
  background-color: #6aa900;
  border-color: #6e9d29;
}
.kf-btn.kf-btn-procedure:hover,
.kf-btn.kf-btn-hover.kf-btn-procedure {
  background-color: #70b300;
  border-color: #52751e;
}
.kf-btn.kf-btn-procedure.kf-btn-active,
.kf-btn.kf-btn-procedure:active {
  background-color: #6aa900;
  border-color: #52751e;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* ボタン（黒） */

.kf-btn-reverse {
  margin: 0;
  color: #ffffff;
  background-color: #666666;
  border: 0;
}

.orderTableCell .kf-btn.kf-btn-reverse:hover,
.kf-btn-reverse:hover,
.kf-btn-hover.kf-btn-reverse {
  color: #ffffff;
  background-color: #777777;
  border: 0;
}

.kf-btn-reverse.kf-btn-active,
.kf-btn-reverse.kf-btn:active {
  background-color: #666666;
  border-color: 0;
  -moz-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow:
    0px 1px 1px rgba(0, 0, 0, 0.1),
    inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* ボタン（白） */

.kf-btn.kf-btn-plain {
  background-color: #fff;
  border: 1px solid #d6d6d6;
}

.kf-btn.kf-btn-plain,
.kf-btn.kf-btn-plain:link,
.kf-btn.kf-btn-plain:visited,
.kf-btn.kf-btn-plain:hover,
.kf-btn.kf-btn-plain:focus,
.kf-btn.kf-btn-plain:active {
  color: #333;
}

.kf-btn.kf-btn-plain:hover,
.kf-btn.kf-btn-plain:focus,
.kf-btn.kf-btn-plain:active {
  background-color: #fff;
  border-color: #a7a7a7;
}

/*label.css*/

.kf-label {
  display: inline-block;
  padding: 4px 7px 3px;
  border-radius: 3px;
  background-color: #999999;
  color: #ffffff;
  font-size: 12px;
  vertical-align: middle;
  line-height: 1;
  display: inline-block;
  font-weight: normal;
  margin-bottom: 3px;
  appearance: none;
  border: none;
}
.strong .kf-label {
  margin-top: -4px;
}
.kf-label a {
  color: #fff !important;
  background-color: inherit !important;
}

.kf-label a:hover {
  text-decoration: none;
}

.kf-label-success {
  background-color: #6ca702;
}

.kf-label-info {
  background-color: #0095d9;
}

.kf-label-limited {
  background-color: #0095d9;
}

.kf-label-outlet {
  background-color: #ff6633;
}

.kf-label-specialprice {
  background-color: #ff6633;
}

.kf-label-season {
  background-color: #0095d9;
}

.kf-label-primary {
  background-color: #68699b;
}

.kf-label-bto {
  background-color: #0095d9;
}

.kf-label-preorder {
  background-color: #0095d9;
}

.kf-label-pinch {
  background-color: #f8b500;
}

.kf-label-danger {
  background-color: #e2041b;
}

.kf-label-psuspension {
  background-color: #00008b;
}

/*.kf-label-stop {
	background-color: #E2041B;
}*/

.kf-label-pause {
  background-color: #e2041b;
}

.kf-label-soldout {
  background-color: #333333;
}

.kf-label-discontinued {
  background-color: #333333;
}

.kf-label-abolition {
  background-color: #333333;
}

.kf-label-disable {
  background-color: #cccccc !important;
}

.kf-label-comingsoon {
  background-color: #e2041b;
}

.kf-label-undecided {
  background-color: #e2041b;
}

.kf-label-ordersclosed {
  background-color: #e2041b;
}

.kf-label.kf-label-circle {
  border-radius: 15px;
  margin-top: -2px;
  vertical-align: top;
}
.kf-label-lg {
  font-size: 15px;
}
.kf-label-left {
  margin-left: 0 !important;
}
/*テーブル*/

/*注文履歴ページで利用*/

.kf-bt-table {
  font-size: 13px;
  line-height: 1.5;
  border-top: 2px solid #cccccc;
}

.kf-bt-table th {
  padding: 10px 0;
  font-weight: normal;
  text-align: center;
}

.kf-bt-table td,
.kf-bt-table > tbody > tr > td {
  padding: 10px 0;
  vertical-align: middle;
}

.tdNoWrap {
  white-space: nowrap;
}

/* シンボルフォント */

.acms-icon {
  margin: 0;
  padding: 0;
  font-size: inherit;
  text-rendering: auto;
}
.headerIcon {
  margin-top: -2px;
}

/* -----------------
フォーム
------------------ */
.formBtnBox {
  margin-top: 40px;
  margin-bottom: 40px;
}
.textNext {
  padding: 0 10px 0 0;
}

/* フォーム用のテーブル */

.formTable {
  width: 100%;
  margin: 0 0 15px 0;
  border-collapse: collapse;
}

.formTable td,
.acms-form .formTable td {
  border: 1px solid #cccccc;
  vertical-align: middle;
  padding: 10px;
}

.formTable th {
  border: 1px solid #cccccc;
  background-color: #eeeeee;
  text-align: center;
  vertical-align: middle;
  padding: 18px 20px;
  line-height: 1.2;
  font-size: 13px;
  min-width: 220px;
}

.formTable .explanation {
  padding-left: 7px;
  background-color: #eeeeee;
}

.formTable .detail {
  font-size: 13px;
  color: #999999;
  margin: 0;
}

.formTable .detail.detailBr {
  display: block;
}

.formTextInput,
.acms-form input.formTextInput {
  height: 38px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 15px;
  line-height: 38px;
}
.formTextInput.formTextInputLong {
  width: 490px;
}
.formTextInput.formTextInputMemberField {
  width: 400px;
}

.formTextInput.formTextInputMemberLoginTIme {
  width: 200px;
}
.formTextInput::-webkit-input-placeholder {
  color: #ccc;
}
.formTextInput:-ms-input-placeholder {
  color: #ccc;
  font-weight: normal;
}
.formTextInput::-moz-placeholder {
  color: #ccc;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .formTextInput.formTextInputLong {
    width: 100%;
  }
}
.formTextInput.formTextInputSm {
  height: 27px;
  padding: 5px;
}

.formTable textarea.formTextarea,
.formTextarea {
  /*height:38px;*/
  margin: 0;
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .formTextarea {
    font-size: 16px;
  }
}

.formTable select,
.formSelect,
.acms-form select.formSelect {
  /*margin: 5px 0;*/
  padding: 5px 10px;
  border: solid 1px #bbb;
  line-height: 25.5px;
  border-radius: 4px;
  background: #ffffff; /* Old browsers */ /* Firefox v3.6+ */
  background-image: -moz-linear-gradient(
    -180deg,
    rgb(254, 254, 254) 0%,
    rgb(230, 230, 230) 100%
  ); /* safari v4.0+ and by Chrome v3.0+ */
  background-image: -webkit-gradient(
    linear,
    50% 0%,
    50% 100%,
    color-stop(0, rgb(254, 254, 254)),
    color-stop(1, rgb(230, 230, 230))
  ); /* Chrome v10.0+ and by safari nightly build*/
  background-image: -webkit-linear-gradient(rgb(254, 254, 254) 0%, rgb(230, 230, 230) 100%); /* Opera v11.10+ */
  background-image: -o-linear-gradient(-180deg, rgb(254, 254, 254) 0%, rgb(230, 230, 230) 100%); /* IE v10+ */
  background-image: -ms-linear-gradient(-180deg, rgb(254, 254, 254) 0%, rgb(230, 230, 230) 100%);
  background-image: linear-gradient(-180deg, rgb(254, 254, 254) 0%, rgb(230, 230, 230) 100%);
  font-size: 15px;
  -webkit-appearance: button;
}

.formTable .formTextArea {
  width: 100%;
  border-radius: 0px;
  border: 1px solid #ccc;
}

.acms-entry .required {
  color: #ff0000;
}

.formTable .required {
  color: #ff0000;
  font-size: 12px;
}

.formTable label {
  margin-bottom: 0;
}

.formTable th label {
  font-weight: bold;
}

.formTable .formCheckList {
  padding-left: 0px;
}

.formTable .formCheckList li {
  list-style-type: none;
}

.formTable .formCheckList li:before {
  background: none;
  padding-left: 0;
}

.kf-formControl {
  border-radius: 0;
}

.formContactZip {
  width: 150px;
}

.formContactTel {
  width: 200px;
}

/* ---------------
 modal-window
--------------- */

.kf-modal {
  /*padding: 20px 20px 30px 20px;*/
  padding: 20px;
  background-color: #ffffff; /*width:640px;
	height:300px;*/
  -moz-box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
  -ms-filter: 'progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=3,Color=#4d000000,Positive=true)';
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=3,Color=#4d000000,Positive=true);
}

.kf-modal .kf-modal-dismiss {
  /*padding:0px 5px;*/
  float: right;
  width: 20px;
  height: 20px;
  background-color: #666666;
  cursor: pointer;
  color: #ffffff;
  border-radius: 3px;
  font-size: 18px;
  line-height: 1.1;
  text-align: center;
}

.kf-modal .kf-modal-dismiss:hover {
  background-color: #333;
  text-decoration: none;
}

.kf-modal-heading {
  border-bottom: 2px solid #cccccc;
  margin-bottom: 14px;
}

.modal-headingTitle {
  margin: 0 0 20px 0;
  font-size: 20px;
  color: #333;
  line-height: 1.2;
  font-weight: bold;
}

/* ---------------
	select box

	bootstrapの
	input-groupを
	使っています。
--------------- */

.kf-btn.kf-btn-search {
  color: #ffffff;
  background-color: #666666;
  padding: 0;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  vertical-align: middle;
}

.input-group .kf-input {
  height: 34px;
  float: left;
}

.input-group .searchBox {
  width: 1%;
  font-size: 0;
  white-space: nowrap;
  display: table-cell;
  position: relative;
  vertical-align: middle;
}

.input-group .kf-btn-search {
  margin: 0; /*float:right;*/
  float: left;
  border-radius: 0;
  border: 0;
}

.kf-btn-search .fa-search {
  padding: 7px 0;
  font-size: 14px;
  line-height: 1.2;
  vertical-align: middle;
}

.kf-btn.kf-btn-logout {
  color: #ffffff;
  background-color: #666666;
}

.kf-btn-sm-todetail {
  width: 60px;
}
@media screen and (max-width: 768px) {
  .kf-btn-sm.kf-btn-sm-block.kf-btn-sm-todetail {
    margin-bottom: 15px;
    margin-top: 5px;
  }
}

/*.formTable select,*/

/*検索系*/

.searchFormWrapper {
  padding: 10px;
}

.search-form .kf-select {
  font-size: 13px;
  padding: 0px 14px 0px 14px;
  margin-bottom: 0;
  color: #666666;
  line-height: 1.5;
  width: 100%;
  height: 34px;
  border: 1px solid #999999;
  border-radius: 1px;
  padding-left: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #eeeeee;
}

@media screen and (max-width: 768px) {
  .search-form .kf-select {
    font-size: 16px;
  }
}

.kf-input.searchInput {
  width: 100%;
  margin: 10px 0 10px 0;
  display: table-cell;
}

.searchFormTop {
  margin: 30px 40px 0 0;
}

.searchCollapse {
  padding: 20px;
  background: #eeeeee;
  max-height: 74px;
}

.searchArea {
  margin-right: -115px;
  margin-left: -115px; /*position:absolute;*/
}

.searchCollapse .search-form {
  width: 400px;
  float: right;
}

.search-form .toggleBtn {
  margin-right: 15px;
}

.acms-grid-r .searchResultContainer .headline1 {
  padding: 0;
  margin-bottom: 30px;
}

.searchResultContainer .amount {
  display: inline-block;
  margin-left: 25px;
  font-size: 15px;
  font-weight: normal;
}

.acms-grid-r .searchResultContainerWithLine .headline1 {
  border-bottom: 1px solid #dddddd;
  padding-bottom: 10px;
}

@media screen and (max-width: 480px) {
  .searchResultContainer .amount {
    display: block;
    margin-top: 15px;
    margin-left: 0;
  }
}

.formTable .input-group input,
.kf-input {
  margin: 0;
  border-radius: 0;
  height: 31px;
}

.formTable .input-group .kf-btn {
  border-radius: 0;
  border: 0;
}

.formTable .input-group .formTable select:hover {
  background: #eeeeee url(../images/caret.png) no-repeat right;
}

/* ----------------------
カレンダー
----------------------- */

.calendarWrapper {
  margin-bottom: 20px;
}

.calendar {
  display: block;
  max-width: 100%;
  margin: 0 auto 30px;
  padding: 13px 8px 23px 8px;
  background: #fff;
}

.footer .calendar {
  background: none;
  border: none;
  padding-right: 0;
  padding-left: 0;
  margin-bottom: 0;
}

.footerCalendarWrapper {
  display: table-cell;
  vertical-align: top;
  padding: 0 30px 0 15px;
  width: 280px;
  max-width: 280px;
}

.footerNavWrap {
  display: table-cell;
  flex: 1;
  box-sizing: border-box;
  padding-left: 30px;
}

.footerSectionTitle {
  font-size: 16px;
  line-height: 1.5;
  font-weight: bold;
  margin: 0 0 10px;
  text-align: left;
}

.footerSectionTitle a,
.footerSectionTitle a:visited {
  color: #333;
}

.footerSectionTitle a:hover {
  color: #6ca51e;
  /*background-color: #F0F6E7;*/
  text-decoration: none;
}

.calendarMonth {
  color: #333;
  font-size: 14px;
  text-align: center;
  line-height: 1.7;
  margin-bottom: 0;
}

.calendarDay {
  padding: 8px;
  color: #999;
  font-size: 9px;
  line-height: 1.7;
}

.calendarTable {
  width: 100%;
  height: 100%;
  border-collapse: separate;
  border-spacing: 2px;
}

.calendarDay th {
  width: 14.28%;
  text-align: center;
}

.calendarSunday {
  color: #ff4d4d;
}

.calendarDate td.noonDay {
  background-color: #97d5ff;
}

.calendarDate {
  color: #333;
  font-size: 11px;
  line-height: 2.3;
}

.calendarDate td {
  width: 14.28%;
  font-size: 12px;
  border-radius: 2px;
  text-align: center;
  vertical-align: center;
}
.calendarDate .w0,
.calendarDate .w1,
.calendarDate .w2,
.calendarDate .w3,
.calendarDate .w4,
.calendarDate .w5,
.calendarDate .w6 {
  background-color: #b1d67a;
}

.calendarDate td.openDay {
  background-color: #ffffff;
}

.footer .calendarDate td.openDay {
  background-color: #f0f0f0;
}

.kf-btn.calendarNextBtn {
  margin-right: 0px;
}
.kf-btn.calendarPrevBtn {
  margin-left: 0px;
}

.calendarDate td.today {
  /*r*/
  position: relative;
  /*background-color: #FF8200;*/
  /*color: #FFFFFF;*/
}
.today:after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #ff8200;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  margin-top: -4px;
  left: 0;
  bottom: 0;
}
.calendarDate td.nonActive.w0,
.calendarDate td.nonActive.w1,
.calendarDate td.nonActive.w2,
.calendarDate td.nonActive.w3,
.calendarDate td.nonActive.w4,
.calendarDate td.nonActive.w5,
.calendarDate td.nonActive.w6,
.calendarDate td.nonActive.w0,
.calendarDate td.nonActive.today {
  color: #bcc6ad;
  background: #d8ebbd;
}
.calendarDate td.nonActive.openDay {
  background: #ffffff;
}
.calendarDate td.nonActive.today.noonDay {
  background: #cbeaff;
  color: #bcc6ad;
}

.calendarDate td.active,
.calendarDate td.openDay.active {
  color: #ffffff !important;
  background-color: #ff8200 !important;
}

.businessHours {
  margin-top: 15px;
  float: right;
}

.businessHoursLabel {
  float: left;
  line-height: 1.9;
  font-size: 12px;
  margin-right: 5px;
}

.businessdayLabel {
  float: left;
  width: 105px;
  font-size: 11px;
  line-height: 1.6;
}
.businessdayLabelSp {
  float: left;
  font-size: 11px;
  line-height: 1.7;
  padding: 2px 5px;
  background: #b1d67a;
  height: 23px;
}
.businessdayLabel:before {
  content: '';
  display: block;
  float: left;
  background-color: #b1d67a;
  margin-top: -2px;
  margin-right: 5px;
  height: 20px;
  width: 27px;
}

.noondayLabel {
  float: left;
  /*margin-left: 10px;*/
  font-size: 11px;
  line-height: 1.6;
}
.noondayLabelSp {
  float: left;
  margin-left: 5px;
  width: 80px;
  font-size: 11px;
  line-height: 1.7;
  padding: 2px 5px;
  background: #97d5ff;
  height: 23px;
}
.noondayLabel:before {
  content: '';
  display: block;
  float: left;
  background-color: #97d5ff;
  margin-top: -2px;
  margin-right: 5px;
  height: 20px;
  width: 27px;
}

/*ここです*/

@media screen and (max-width: 630px) {
  .calendarIndex {
    width: 50%;
  }
}

/*-----------------------
header
-------------------------*/

.pcHeading {
  margin: 0px;
}

.pcHeader {
  padding: 15px 0 15px;
  background-color: transparent;
  border-bottom: #e6e6e6 solid 1px;
  margin-bottom: 20px;
  z-index: 999;
  transition: padding 0.5s ease;
  color: #333;
  font-size: 14px;
  line-height: 1.2;
  border-bottom: none;
}

.pcHeader.fixed {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  padding: 0px 20px;
  position: fixed;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  top: 0px;
  width: 100%;
  transition: box-shadow 0.1s ease-out;
}

.pcHeader .rightNav {
  float: right;
  position: relative;
  padding: 30px 0 8px 0;
  margin: 0;
  /*margin-right: 15px;*/
  font-size: 14px;
  font-weight: bold;
}

.pcHeader .leftNav {
  float: left;
  position: relative;
  padding: 30px 0 8px 0;
  margin: 0;
  font-size: 14px;
  font-weight: bold;
}

.pcHeader ul {
  /*margin:0px;*/
  padding: 0px;
}

.pcHeader .leftNav li {
  list-style-type: none;
  margin-right: 50px;
  position: relative;
  float: left;
  font-size: 14px;
  font-weight: bold;
}

.pcHeader .rightNav li {
  float: left;
  position: relative;
  list-style-type: none;
  margin-left: 50px;
}

.pcHeader .centerNav {
  width: 100px;
}

.pcHeader .logoNav {
  width: 108px;
  /*margin-left: 15px;*/
}
.pcHeader .logoNav img {
  height: 80px !important;
}
@media screen and (max-width: 991px) {
  .pcHeader .logoNav img {
    height: 50px !important;
  }
}

.pcHeader .popupParent li a {
  color: #333333;
  text-decoration: none;
}

.pcHeader .popupParent li a:hover {
  opacity: 0.5;
}

.pcHeader.fixed.topHeader {
  box-shadow: 0 0;
}

.pcHeader .acms-icon {
  margin-top: -5px;
}

/*popupMenu*/

.popupContent {
  position: absolute;
  color: #333333;
  top: 10px;
  left: -20px;
  display: none;
}

.open {
  display: block !important;
}

.popupParent {
  position: relative;
}

.js_acmsPopupToggle {
  cursor: pointer;
}

.popoverCartListImage {
  width: 48px;
}

.header {
  position: relative;
  margin-bottom: 30px;
  background-color: #ffffff;
  padding: 0 15px 0 15px;
  height: 80px;
  padding-top: 15px;
  text-align: center;
  display: none;
}

.header .searchWrapper {
  position: absolute;
  top: 20px;
  right: 20px;
}

.siteTitle {
  padding: 0;
  margin: 0 15px 15px 15px;
}

.headerLogo {
  width: 100%;
  height: 100%;
}

.headerLogo:hover {
  background-color: transparent;
}

.header .btn {
  margin: 30px 0 0 0;
}

.topImageContainer {
  margin-top: -40px;
}

.pcHeader.fixed + .topImageContainer {
  margin-top: 100px;
}

.topImageContainer .flexslider {
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  border: 0;
}

.topImageContainer .flexslider {
  margin: 0px auto 40px auto;
}

/* ----------------------
メイン
----------------------- */
/* 本文テーブル(.acms-entry 配下)のスタイルは css/katsufujiya-editor.css が定義元。
   ここに残すのはEC画面用テーブル(.orderPanelBody / .kf-table)のみ。 */
.orderPanelBody table,
.kf-table {
  width: 100%;
  margin: 0 0 15px;
  /*border-collapse: collapse;*/
}

.orderPanelBody table dt,
.orderPanelBody table dd,
.kf-table dt,
.kf-table dd {
  margin-bottom: 0px;
  line-height: 1.7;
  font-size: 15px;
  float: left;
}

.orderPanelBody table dt,
.kf-table dt {
  width: 30%;
}

.orderPanelBody table dd,
.kf-table dd {
  width: 69%;
}

.orderPanelBody table td,
.kf-table td {
  border: 1px solid #cccccc;
  vertical-align: middle;
  padding: 15px 20px;
}

.orderPanelBody table th,
.kf-table th {
  border: 1px solid #cccccc;
  background-color: #eeeeee;
  text-align: center;
  vertical-align: middle;
  padding: 10px 20px;
  white-space: nowrap;
}

/* td/th 内の要素（p, 見出し等）に付く左右マージンを打ち消し、下マージンは最後の要素以外に限定する */
.orderPanelBody table td > *,
.orderPanelBody table th > *,
.kf-table td > *,
.kf-table th > * {
  margin-left: 0;
  margin-right: 0;
}

.orderPanelBody table td > *:last-child,
.orderPanelBody table th > *:last-child,
.kf-table td > *:last-child,
.kf-table th > *:last-child {
  margin-bottom: 0;
}

.kf-table.kf-table-admin th {
  font-size: 13px;
}

.kf-table.kf-table-admin td {
  padding: 5px;
  font-size: 13px;
}

.acms-entry ul {
  margin-left: -20px;
  padding-right: 10px;
}

.acms-entry li:last-child {
  margin-bottom: 0;
}

.acms-entry ol li {
  list-style-type: decimal;
  padding-left: 0;
  background: none;
}

.orderInfoBack li a,
.orderInfoBack li a:visited,
.acms-entry li a,
.acms-entry li a:visited {
  color: #6ca51e;
}

/* スクロールするテーブル(.acms-table-scrollable / .js-table-unit-scroll-hint)は
   本文用スタイルのため css/katsufujiya-editor.css へ移動 */

/*.acms-grid-r {
	margin: 0;
}*/

.acms-entry a,
.acms-entry a:visited,
.itemInfoBox .itemInfoText a,
.itemInfoBox .itemInfoText a:visited {
  color: #6ca51e;
}

.acms-entry a:hover,
.itemInfoBox .itemInfoText a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
}

.acms-entry a:hover img {
  background-color: transparent;
}
.acms-entry a.acms-btn-admin {
  color: #333333;
}
.acms-entry a.kf-btn {
  color: #ffffff;
}
.acms-entry a.kf-btn:active {
  color: #ffffff;
}
.acms-entry [class*='column-image-'] a:hover,
.acms-entry [class*='column-media-'] a:hover,
.acms-entry [class*='column-map-'] a:hover,
.acms-entry [class*='column-yolp-'] a:hover,
.acms-entry [class*='column-youtube-'] a:hover,
.acms-entry [class*='column-video-'] a:hover,
.acms-entry [class*='column-eximage-'] a:hover {
  background-color: transparent;
}

.acms-entry [class*='column-image-'],
.acms-entry [class*='column-media-'],
.acms-entry [class*='column-map-'],
.acms-entry [class*='column-yolp-'],
.acms-entry [class*='column-youtube-'],
.acms-entry [class*='column-video-'],
.acms-entry [class*='column-eximage-'] {
  margin-bottom: 10px;
}

.acms-entry a:active {
  color: #6ca51e;
}

.orderInfoBack p,
.acms-entry p {
  margin-bottom: 20px;
  /*padding-left: 0;*/
}

.acms-entry p.main {
  margin-bottom: 10px;
  margin-left: 0;
}

.acms-entry h1,
.headline1 {
  font-size: 24px;
  margin-bottom: 32px;
  font-weight: bold;
  line-height: 1.2;
  font-family:
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,
    'ＭＳ Ｐゴシック', Helvetica, Arial, Verdana, sans-serif;
}
.headline1.headlineUpper {
  margin-top: 0;
}
.acms-grid-r .headline1 {
  padding-left: 10px;
  padding-right: 10px;
}
.headline1.headline1404 {
  text-align: center;
}
.p404 {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .headline1.headline1404 {
    text-align: left;
  }
  .p404 {
    text-align: left;
  }
}

.headlineRuby {
  display: inline-block;
}

.acms-entry h2,
.orderInfoBack h2,
.orderWarningSection h2,
.headline2 {
  margin: 20px 0;
  font-size: 18px;
  font-weight: bold;
  border-left: 5px solid #6aa900;
  padding-left: 15px;
  line-height: 1.2;
  margin-bottom: 40px;
  font-family:
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,
    'ＭＳ Ｐゴシック', Helvetica, Arial, Verdana, sans-serif;
}
.acms-entry h2,
.orderInfoBack h2 {
  margin-left: 10px;
  margin-right: 10px;
}

.acms-entry h3,
.orderInfoBack h3,
.headline3 {
  margin: 15px 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  font-family:
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,
    'ＭＳ Ｐゴシック', Helvetica, Arial, Verdana, sans-serif;
}
.acms-entry h3 {
  padding: 10px 0;
  border-bottom: 2px solid #6aa900;
}

.acms-entry h4,
.acms-entry h5,
.acms-entry h6,
.headline4,
.haddline5,
.haddline6 {
  padding: 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  font-family:
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,
    'ＭＳ Ｐゴシック', Helvetica, Arial, Verdana, sans-serif;
}

.acms-entry dt {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.7;
}

.acms-entry p + h2,
.acms-entry p + h3,
.acms-entry p + h4,
.acms-entry p + h5,
.acms-entry p + h6 {
  margin-top: 2em;
}
.acms-entry hr + h2,
.acms-entry hr + h3,
.acms-entry hr + h4,
.acms-entry hr + h5,
.acms-entry hr + h6 {
  margin-top: 2em;
}

.acms-entry .acms-col-4 hr + h2,
.acms-entry .acms-col-4 hr + h3,
.acms-entry .acms-col-6 hr + h2,
.acms-entry .acms-col-6 hr + h3 {
  margin-top: 10px;
}
.acms-entry .acms-col-4 hr + h4,
.acms-entry .acms-col-4 hr + h5,
.acms-entry .acms-col-4 hr + h6,
.acms-entry .acms-col-6 hr + h4,
.acms-entry .acms-col-6 hr + h5,
.acms-entry .acms-col-6 hr + h6 {
  margin-top: 10px;
}

.acms-entry ul + h2,
.acms-entry ul + h3,
.acms-entry ul + h4,
.acms-entry ul + h5,
.acms-entry ul + h6 {
  margin-top: 2em;
}
.acms-entry ol + h2,
.acms-entry ol + h3,
.acms-entry ol + h4,
.acms-entry ol + h5,
.acms-entry ol + h6 {
  margin-top: 2em;
}
/* テーブル：見出し / 見出し：テーブル の間隔調整は
   本文用スタイルのため css/katsufujiya-editor.css へ移動 */
/* 段落：リスト : 間隔調整 */
.acms-entry p + ul,
.acms-entry p + ol {
  /*margin-top: -10px;*/
}

/*.acms-entry .entryTitle{
	margin-left:10px;
}*/

.acms-entry .entryTitle a {
  color: #333333;
  text-decoration: none;
  margin-top: 22px;
}

.acms-entry .entryTitle a:hover {
  color: #6ca51e;
}

.acms-entry .caption {
  font-size: 12px;
}

.entryTitle.entryTitleUpper {
  margin-top: 0px;
}

.acms-entry .column-file-center a:hover,
.acms-entry .column-file-auto a:hover,
.acms-entry .column-file-left a:hover,
.acms-entry .column-file-right a:hover {
  background-color: transparent;
}

.acms-entry a:hover img {
  opacity: 0.7;
}

.acms-entry.storeEntry li,
.acms-entry.storeEntry p {
  font-size: 13px;
  line-height: 1.7;
}

.orderInfoBack em,
.acms-entry.storeEntry em,
.acms-entry em {
  font-weight: bold;
  font-style: normal;
  color: #333333;
}

.orderWarningSection strong,
.orderInfoBack strong,
.acms-entry strong,
.acms-entry.storeEntry strong {
  font-style: normal;
  color: #ff0000;
}

.acms-entry.storeEntry h2 {
  border-left: 5px solid #6aa900;
  padding-left: 15px;
  color: #333333;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.7;
  margin-left: 10px;
}

.acms-entry .entryInfo .date {
  margin-left: 0;
}

/*-----------------------
serial Naviのスタイリング
-------------------------*/

/*clearfixと一緒に使ってください*/
.serialNavi {
  width: 100%;
  /*margin: -20px 0 30px 0;*/
  margin: 0 0 30px 0;
  padding: 20px 0 10px 0;
}

.serialNavi.-search {
  margin-top: 30px;
}

.acms-entry .serialNavi a {
  color: #666666;
}
.serialNavi .prev {
  float: left;
  text-align: left;
  position: relative;
  padding-left: 40px;
  height: 100%;
  background: url(../images/prev_page.png) left center no-repeat;
  width: 40%;
}

.serialNavi .next {
  float: right;
  text-align: right;
  position: relative;
  padding-right: 40px;
  height: 100%;
  background: url(../images/next_page.png) right center no-repeat;
  width: 40%;
}
.serialNavi .prev p,
.serialNavi .next p {
  color: #333;
}

.serialNavi .prev:hover {
  opacity: 0.7;
}

.serialNavi .next:hover {
  opacity: 0.7;
}

.serialNaviText {
  margin: 0;
  color: #333333;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.7;
}

/*.serialNaviText:hover{
	color:#6CA51E;
}*/

.serialNaviTitle {
  margin: 5px 0 0 0;
  display: block;
  color: #666;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.7;
}

/*.acms-entry h1{
	font-size:26px;
	font-weight:bold;
	margin:15px 0 30px 10px;
}
.acms-entry h2{
	font-size:20px;
	font-weight: bold;
	margin:5px 0 20px 0;
}*/

.acms-entry h1 + .entryInfo {
  margin-top: -25px;
  color: #666666;
  font-size: 13px;
  line-height: 1.7;
  margin-left: 0;
}

.entryInfo .date {
  /*font-family: Verdana, sans-serif;*/
  margin-left: 10px;
}

/* entryTable */

/* 一覧用タイトル */

.indexTitle {
  margin: 0 0 25px 10px;
  font-size: 16px;
  color: #333;
  line-height: 2;
  font-weight: bold;
}

.indexTitle a,
.indexTitle a:visited {
  color: #333;
}

.indexTitle a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.indexTitle a:active {
  color: #6ca51e;
}

.entryTable {
  width: 100%;
}

.row.entryTable {
  margin: 0 0 30px 0;
}

.entryItem {
  float: left;
  padding: 15px 15px 0 15px;
  line-height: 1.7;
  border-right: 1px solid #dddddd;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.entryItem a {
  color: #333333;
}

.entryItem:nth-child(3n) {
  /*border-right:none;*/ /*padding-right:0;*/
}

.entryItem a:hover {
  opacity: 0.7;
  text-decoration: none;
}

.mobile .entryItem a:hover {
  opacity: 1;
}

.entryTableTitle {
  margin-top: 5px;
  font-size: 15px;
  line-height: 1.5;
  font-weight: bold;
}

.entryTableSummary {
  width: 100%;
  color: #666666;
  font-size: 13px;
  height: 1.7;
}

.entryTable .date {
  /*font-family: Verdana, sans-serif;*/
  color: #666666;
  font-size: 13px;
  line-height: 1.1;
}
.entryTable .entryDate {
  /*font-family: Verdana, sans-serif;*/
  color: #666666;
  font-size: 13px;
  line-height: 1.1;
  margin-bottom: 0;
}
.entryTable .img {
  padding: 15px 0;
  /*border-bottom: 1px solid #DDDDDD;*/
}

.entryTable > a,
.entryItem a {
  display: block;
  height: 100%;
  background: #fff;
  border-bottom: 1px solid #dddddd;
}

.entryTable img {
  margin: 0 auto;
  width: 100%;
  height: auto;
}

/* ページャー */

.entryPagerContainer {
  position: relative;
}

.entryPage {
  width: 300px;
  margin: 0 auto;
  padding: 0;
}

.entryPageList {
  float: left;
  list-style: none;
}

.entryPagerFront {
  position: absolute;
  left: 0;
  float: left;
}

.entryPagerBack {
  position: absolute;
  right: 0;
  float: left;
}

.entryListAjax {
  display: none;
}
.entryListAjax.threeTimes {
  display: block;
}

.pagerLink {
  padding: 15px 15px 10px;
}

.pagerLink.cur {
  background-color: #b1d67a;
}

.categorySummary {
  margin-bottom: 20px;
}

/* 関連カテゴリー */

/*.categoryTable {
	margin-bottom: 20px;
}*/

.categoryItem {
  width: 25%;
  padding: 15px 10px 0 10px;
  border-right: 1px solid #dddddd;
  overflow-y: hidden;
}

.categoryItem[data-inventory-status='in_stock'] [data-label-cart-add='on'] {
  display: none;
}

/*.categoryItem.bl-hover {
	opacity: 0.7;
}*/

/*.categoryItem:nth-child(3n){
	border-right: 1px solid #FFFFFF;
}*/

.categoryItem img:hover {
  opacity: 0.7;
}

.categoryTable img,
.categoryList img {
  margin: 0 auto;
  padding: 20px;
}

.categoryTable .catName {
  margin: 0 auto;
  padding: 10px 0 10px 0;
  /*border-bottom: 1px solid #DDDDDD;*/
  font-weight: bold;
  font-size: 13px;
  line-height: 1.3;
}

.categoryTable .catName a:link,
.categoryTable .catName a:visited {
  color: #333333;
}

.categoryTable .catName a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.categoryTable .catName a:active {
  color: #6ca51e;
}

/*.categoryItem .breadcrumb {
	margin: 0 0 10px 0;
}*/

.categoryItem .breadcrumb > li {
  font-size: 11px;
}

.categoryComment {
  margin: 0;
  color: #333;
  font-size: 13px;
  line-height: 1.7;
}

.customerLoginComment {
  color: #6ca51e;
  font-size: 13px;
  line-height: 1.5;
  border: 1px solid #6ca51e;
  padding: 10px;
  margin-top: 10px;
}

#customerBox {
  left: 0 !important;
  margin-top: -10px;
}

/*-----------------------
お問い合わせ
-------------------------*/

.kf-table-contact th {
  width: 30%;
  font-size: 13px;
  line-height: 1.7;
}

.kf-table-contact th label {
  font-weight: bold;
}

.bottomMarginSm {
  margin-bottom: 5px;
}

/* お知らせメッセージ */

.productsComment,
.noticeMessage,
.acms-entry .noticeMessage {
  padding: 15px 15px;
  font-size: 13px;
  line-height: 1.7;
  color: #d42100;
  background: #fbe8e5;
}
.categoryAlertComment {
  font-size: 12px;
  line-height: 1.7;
  color: #ff0000;
}
.categoryAlertComment.-entry {
  border: 1px solid #ff0000;
  padding: 10px;
}
.categoryAlertComment p:before {
  content: '※';
}
.categoryAlertComment p {
  margin: 0;
}
.noticeMessage {
  margin-bottom: 20px;
  border-radius: 5px;
}

.noticeList {
  padding-left: 10px;
  margin: 0 !important;
}

.noticeList li:before {
  content: none;
}

/*-----------------------
トピックス
-------------------------*/

.topicEntry {
  margin-bottom: 40px;
  padding-bottom: 15px;
  border-bottom: 1px solid #dddddd;
}
.topicReadmoreBox {
  text-align: center;
  padding: 15px;
}
.topicEntry:last-child,
.topicEntryOnlyWrapper .topicEntry {
  margin-bottom: 0px;
}

.topicEntryWrapper .topicEntry:last-child {
  margin-bottom: 0px;
  border-bottom: 1px solid #dddddd;
}

.readMore {
  padding: 10px;
  display: inline-block;
  float: right;
  margin: 10px 0 10px;
}

.readMoreIcon {
  margin-left: 10px;
  margin-top: -3px;
}

@media screen and (max-width: 768px) {
  .readMoreTitle {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .topicEntryWrapper .acms-grid-r .acms-entry [class*='acms-col'] {
    float: inherit;
    width: inherit;
  }
}

/*-----------------------
ネットストア
-------------------------*/

/*更新情報一覧*/

.renewalEntryHeadline {
  width: 100%;
  padding: 10px 0;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  list-style: none;
}

.renewalEntryHeadlineList {
  float: left;
  width: 50%;
  padding: 8px 0 8px 10px;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.5;
  display: inline-block;
}

.renewalEntryHeadlineList a {
  text-decoration: none;
  color: #333333;
  display: block;
  float: left;
  width: 80%;
}

.renewalEntryHeadlineList.bl-hover,
.renewalEntryHeadlineList.bl-hover a {
  color: #6ca51e;
  background: #f0f6e7;
}

.renewalEntryHeadlineDate {
  width: 20%;
  float: left;
  font-weight: normal;
  font-size: 12px;
}

.renewalEntryHeadlineLabel {
  margin: -3px 10px 0 0;
}
.renewalEntrySidebarLabel {
  margin: -3px 5px 0 0;
}
.moreRenewal {
  height: 30px;
  padding-right: 20px;
  margin-bottom: 40px;
  background: url(../images/more_renewal_arrow.png) right center no-repeat;
}
.renewalEntryHeadline {
  column-count: 2;
  -webkit-column-count: 2;
  -o-column-count: 2;
  -moz-column-count: 2;
  -ms-column-count: 2;
  padding: 10px 0 0 0;
}
.renewalEntryHeadlineList {
  width: 100%;
  line-height: 1;
  float: none;
}
.renewalEntryHeadlineList a {
  margin-top: -3px;
  line-height: 1.5;
}
.renewalEntryHeadlineList:after {
  content: '';
  clear: both;
  display: block;
}

.moreRenewal p {
  float: right;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: #333333;
}

.moreRenewal a:link,
.moreRenewal a:visited {
  color: #666666;
}

.moreRenewal a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.moreRenewal a:active {
  color: #6ca51e;
}

.headline1 {
  font-size: 26px;
  margin: 30px 0 10px 0;
  font-weight: bold;
}

.headline1 a {
  color: #333333;
}

.headline1 small {
  font-size: 13px;
  font-weight: normal;
}

.headelineRuby {
  color: #333;
  font-size: 11px;
}

.productLargeImgContainer {
  padding: 30px 0 0 0;
}

.productImg {
  max-width: 100%;
  height: auto;
}

/* カテゴリーリスト */

.categoryList {
  margin-top: 30px;
}

.categoryItem .caption {
  font-weight: bold;
  padding: 0;
  border-bottom: 1px solid #dddddd;
  line-height: 1.3;
}

.categoryItem .caption a:link,
.categoryItem .caption a:visited {
  color: #333333;
}

.categoryItem .caption a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
}

.categoryItem .caption a:active {
  color: #6ca51e;
}

/* 顧客メニュー */

.customerMenu {
  padding-left: 15px;
  font-size: 13px;
  line-height: 1.5;
  margin: 20px 5px 40px 0px;
}

.customerMenu {
  width: 100%;
}

/* ポップオーバー */

.detailPopoverArrow,
.detailPopoverArrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.detailPopoverArrow {
  /*left: 50%;
	margin-left: -11px;*/
  left: 15px;
  border-width: 11px;
  border-top-width: 0;
  border-bottom-color: #999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}

a.refLink:link,
a.refLink:visited,
a.refLink:active {
  color: #6ca51e;
}

a.refLink:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.detailPopoverArrow:after {
  content: ' ';
  top: 1px;
  margin-left: -10px;
  border-width: 10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}

.detailPopover.popoverCart {
  left: 52px;
}

.detailPopoverCart > .detailPopoverArrow {
  left: auto;
  right: 15px;
}

.detailPopoverSearch > .detailPopoverArrow {
  left: auto;
  right: 15px;
}

.detailPopover {
  display: none;
  float: left;
  width: 260px;
  margin: 20px;
  top: 50px;
  z-index: 998;
  max-width: 276px;
  padding: 20px 9px 10px;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  white-space: normal;
}

.customerMenuUserName:link,
.customerMenuUserName:visited {
  color: #666;
}

.customerMenuUserName:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.customerMenuUserName:active {
  color: #6ca51e;
}

/* 顧客のポップオーバー */

.detailPopoverCustomer {
  width: 220px;
}

.popoverListContainer {
  list-style: none;
  margin: 0 0 10px 0;
  padding: 0;
}

.detailPopoverCustomer .popoverListContainer {
  margin-bottom: 10px;
}

.pcHeader .popupParent .detailPopoverCustomer li {
  float: none;
  margin-left: 10px;
}

.pcHeader .popupParent .detailPopoverCustomer li a {
  color: #333333;
}

.popoverList {
  margin: 0 10px;
  font-size: 13px;
  font-weight: bold;
  line-height: 2.2;
  color: #333;
}

.popoverCartList.bl-hover {
  background: #f0f6e7;
}

.popoverList a {
  color: #333;
}

.popoverList a:hover {
  background: 0;
}

.popoverCart {
  width: 300px;
  padding: 15px 9px 5px 9px;
}

.popoverCartListContainer {
  margin: 0 0 5px 0;
  padding: 0;
}

.popoverCartList {
  list-style: none;
  clear: both;
  padding: 5px 0;
  margin-left: 0 !important;
}

.popoverCartListImage {
  float: left;
  max-width: 60px;
  padding: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.popoverCartListImage img {
  max-width: 100%;
  height: auto;
}

.popoverCartListName {
  float: left;
  width: 150px;
  padding: 0 10px;
  line-height: 1.2;
}

.popoverCartListLink {
  font-size: 13px;
  line-height: 1.2;
  color: #333;
}

.popoverCartListNum {
  /*font-family: Verdana, sans-serif;*/
  float: left;
  width: 30px;
  text-align: right;
  font-size: 13px;
  line-height: 1.2;
  color: #333;
}

.detailPopover.detailPopoverSearch {
  margin-left: 20px;
  left: 84px;
}

.popoverCart > .detailPopoverArrow {
  left: 67%;
}

.detailPopover .popoverProfile {
  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  padding-left: 10px;
  margin-bottom: 10px;
}

.popOverSearchInput {
  width: 200px;
}

/*注文履歴ページ*/

.price {
  font-weight: bold;
  font-size: 20px;
  line-height: 1.5;
  display: inline-block;
}

.addressBox {
  /*border-top: 1px solid #cccccc;*/
  border-bottom: 1px solid #cccccc;
  margin-bottom: 20px; /*padding:25px 20px 25px 20px;*/
  padding: 10px;
  color: #333333;
  font-size: 13px;
  line-height: 1.7;
}

.addressBoxGroup {
  margin-bottom: 20px;
}

.addressBoxGroup .addressBox {
  margin-bottom: 0px;
}

.addressBox p {
  margin-bottom: 0px;
}

.addressBox p:first-child {
  margin-bottom: 0;
}

.addressBoxHaisousaki {
  font-size: 15px;
}

.alternateItemText {
  color: #e2041b;
}

.alternateItemLink:hover {
  text-decoration: underline !important;
  text-decoration-color: #e2041b !important;
}

.alternateItemIcon {
  color: #e2041b;
}

/* 代替商品リンクを独立したブロックにして margin で行間を制御する（KATSU-1068）。
   直前に <br> を置く方式だと、直前の要素がブロック要素（</p> や itemMemoWrap の </div> 等）
   の場合にブロック境界の改行と <br> の改行が重なって空行に見えてしまうため、
   前後の構成に依存しないこの方式に統一する（_favoriteList.html・historyList.html で使用） */
.alternateItemLinkRow {
  margin-top: 2px;
}

/*スマホで見た時のカスタマーメニュー（注文履歴など）*/

.menuHeader {
  height: 48px;
  cursor: pointer;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  background-color: #ffffff;
  background: url(../images/plus_icon.png) right center no-repeat;
  padding: 11px 20px 15px 15px;
}

.menuHeadder:hover {
  opacity: 0.7;
}

.collapseNav {
  background-color: #eeeeee;
  padding: 0;
}

.collapseNav li {
  list-style-type: none;
  border-bottom: 1px solid #cccccc;
  background: url(../images/sidebar_arrow.png) right center no-repeat;
  font-weight: normal;
  line-height: 1.2;
  font-size: 14px;
  padding: 15px 15px;
  -moz-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}

.collapseNav li:hover {
  background-color: #ddd;
}

.collapseNav li a {
  color: #333;
  text-decoration: none;
}

.logoutBox {
  background-color: #eeeeee;
  padding: 10px 30px;
  border-bottom: 1px solid #dddddd;
}

.cartBox {
  padding: 10px 20px;
}

.navbar-collapse {
  padding: 0;
}

.customerSelect {
  font-size: 13px;
  line-height: 1.5;
  width: 300px;
  height: 30px;
  border: 1px solid #999999;
  margin-bottom: 10px;
  border-radius: 1px;
  padding-left: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url(../images/caret.png) no-repeat right;
}

/*bootstrapのnav nav-pillsと一緒に使ってください*/

.shopMenu {
  font-size: 13px;
  line-height: 1.5;
  padding-right: 20px;
}

.shopMenu li + li {
  margin-left: 20px;
}

.thumbnailBox {
  position: relative;
  width: 175px;
  height: 45px;
  margin: 0 auto 30px auto;
}

.thumbnailBox .thumbnail {
  border-radius: 0;
  height: 45px;
  margin: 0;
  padding: 0;
  float: left;
  width: 57px;
}

.thumbnailBox .thumbnail img {
  max-width: 100%;
  height: auto;
}

/* 商品詳細 */

/* flexslider */

.productSlider {
  /*width:100%;*/
  margin: 0 auto;
  border-radius: 0;
  border: 0;
  box-shadow: none; /*overflow-x:hidden;*/
}

.flexslider.productSlider .slides img.productImgB {
  max-width: 700px;
  width: 100%;
}

.entry_imgB {
  width: 50%;
}

/* flexslide サムネイル */

.flex-control-thumbs {
  clear: both;
  text-align: center;
  margin: 10px auto 20px;
}

.flex-control-thumbs li {
  list-style: none;
  display: inline-block;
  border-radius: 0;
  border: 1px solid #ddd;
  float: none;
  width: auto;
  opacity: 0.7;
}
.flex-control-thumbs li:hover {
  opacity: 1;
}
.flex-control-thumbs .flex-active {
  opacity: 1;
}
.flex-control-thumbs img {
  max-height: 100%;
  height: auto;
  width: 42px;
  opacity: 1;
}
.flex-direction-nav a {
  width: 50px;
  height: 80px;
}

.flex-direction-nav a.flex-next:before {
  content: '';
  width: 50px;
  height: 80px;
  background: url(../images/flexslider_right.png);
}

.flex-direction-nav a.flex-prev:before {
  content: '';
  width: 50px;
  height: 80px;
  background: url(../images/flexslider_left.png);
}

.productSlider .slides li {
  height: 100%;
}

.flex-direction-nav a {
  top: 40%;
}

/* .acms-entry .table > tbody > tr > th は本文用スタイルのため
   css/katsufujiya-editor.css へ移動 */

.borderless > thead > tr > th,
.borderless > tbody > tr > th,
.borderless > tfoot > tr > th,
.borderless > thead > tr > td,
.borderless > tbody > tr > td,
.borderless > tfoot > tr > td {
  border: 0;
}

.table.itemInfoTable th {
  width: 80px;
}

.itemInfoBox {
  background-color: #eeeeee;
  border-radius: 5px;
  padding: 0 20px;
  margin-bottom: 20px;
}

.itemInfoBox .itemInfo {
  padding: 20px 0 5px 0;
  border-bottom: 1px solid #cccccc;
}

.itemInfoBox .itemInfo:last-child {
  border-bottom: 0;
}

.itemInfoBox .itemInfoHeading {
  color: #333333;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 15px;
}

.itemInfoBox .itemInfoText {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 15px;
  color: #333333;
}

.itemInfoBox .itemInfoText h4 {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  font-family:
    'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,
    'ＭＳ Ｐゴシック', Helvetica, Arial, Verdana, sans-serif;
}

.itemContactBox {
  clear: both;
  border-radius: 3px;
  padding: 20px 0;
  text-align: center;
  /*border-top: 1px solid #CCCCCC;*/
  /*border-bottom: 1px solid #CCCCCC;*/
  /*margin-top: 20px;*/
  margin-bottom: -1px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.itemContactBox > * {
  margin-bottom: 20px;
}

.itemContactBox > form {
  display: contents;
}

.itemContactBox.itemContactBoxAnother {
  border-top: none;
  /*border-bottom: 1px solid #DDDDDD;*/
}

@media screen and (min-width: 769px) {
  .itemContactBox {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
  }
  .itemContactBox > * {
    margin-bottom: 0;
  }
}

.cartList {
  background-color: #ffffff;
  font-size: 13px;
  line-height: 1.2;
  padding: 0px;
}

.uk-offcanvas-bar.cartList {
  border-left: 1px solid #cccccc;
}

.uk-offcanvas-bar .table.table-striped tr:first-child td {
  font-weight: bold;
  background-color: #ffffff;
}

.uk-offcanvas-bar .table.table-striped tr:first-child td:first-child {
  width: 70%;
}

.uk-offcanvas-bar .table.table-striped tr td + td {
  text-align: center;
}

/* タイトル */

.mainTitle {
  margin: 20px 0 10px !important;
  font-size: 26px;
  line-height: 1.2;
  font-weight: bold;
}

h2.mainTitle,
h1.mainTitle {
  margin-top: 0 !important;
}

/* お会計テーブル前の内容  */

.cartBefore {
  margin: 0 0 20px 0;
}

/* お会計テーブル */

/* 個数用のインプット */

.cartProductAmount,
.cartProductAmountHidden {
  /*font-family: Verdana, sans-serif;*/
  text-align: center;
  width: 60px;
  height: 37px;
  border-radius: 4px;
  border: 1px solid #767676;
  font-weight: normal;
}

/* 個数を変更できない時の数量見た目 */
.cartProductAmountHidden {
  display: -webkit-box;
  display: -ms-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #d9d9d9;
  border: 0;
}

/* お会計のボタン */

.orderBtnGroup {
  display: block;
  margin: 0 -5px;
}
.kf-btn.kf-btn-order {
  padding: 10px 8px;
  margin: 0;
  border-radius: 3px; /*width: 120px;*/
}
.kf-btn.kf-btn-order.js_sampleProductBuy {
  width: 96px;
}
.kf-btn.kf-btn-sample {
  width: 100%;
  padding: 10px 12px;
  margin-left: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .kf-btn.kf-btn-sample {
    margin-left: 0px;
  }
}

/*サンプル不可*/
.noSample {
  margin-left: 10px;
}
.noSampleBlock {
  line-height: 37px;
}
/* お会計の合計 */

.cartTotalContainer {
  padding: 0 75px 0 0;
}

.cartTotal {
  float: right;
  color: #333;
  font-size: 13px;
  line-height: 1.5;
}

.kf-btn.againBtn {
  float: right;
  margin: -40px 0 0 0;
  padding: 6px 13px 4px;
  vertical-align: top;
}

/* お会計の数字 */

.cartTotalAmount {
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
}
/* カートリストのモーダル */
.gotoOrderBox {
  margin-top: 25px;
}
/* 注文時フォームボタン */

.orderSubmit {
  margin: 30px 0 30px;
}

.orderSubmitBtn {
  margin: 0;
  padding: 14px 50px;
}

/* ボタン直下のテキスト */
#js-entry_saving_progress.storeProgress span:before {
  content: '';
}

.helpText {
  margin: 10px 0;
  color: #333;
  font-size: 11px;
  text-align: left;
  line-height: 1.7;
}

.orderTable {
  display: table;
  width: 100%;
  margin: 0 0 20px 0;
  font-size: 13px;
  line-height: 1.5;
  border-top: 2px solid #cccccc;
  border-collapse: collapse;
}
.orderTableParagraph {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .tableHiddenXs {
    display: none !important;
  }
  .orderTableParagraph {
    margin-bottom: 2px;
  }
}
.orderTableBefore {
  border-top: 2px solid #cccccc;
  padding: 10px;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.5;
}

.orderTableBefore + .orderTable {
  border-top: 1px solid #ddd;
}

.orderTableThead {
  display: table-header-group;
}

.orderTableBody {
  display: table-row-group;
}

.orderTableTr {
  clear: both;
  display: table-row;
  border-bottom: 1px solid #ddd;
  color: #333333;
}
.orderTableTr:hover {
  background-color: #f0f6e7;
}
.orderTableThead .orderTableTr:hover {
  background-color: transparent;
}
.orderTableCellRight {
  padding-right: 20px;
}
.orderTableTr:first-child {
  border-top: 1px solid #ddd;
}

.orderTableThead > .orderTableTr {
  border-bottom: 1px solid #ddd;
}

.orderTable .orderTableThead .orderTableCell {
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
}

.orderTableCell {
  display: table-cell;
  padding: 10px 4px;
  vertical-align: middle;
}

/* 入荷待ち・完売など（soldout=='wait'）でカートボタン・数量入力が出ない行のSP表示。
   お気に入り一覧と同じく★を入数・価格と同じ行の右端に載せるための引き上げ。
   使用箇所は商品エントリー（`_productsList.html`）のSPブロックのみ。
   Why not: 以前は `.orderTableCell.waiting` で限定していたが、KATSU-1070でSPブロックを
   商品名セルの内側へ移した際に `orderTableCell` を外した（セル内の二重ネストを避けるため）
   結果セレクタが当たらなくなり、★が価格の下の行へ落ちるリグレッションになった。
   他4画面と同じ `orderTableBlock visible-xs` の形を保ったまま効かせるため、
   `waiting` 単独のセレクタにしている（このクラスは上記1か所でしか使っていない） */
.waiting {
  margin-top: -40px;
}

.waiting .orderTableFlex {
  display: inline;
}

.waiting .orderTableItemFlexible {
  width: 40px;
  float: right;
}

.orderTableStarOuterFloatRight {
  float: right;
}

.orderTableCell.orderTableCelQuarter {
  width: 10%;
}

.orderTableNum {
  margin-right: 10px !important;
}

.orderTableCell .kf-label {
  /* margin-left: 5px; */ /* 商品一覧に合わせてマージン削除しています */
  margin-top: -3px;
}
@media screen and (max-width: 768px) {
  .orderTableItemCode .orderTableItemCodeItem:first-child {
    margin-right: 5px;
  }
}

.orderTableCell a:link,
.orderTableCell a:visited,
.orderTableCell a:active {
  color: #6ca51e;
}

.orderTableCell a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.orderTableTitle {
  padding-top: 20px;
}
@media screen and (min-width: 769px) {
  .orderTableTitle.-orderTableTitle-fix {
    /* 非ログイン時 */
    width: 326px;
  }
}

.orderTable a:link,
.orderTable a:visited,
.orderTable a:active {
  color: #333;
}

.orderTable a:hover {
  color: #333;
  background-color: #f0f6e7;
  text-decoration: none;
}

.orderTableNum,
.orderTableSample,
.orderTablePrice {
  white-space: nowrap;
}

.orderTableUnit {
  border-bottom: 1px solid #ddd;
  padding-bottom: 3px;
}

.-ordercheck .orderTableUnit {
  padding-bottom: 1px;
  margin-top: -3px;
}

.-ordercheck .orderTableUnitSecond {
  padding-top: 1px;
  margin-bottom: -2px;
}

.orderSpCount {
  margin-right: 10px !important;
}

.orderTableQuantity {
  padding: 5px 0 15px 0;
}
.orderTableQuantitySmall {
  padding: 5px 0 5px 0;
}
/* サンプル */

.orderTableImage {
  text-align: center;
  min-width: 60px;
}
@media screen and (min-width: 769px) {
  .orderTableImage.-orderTableImage-fix {
    /* 非ログイン時 */
    width: 81px;
  }
}

.orderTableImage > div {
  background: #ccc;
  width: 100%;
  height: 60px;
}

.orderTableImage img {
  width: 50px;
  height: auto;
}

.orderItemLg {
  width: 40%;
}

.orderInfoBack {
  padding: 20px;
  background: #fff;
  border-radius: 5px;
}

.orderInfoBack .js-unit_group-align.acms-admin-clear {
  clear: none;
}

/* カートのカレンダー */
.cartCalendarWrap {
  display: flex;
  flex-wrap: wrap;
}

.cartCalendar .calendar {
  margin-bottom: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  .cartCalendar {
    padding: 0 10px;
  }
  .cartCalendarItem {
    padding: 0 5px;
  }
  .cartCalendarItem > div {
    padding: 0 5px;
    width: 100%;
  }
}

@media screen and (max-width: 620px) {
  .cartCalendar {
    width: 100%;
  }
  .cartCalendar .calendar {
    display: block;
  }
  .cartCalendarItem {
    width: 100%;
  }
  .cartCalendarItem > div {
    display: block;
  }
  .cartCalendarItem .calendarTable {
    min-height: 250px;
  }
}

/*-----------------------
未注文リスト / お気に入りセット
-------------------------*/

.orderDateLine {
  border-top: 2px solid #cccccc;
  width: 100%;
  line-height: 1.6;
  padding: 10px 0;
  font-size: 15px;
  font-weight: bold;
}
.orderDateLine + .orderTable {
  border-top: 1px solid #ddd;
}

/* スマホ表示: タイトル・日付・編集ボタンをPC同様1行で表示する（KATSU-1070 検収フィードバック再対応）。
   タップ領域拡大用のpaddingのみ維持し、displayとmargin-leftはPCと同じ挙動（inline-block・margin-left:8px）に戻す */
@media (max-width: 768px) {
  .orderDateLine {
    padding: 8px 0;
  }
  .orderTitleEditBtn {
    padding: 6px 2px;
  }
}
/*orderTable Reverse*/

.orderTable.orderTableReverse .orderTableTr {
  background-color: #eeeeee;
}

.orderTable.orderTableReverse .orderTableThead .orderTableTr {
  background-color: #ffffff;
}

.orderTable.orderTableReverse .orderTableImage {
  background-color: #ffffff;
}

/* お気に入り星 */
.orderTableStarWrap {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  vertical-align: middle;
  /* タップ領域をWCAG推奨サイズ相当に拡大（見た目のアイコンサイズはsvgの24pxのまま、paddingでヒットエリアのみ拡張） */
  padding: 10px;
  margin: -10px;
}

.orderTableStarWrap svg {
  height: 24px;
  width: 24px;
}

.orderTableStarWrap .star {
  fill: #eee;
  stroke: #d6d6d6;
  stroke-miterlimit: 10;
}

.orderTableStarWrap.on .star {
  fill: #f8b500;
  stroke: #f8b500;
  animation-duration: 0.5s;
  animation-fill-mode: both;
  animation-name: bounceIn;
  transform-origin: center bottom;
}

.orderTableStarWrap:hover {
  background-color: transparent !important;
}

/* 注文前の注意 */

.deliveryDateMessage h2 {
  margin-top: 10px;
  border-left: 7px solid #6aa900;
  padding-left: 6px;
  line-height: 1.3;
  font-size: 18px;
  font-weight: bold;
}

.deliveryDateMessage h3 {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
}

.deliveryDateMessage h4 {
  margin-top: 10px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
}

#js_deliveryDateSelect,
#js_storePickUpDateSelect {
  max-width: initial;
}

.orderWarningSectionContainer {
  border-top: 1px solid #ddd;
}

.orderWarningSection {
  padding: 40px 10px 35px 10px;
  border-bottom: 1px solid #ddd;
}

.orderWarningTitle {
  margin: 0 0 20px 0;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
}

.orderWarningText,
.orderWarningSection p {
  margin: 0 0 20px 0;
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
/* リスト */

.orderWarningListContainer,
.orderWarningSection ul {
  list-style: none;
  padding: 0;
}

.orderWarningList,
.orderWarningSection li {
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 1em;
  list-style-type: none;
  padding-left: 20px;
  background: url(../images/common/list.png) no-repeat 0px 8px;
}

/* ラベル */

.orderWarningList .kf-label,
.orderWarningSection li .kf-label {
  position: absolute;
  left: -45px;
}

/* 決済方法 */

/* タイトル */

.titleNum {
  margin: 0 12px 0 0;
  padding: 5px 8px 3px;
  color: #67aa00;
  background: #fff;
  line-height: 1.2;
  font-size: 13px;
}

.order-form-container {
  display: grid;
  grid-template-columns: 100%;
  margin-top: 20px;
  gap: 100px;
}

.orderWayText {
  border-left: 7px solid #6aa900;
  padding-left: 6px;
  line-height: 1.3;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: bold;
}

.orderWayText:last-child {
  margin-top: 0;
}

.orderWayText .kf-label {
  margin-top: -3px;
}

.orderWayText label {
  font-weight: bold;
  margin-bottom: 0;
}

/* パネル */

.orderPanel {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.orderPanelInfo {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #ddd;
  transition: background-color 0.25s ease-in-out;
}
.orderPanelInfo:hover,
.orderPanelInfoActivate {
  background-color: #d8ebbd;
}

.orderPanelInfo.disabled::before {
  content: '';
  background-color: rgba(220, 220, 220, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  display: block;
}

.orderPanelInfo p {
  font-weight: normal;
}
.orderPanelInfo .order-panel-alert {
  color: #b94a48;
  font-size: 13px;
  display: none;
}
.orderPanelInfo.disabled .order-panel-alert {
  display: inline-block;
  margin-left: 33px;
}

.orderPanelBody.-address p {
  margin-bottom: 0;
}

.orderPanelHeading {
  padding: 10px 20px 10px 20px;
  font-size: 15px;
  color: #333;
  line-height: 1.7;
  cursor: pointer;
}

.orderPanelHeadingLabel {
  /*	margin: 0 0 10px 0;*/
  font-weight: bold;
  margin-bottom: 0px;
}

.orderPanelBody {
  font-size: 13px;
  color: #333;
  line-height: 1.7;
  padding: 0 20px 10px 20px;
  /*	margin-top: 10px;*/
  /* margin-left:23px; */
  border-radius: 5px;
}
.orderPanelParaGraph {
  margin-left: 33px;
  margin-bottom: 0px;
}

.orderPanelParaGraph.warning {
  color: #b94a48;
}
/*.orderPanelBody em,
.orderPanelBody strong {
	font-style: normal;
	color: #FF0000;
}*/

/* ol の緑背景ハイライトは廃止し、.acms-entry ol と同じ装飾なしにする
   (docs/steering/20260817-block-editor-order-info-style/requirement.md 確認事項2) */

.orderInfoBack li {
  font-size: 13px;
  margin-bottom: 5px;
}

/* h2は.acms-entry h2と同じ見た目に統一する
   (docs/steering/20260817-block-editor-order-info-style/requirement.md 確認事項1) */
.orderInfoBack ul {
  padding-left: 25px;
}

/*.orderPanelBody table{
	margin-left: 10px;
	margin-right: 10px;
	width: auto;
}*/
/*.orderPanelBody table.formTable{*/
/*background-color: #*/
/*}*/
/*.orderPanelBody table th,*/
/*.orderPanelBody table td,*/
.orderConfirmWrapper table th,
.orderConfirmWrapper table td {
  padding: 5px 10px;
  border: 1px solid #cccccc;
}
.orderConfirmWrapper table {
  width: 100%;
  font-size: 13px;
}
/*.orderPanelBody table th,
.orderConfirmWrapper table th{
	background-color: #D7ECB8;
}*/
.orderPanelBody .formTable {
  margin-top: 10px;
}
.orderPanelBody .formTable th {
  background-color: #eeeeee;
}
.orderConfirmWrapper table th {
  width: 100px;
}
.orderConfirmWrapper table p {
  margin-bottom: 0px;
}
.orderPanelBody table td,
.orderConfirmWrapper table td {
  background-color: #ffffff;
}
/*.orderConfirmWrapper table td{
	width:85%;
}*/

.orderPanelBodyText {
  margin: 20px 0;
}

.orderPanelBodyText:first-child {
  margin: 0 0 20px 0;
}
.kf-btn.modalBtn {
  margin-top: 7px;
  float: right;
}
@media screen and (max-width: 768px) {
  .kf-btn.modalBtn {
    float: none;
  }
}

/* 注文ステップボタン */

.orderStepBtnContainer {
  margin: 40px 0;
}

/* 前へもどるボタン */

.backBtn {
  float: left;
  margin-bottom: 10px;
  margin-left: 0px;
}

/* 次へ進むボタン */

.nextBtn {
  float: right;
  font-size: 13px;
  color: #fff;
  line-height: 1.2;
  background: #ff6500;
}

.nextBtnSmall {
  float: right;
  font-size: 13px;
  color: #fff;
  line-height: 1.2;
  background-color: #ff6500;
}
.orderBtn {
  float: right;
  margin: 0;
  width: 250px;
}
@media screen and (max-width: 768px) {
  .orderBtn {
    width: 50%;
  }
}
/*お気に入りセットへの保存ボタン*/
.cartListBtn {
  width: 250px;
  padding: 14px 10px;
  display: block;
  float: right;
}

@media screen and (min-width: 769px) {
  .cartListBtn.-back {
    float: left;
  }
}

@media screen and (max-width: 768px) {
  .cartListBtn {
    margin: 0 auto 10px auto;
    float: none;
  }
  .kf-btn.saveCartBtn {
    width: 250px;
    padding: 14px 10px;
  }
}
/* サブカラム */

.sidebarOrderStep {
  list-style: none;
  padding: 0;
  margin: -10px 0 50px 0;
}

.sidebarOrderStepList {
  position: relative;
  padding: 10px 0 10px 35px;
  border-bottom: 1px solid #ddd;
}
.sidebarOrderStepList a {
  color: #333333;
}
.sidebarOrderStepList a:hover {
  color: #999999;
}
/*.sidebarOrderStep li:first-child {
	padding: 0 0 10px 35px;
}
*/

.orderStepNum {
  display: block;
  float: left;
  position: absolute;
  top: 10px;
  left: 0;
  width: 24px;
  height: 24px;
  margin: 0 10px 0 0;
  background: #999;
  text-align: center;
  color: #fff;
  font-size: 13px;
  line-height: 24px;
}

.orderStepNumActive {
  background: #69a800;
}

/*　詳細ページ　*/

.thRight th {
  width: 80px;
  text-align: right;
  font-size: 13px;
  line-height: 1.7;
  font-weight: bold;
}

.smFontArea {
  font-size: 13px;
}
/*deliveryTimeBox*/
.deliveryTimeBox {
  margin-top: 10px;
  position: relative;
  border: 1px solid #ddd;
  width: 100%;
}
.acms-form-radio.deliveryTimeLabel {
  margin-right: 0;
}
.overTimeBoxParagraph {
  margin-top: 20px;
}
.deliveryTimeBoxItem {
  float: left;
  width: 16.666%;
  padding: 20px;
  font-size: 13px;
  cursor: pointer;
  position: relative;
  border-right: 1px solid #ddd;
}
.deliveryTimeBoxItem:hover,
.deliveryTimeBoxItem.active {
  background-color: #d8ebbd;
}
.deliveryTimeBox .deliveryTimeBoxItem:last-child {
  border-right: none;
}
/*deliveryTable*/
.timeSelectIcon {
  max-width: 100%;
}

.deliveryTable {
  margin-left: 75px;
}

.deliveryTable th {
  text-align: right;
  padding-right: 10px;
}

.deliveryTable td {
  padding: 5px 20px 5px 2px;
}

.deliveryTable .kf-input {
  width: 100%;
}

.deliveryTable td .deliveryInput {
  height: 38px; /*margin:0;
	padding: 0 10px;*/
  border: 1px solid #ccc;
  border-radius: 0;
  font-size: 15px;
}

/*ご注文内容の確認ページ*/

.orderConfirmWrapper {
  padding: 20px;
  margin: 16px 0 16px 0;
  border: 1px solid #dddddd;
}

.orderInfoTitle {
  font-size: 15px;
  line-height: 1.7;
  font-weight: bold;
  color: #666666;
  margin-bottom: 12px;
}

.orderDestination {
  font-size: 15px;
  line-height: 1.7;
}

.orderInfoWrapper {
  font-size: 13px;
  line-height: 1.7;
}

.orderInfoWrapper p {
  margin: 0;
}

.remarkWrapper {
  background-color: #ffffff;
  padding: 11px;
}

/* ---------------------
サブ
---------------------- */

/*　sideBar　*/
.sidebarNavSm {
  margin-bottom: 20px;
}
.sidebarTitle a,
.sidebarTitle a:visited,
.sidebarNavSm a,
.sidebarNavSm a:visited {
  color: #333333;
}

.sidebarTitle a:hover,
.sidebarNavSm a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.sidebarTitle a:active,
.sidebarNavSm a:active {
  color: #6ca51e;
}

/*.sidebarNavSm li{
	line-height: 1.3;
}*/

.sidebarNavSm .sidebarList1 ul {
  margin-top: 8px;
}
.toggleList {
  display: none;
}
.toggleList.stay {
  display: block;
}
.sidebarTitle {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 20px;
  margin-top: 0;
}

.sidebarNav {
  margin: 0 0 30px 0;
  padding-left: 0px;
  font-weight: bold;
  list-style-type: none;
  line-height: 2.2;
}

.sidebarNav li a {
  font-size: 16px;
  color: #333333;
}

.sidebarNav a {
  color: #000000;
}

.sidebarNav a:hover {
  color: #6ca51e;
}

.sidebarNavSm ul {
  list-style-type: none; /*height:100%;*/
  font-size: 13px; /*line-height: 2;*/
  padding-left: 0px;
}
.sidebarNavSm li {
  color: #6ca51e;
}

.sidebarNavSm li a,
.sidebarNavSm li a:visited {
  color: #333333;
}

.sidebarNavSm li a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.sidebarNavSm li a.stay {
  color: #6ca51e;
}

.ad {
  margin-bottom: 20px;
}

.description li {
  font-size: 14px;
  line-height: 2;
}

.sideBanner {
  padding: 10px 0;
  width: 100%;
  display: table;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.sideBanner li {
  display: table-cell;
  list-style-type: none;
  text-align: center;
  padding: 0 10px;
}

.sideBanner li img {
  margin: 0 auto;
  border: 1px solid #ccc;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.sideBanner li img:hover {
  opacity: 0.7;
}

/*スマホで見た時のサイドバー*/

.sidebarSearch {
  height: 72px;
  padding: 20px;
  border-bottom: 1px solid #cccccc;
}

.sidebarSearch .form-control {
  border-radius: 0px;
}

.sidebarNavSm .sidebarList1 {
  font-size: 16px;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 10px;
}
.sidebarNavSm .sidebarList1 ul {
  margin-bottom: 30px;
}

.sidebarNavSm .sidebarList2 {
  font-weight: normal;
  /*	line-height: 1.3;
	margin-bottom: 10px;*/
  line-height: 1.6;
  margin-bottom: 12px;
}

.sidebarList1:first-child {
  margin-top: 0px;
}

.sidebarList1 a {
  color: #333333;
}

.sidebar-offcanvas .sidebarFirst {
  margin-top: 0px;
}

.sidebar-offcanvas aside {
  padding-left: 0;
}

.sidebar-offcanvas ul {
  padding-left: 0;
}

.sidebar-offcanvas li {
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  /*	.navContainer .uk-offcanvas{
		background:rgba(0,0,0,0);//メインの色を白のままに
	}*/
  #adminBox {
    display: none;
  }
}

.sidebar-offcanvas .uk-offcanvas-bar {
  background-color: #ffffff;
  border-right: 1px solid #cccccc;
  overflow-x: hidden;
}

.sideListTitle {
  margin: 0 0 15px 0;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
}

.sidebarList {
  padding: 0;
  list-style: none;
  color: #333;
  font-size: 13px;
  line-height: 2;
}

/*-----------------------
footer
-------------------------*/

.footer {
  text-align: center;
  margin: 10px 0 0;
  padding: 40px 0 25px;
  font-size: 13px;
  line-height: 1.5;
  background: #f0f0f0;
  clear: both;
}
.footerContainer {
  max-width: 1440px;
  margin: 0 auto;
}

.footerWrap {
  display: table;
  display: flex;
  justify-content: space-between;
}

.footerTop {
  /*border-top: 1px solid #EBEBEB;*/
  padding-top: 40px;
}

a .footerTextTel {
  color: #333;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .search-form .kf-select {
    padding-right: 30px;
    background: #eeeeee url(../images/caret.png) no-repeat right;
  }
}

@media screen and (min-width: 768px) {
  .orderTable .orderTableCell.textRight {
    text-align: right;
  }

  .orderTable .orderTableCell.textCenter {
    text-align: center;
  }
  .orderTable .orderTableCell.textLeft {
    text-align: left;
  }
}

@media screen and (max-width: 990px) and (min-width: 768px) {
  .sidebarNav li a {
    font-size: 14px;
  }
}

@media screen and (max-width: 1200px) {
  .container {
    width: auto;
  }

  .searchArea {
    margin-right: 0;
    margin-left: 0;
  }

  .pcHeader .leftNav li {
    margin-right: 25px;
  }

  .pcHeader .rightNav li {
    margin-left: 25px;
  }

  .topImageContainer {
    margin-right: 0;
    margin-left: 0;
  }

  .renewalEntryHeadlineList {
    width: 100%;
    display: list-item;
  }

  .detailPopover.popoverCart {
    left: 0;
  }

  .detailPopoverCustomer {
    /*left: 100px;*/
  }

  .detailPopover.detailPopoverSearch {
    left: 10px;
  }
  .renewalEntryHeadline {
    column-count: 1;
    -webkit-column-count: 1;
    -o-column-count: 1;
    -moz-column-count: 1;
    -ms-column-count: 1;
    padding: 10px 0;
  }
  .renewalEntryHeadlineList {
    line-height: 1.5;
    float: left;
  }
  .renewalEntryHeadlineList a {
    margin-top: 0;
  }
}

@media screen and (max-width: 979px) {
  .deliveryTimeBox {
    display: block;
    border-bottom: none;
    border-right: none;
  }
  .deliveryTimeBoxItem {
    display: block;
    float: left;
    width: 33.3333%;
    border-bottom: 1px solid #ddd;
  }
  .deliveryTimeBoxItem .timeSelectIcon {
    display: block;
    max-width: 100px;
    margin: auto;
  }
  .deliveryTimeBox .deliveryTimeBoxItem:last-child {
    border-right: 1px solid #ddd;
  }
  /*	.deliveryTimeBoxItem:first-child{
		width:100%;
		border-right: none;
	}*/
  /*	.deliveryTimeBoxItem:nth-child(4){
		border-right:none;
	}*/
  .deliveryTimeLabel {
    display: inline;
    text-align: center;
  }

  .categoryItem {
    width: 33.3%;
  }
}
@media screen and (max-width: 480px) {
  .deliveryTimeBoxItem {
    display: block;
    float: left;
    width: 50%;
    border-bottom: 1px solid #ddd;
  }
  .serialNavi {
    padding: 0;
  }
  .serialNavi .prev {
    width: 100%;
    /*margin-top:10px;*/
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #dddddd;
  }
  .serialNavi a:first-child .serial {
    border-top: 1px solid #dddddd;
  }
  .serialNavi .next {
    text-align: left;
    padding-left: 40px;
    /*margin-top: -20px;*/
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: right;
    border-bottom: 1px solid #dddddd;
    border-top: 1px solid #dddddd;
  }
  .topicEntryWrapper .topicEntry:last-child {
    border-bottom: none;
  }
  .serialNavi.-search .prev,
  .serialNavi.-search .next {
    width: 50%;
    border: 0;
  }
}

@media screen and (max-width: 991px) {
  .container {
    margin-top: 115px;
  }

  .wide-container {
    margin-top: 115px;
  }

  .headerLogo img {
    height: 50px;
    width: 67.25px; /* Androidブラウザ対応の為width固定 */
  }

  .header {
    left: 0;
    right: 0;
    width: 100%;
    height: 80px;
    margin-bottom: 0;
    background-color: #ffffff;
    z-index: 999;
    transition: all 0.5s ease;
    display: block;
  }

  .header.scrolled {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.1s ease-out;
  }

  .header .searchWrapper {
    display: none;
  }

  .row-offcanvas-left.active .header {
    left: 70%;
    right: auto;
  }

  .rightActive .header {
    right: 75%;
    left: auto;
  }

  .header .btn {
    margin: 8px 0 0 0;
  }

  .pcHeader {
    display: none;
  }
  .navContainer.navContainer {
    width: 100%;
  }

  .navContainer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    z-index: 999;
  }

  .flex-direction-nav .flex-prev {
    display: none;
  }

  .flex-direction-nav .flex-next {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .container {
    margin-top: 0;
  }

  .pcHeader.fixed + .container {
    margin-top: 0px;
  }

  .mobileContainer {
    height: 100%;
  }

  .btn-search {
    background-color: #666666;
    color: #ffffff;
  }

  .xHidden {
    overflow-x: hidden;
  }

  .kf-btn.kf-btn-sm {
    padding: 14px 40px;
  }

  .kf-btn-addAll-sp {
    margin-bottom: 10px;
  }

  /* .entry-container table th/td は本文用スタイルのため
     css/katsufujiya-editor.css へ移動 */
  .orderConfirmWrapper table th,
  .orderConfirmWrapper table td,
  .kf-table th,
  .kf-table td {
    display: block;
    padding: 6px 10px;
    text-align: left;
    margin-top: -1px;
    width: 100%;
  }

  .orderConfirmWrapper table th,
  .kf-table th {
    width: 100%;
  }

  .formTable th,
  .formTable td {
    display: block;
    word-wrap: break-word;
    word-break: break-all;
    float: left;
    clear: both;
    width: 100%;
    padding: 6px 10px;
    text-align: left;
    margin-top: -1px;
  }

  .formTextInput.formTextInputSm {
    height: 45px;
  }

  .searchCollapse {
    display: none;
  }

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

  .footerCalendarWrapper {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0 15px;
  }

  .calendarWrap {
    display: table;
    display: flex;
    justify-content: space-between;
  }

  .calendar {
    display: table-cell;
    width: inherit !important;
    min-width: 200px;
    height: auto;
    flex: 1;
  }
  .calendar.calendarNoMargin {
    margin: 0 0 10px 0;
  }

  .uk-offcanvas-page .navContainer {
    top: auto;
    left: auto;
  }

  .navContainer.topHeader {
    background-color: transparent;
  }

  .navbar.spUserMenu {
    margin-top: 90px;
    margin-right: -5px;
    margin-left: -5px;
  }

  .navbar.spUserMenu.spUserMenuGreen {
    background-color: #7bb212;
    color: #ffffff;
  }

  .navbar.navbar-static-top.navbar-toppage {
    margin-top: 0px;
  }

  .customerMenu {
    margin-top: 90px;
  }

  .searchBtnAddon {
    height: 34px;
    width: 38px;
  }

  .topImageContainer {
    margin-top: 0px;
  }

  .pcHeader.fixed + .topImageContainer {
    margin-top: 0;
  }

  .topImageContainer {
    padding: 0;
  }

  .topImageContainer .flexslider {
    margin-top: -20px;
    margin-bottom: 0;
    padding: 80px 0 0 0;
  }

  .pushTopSp {
    margin-top: 100px;
  }

  .pushSp {
    margin-top: 100px;
  }

  .topImageContainer .flexslider {
    margin-top: 0;
    margin-bottom: 0;
  }

  .mainContainer {
    padding: 0 35px;
  }

  .mobileMainContainer {
    padding: 0 20px 0 40px;
  }

  /* .acms-entry table th は本文用スタイルのため css/katsufujiya-editor.css へ移動 */
  .kf-table th {
    font-size: 13px;
    padding: 5px;
    line-height: 1.5;
  }
  .indexTitle {
    margin-top: 20px;
  }

  .entryItem:nth-child(3n) {
    padding-right: 15px;
  }

  .entryItem {
    border-right: none;
    overflow-y: hidden;
  }

  .categoryItem {
    width: 50%;
    min-height: auto;
  }

  .categoryItem .breadcrumb {
    display: none;
  }

  .categoryTable .catName {
    font-size: 11px;
  }

  .customerMenu {
    padding: 20px 35px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }

  .navbar-collapse {
    border: 0;
  }

  .sideBarTable {
    margin-bottom: 20px;
    margin-top: 10px;
  }

  .sideBarTableTd {
    border-top: none !important;
  }
  .sideBarTableTd a {
    color: #333333;
  }
  .sideBarTableTdFirst {
    border-bottom: 1px solid #ccc;
  }

  .sidebarCartEmpty {
    padding: 20px;
  }

  .collapseNav {
    margin-bottom: 0;
  }

  .table.itemInfoTable th {
    display: table-cell;
    text-align: right;
  }

  .table.itemInfoTable td {
    display: table-cell;
  }

  .itemContactBox .kf-btn {
    padding-right: 10px;
    padding-left: 10px;
    margin-left: 0px;
    width: 80%;
  }

  .orderTable,
	/*.orderTableThead,
	*/
		.orderTableTbody,
	.orderTableTr,
	.orderTableCell,
	.orderTable thead,
	.orderTable tbody,
	.orderTable tr,
	.orderTable td,
	.orderTable th {
    display: block;
  }
  .orderBtnGroup {
    margin-left: 0;
    margin-bottom: 10px;
  }
  .orderTableCell {
    /*padding: 7px 4px 7px 0;*/
    padding: 0;
  }
  .orderTableCell.-orderTableCell-bottom-space {
    padding-bottom: 5px;
  }

  .orderTableThead {
    display: none;
  }

  .orderTableTr {
    overflow: hidden; /* clearfixの代わり */
    padding-top: 8px;
    padding-bottom: 12px;
  }

  .orderTableTr.-entry,
  .orderTableTr.-orderTableTr-sp-side-space {
    padding-right: 20px;
    padding-left: 10px; /* 写真のwrapで10px確保しているのでマイナス10px */
  }
  /* SP時のアクション行（数量・金額・お気に入り★・カート／削除ボタン）。
     カートの内容は .orderTableDivision-flex-between、お気に入りセット・注文履歴・
     ご注文内容の最終確認は .orderTableDivision-left-fit を使うが、
     見え方は商品エントリー・お気に入り一覧と同じ「1行・右寄せ」に統一する（KATSU-1070）。

     Why not: 以前は flex-wrap:wrap（カート）／inline-block の並び（他3画面）で、
     行幅が足りなくなるとボタンだけが次の行に落ちていた。金額の桁数や購入数制限ラベルの
     有無で折り返す・折り返さないが商品ごとに変わり、見た目が不揃いになるため
     nowrap に変更している。子要素にも white-space:nowrap を付けているのは、
     nowrap 化すると今度は「金額：3,000円」のようなラベル付きテキストが
     セル内部で改行してしまうため。 */
  .orderTableDivision-flex-between,
  .orderTableDivision-left-fit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 8px;
    /* 写真分の字下げ（親 .orderTableTopDivision の padding-left:65px）を打ち消して行幅を稼ぐ。
       子要素は右寄せなので、金額が長い商品以外は見た目が変わらない */
    margin-left: -65px;
  }
  .orderTableDivision-left-fit {
    padding-left: 10px; /* 写真のwrapで10px確保しているのでマイナス10px */
  }
  .orderTableDivision-flex-between > *,
  .orderTableDivision-left-fit > * {
    margin-right: 0; /* 子側の .orderTableItemQuantitySm-right-next-item の余白は gap に集約する */
    white-space: nowrap;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }

  .kf-btn-sm.kf-btn-sm-block {
    width: 100%;
    margin: 0;
    padding: 14px 0;
  }

  .orderTableWant {
    width: 107px;
  }

  .orderTableNum,
  .orderTablePrice .orderTableTotal {
    min-width: 50px;
  }
  .orderTableUnder {
    width: 70%;
    float: right;
    text-align: left;
  }
  .orderTableUnder.-ordercheck {
    float: left;
  }
  .orderTableUnderItem {
    margin-right: 15px;
    display: inline-block;
    padding: 5px 0;
  }
  .orderTableTotal:before {
    content: '金額 : ';
    font-weight: normal;
  }

  .orderTableRight {
    float: right;
  }

  /* 100%幅 */

  .orderTableBlock {
    width: 100%;
  }
  /* 70%幅 */

  .productName,
  .orderTableName {
    width: 70%;
    /*margin-bottom:10px;*/
    margin-bottom: 0;
    float: left;
  }

  /* 50%幅 */

  .orderTableHalf {
    width: 50%;
    float: left;
  }

  /* 33.3%幅 */

  .orderTableOneThird {
    width: 33.3%;
    float: left;
  }

  /* 100%幅 */

  .orderTableImage {
    width: 50%;
    min-height: 60px;
    float: left;
  }
  .orderTableImage img {
    margin-bottom: 15px;
    margin-top: 15px;
  }
  /* 25%幅 */

  .orderTableQuarter,
  .orderTableSm {
    width: 25%;
    float: left;
  }

  /* 20%幅 */

  .orderTableOneFifth {
    width: 20%;
    float: left;
  }

  /* クリアさせる */

  .orderTableClear {
    clear: both;
    float: none;
  }

  /* テキスト */

  .orderTableNum:before {
    content: '入数：';
    font-weight: normal;
  }

  .orderTablePrice:before {
    content: '価格：';
    font-weight: normal;
  }

  .orderTableWant:before {
    content: '数量：';
    font-weight: normal;
  }
  .orderTableWant-not-width:before {
    content: '数量：';
    font-weight: normal;
  }
  .orderTableInputWrapper {
    width: 50%;
    display: inline-block;
    position: relative;
  }
  .orderTableCell.orderTableInput {
    display: table;
    margin-right: 0px;
    /*margin-bottom:10px;*/
    vertical-align: middle;
    height: 35px;
    width: 100%;
  }
  .orderTableCell input {
    display: table-cell;
    vertical-align: middle;
  }
  .orderTableCell.orderTableInput:before {
    vertical-align: middle;
    display: table-cell;
    width: 60px;
  }
  .orderTable td,
  .orderTable > tbody > tr > td {
    width: 25%;
    float: left;
    display: block;
    clear: both;
  }

  .orderTable td.productName,
  .orderTable > tbody > tr > td.productName {
    width: 100%;
    display: block;
    clear: both;
  }

  .productName {
    width: 100%;
    display: block;
  }

  .cartProductAmount {
    /*width: 30px;*/
    width: 100%;
    margin-top: 7px;
  }

  .orderTableNum,
  .orderTablePrice {
    padding-bottom: 0;
  }

  .orderTableCell input {
    width: 80px;
    /*height: 25px;*/
    margin: 0;
  }

  .orderTableCartBox {
    margin-bottom: 15px;
  }
  .deliveryTable {
    margin-left: 0;
  }

  /* バナー */

  /*.sidebar-offcanvas aside{
			padding-left:15px;
		}*/

  .sideBanner li {
    margin: 20px 0;
    display: block;
  }

  /* カレンダー */

  .calendar {
    margin: 10px 20px 20px;
  }
  /*.footer {
		margin: 20px 15px 0px 15px;
	}*/

  .footerWrap {
    display: block;
  }

  .footerText {
    font-size: 13px;
    line-height: 1.5;
  }

  .footerNavWrap {
    padding-left: 0;
    display: block;
  }

  .copyright {
    margin: 20px 0 0 0;
  }

  .orderTable .orderTableCell.textRightSP {
    text-align: right;
  }

  .orderTable .orderTableCell.textCenterSP {
    text-align: center;
  }
  .orderTable .orderTableCell.textLeftSP {
    text-align: left;
  }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
  .calendarWrap {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 480px) {
  .orderTableTr:hover {
    background-color: transparent;
  }
  /* 商品詳細テーブルでボタンが2つ以上並んだ時の幅オーバー対策 */
  .orderTableTr.-entry,
  .orderTableTr.-orderTableTr-sp-side-space {
    padding-right: 10px;
    padding-left: 0; /* 写真のwrapで10px確保しているのでマイナス10px */
  }
  .orderTableDivision-left-fit {
    padding-left: 10px;
  }
}
@media screen and (max-width: 370px) {
  /* 商品詳細テーブルでボタンが2つ以上並んだ時の幅オーバー対策 */
  .orderTableTr.-entry .kf-btn-cart {
    padding-right: 12px;
    padding-left: 12px;
  }
  .orderTableTr.-entry .kf-btn-sample {
    padding-right: 8px;
    padding-left: 8px;
  }
}

@media screen and (max-width: 768px) {
  .formTextInput.formTextInputFullWithSp {
    width: 80%;
  }

  .orderPanelInfo .acms-col-6 {
    width: 100%;
  }

  .nextBtn {
    width: 100%;
  }
  .renewalEntryHeadlineList a {
    width: 100%;
  }
}

@media screen and (max-width: 991px) {
  .kf-btn-logout-sp {
    border-radius: 0;
    margin-bottom: 20px;
  }
  .sidebarNavSm .sidebarList1 {
    margin-bottom: 6px;
  }
  .sidebarNavSm .sidebarList1 div {
    margin-bottom: 20px;
  }
  .sidebarNavSm.-news .sidebarList2 div {
    padding: 4px 16px;
  }
  .sidebarNavSm.-link .sidebarList2 div {
    padding: 4px 16px;
  }
  .sidebar-offcanvas {
    border-right: 1px solid #cccccc;
    background-color: #eeeeee;
    position: absolute;
    padding-right: 0px;
    top: 0;
    left: -210%;
    /*width: 70%;*/ /* 6 columns */
    width: 75%;
    height: 100%;
    padding-left: 25px;
    /*overflow-y: scroll;*/
    transition: all 0.5s ease;
  }
  .uk-offcanvas.sidebar-offcanvas {
    width: 100%;
  }
  .uk-offcanvas-bar {
    width: 245px;
  }

  .sidebarNavSm {
    margin: 0;
  }

  .sidebarNavSm li {
    margin: 0px -20px 0 0; /*padding: 13px 30px 13px 20px;*/
    max-width: 100%;
  }
  .sidebarNavSm .sidebarList2 {
    line-height: 1.2;
  }
  .sidebarList1 .listContents,
  .sidebarList2 .listContents {
    display: block;
    /*padding: 13px 5px 13px;*/
  }

  .sidebarNavSm .sidebarList2 {
    margin-bottom: 0;
  }

  .sidebarNavSm .listContents:hover,
  .sidebarNav .listContents:hover {
    background: #f0f6e7;
    cursor: pointer;
  }
  .sidebarNavSm .listContents:hover a,
  .sidebarNav .listContents:hover a {
    color: #6ca51e;
  }
  .sidebar-offcanvas {
    z-index: 10000;
  }

  /* サイドバー内タイトル */

  .sidebar-offcanvas h2 {
    margin: 0;
    padding: 20px 20px 10px 20px;
    font-weight: bold;
    color: #333;
    margin-bottom: 0;
  }

  .sidebar-offcanvas h2.bl-hover {
    background: #666;
  }

  .sidebarTitle a {
    color: #fff;
  }

  .sidebarTitle a:hover {
    background: #999;
    text-decoration: none;
  }
  .sidebarNav li,
  .sidebarNavSm li {
    /*border-bottom:1px solid #CCCCCC;*/ /*background:url(../images/sidebar_arrow.png) right center no-repeat;*/
    font-weight: normal;
    line-height: 1.2;
    font-size: 14px; /*padding:4px 15px;*/
  }

  .firstSideBarMenu {
    border-bottom: 1px solid #ccc;
  }

  .sidebarNav li {
    padding: 10px 0px 10px 15px;
    margin: 0;
  }

  .sideBanner {
    margin: 0 20px 30px;
    display: block;
  }

  .sidebarSearch {
    border-bottom: none;
  }

  .sidebarNavSm .sidebarList1 {
    margin-top: 0px;
    background: #fff;
  }

  .sidebarNavSm .sidebarList1 ul {
    margin-bottom: 0;
  }

  .sidebarNavSm .sidebarList1 ul {
    margin-top: 0;
  }

  .sidebarList1 .listContents,
  .sidebarList2 .listContents {
    padding: 11px 30px 11px 20px;
  }

  .sidebarNavSm .sidebarList1 div.listContents {
    margin-bottom: 0;
    padding-top: 13px;
    padding-bottom: 9px;
  }
  .sidebarNavSm > ul > li {
    border-top: 1px solid #ccc;
  }
  .sidebarNavSm.-infoCategory > ul > li,
  .sidebarNavSm.-topicsNew > ul > li {
    border-top: 0;
  }
  .sidebarNavSm.-topicsNew > ul > li {
    margin-bottom: 20px;
  }
  .offcanvasProfile {
    margin: 0 20px 10px;
    padding: 0;
    line-height: 1.5;
    font-weight: bold;
  }
}

@media screen and (min-width: 769px) and (max-width: 991px) {
  .sidebarNavSm.-topicsNew .sidebarList2 {
    line-height: 1.6;
  }
  .sidebarNavSm.-topicsNew .sidebarList1 {
    margin-bottom: 10px;
  }
  .sidebarNavSm.-infoCategory .sidebarList1 div.listContents {
    margin-bottom: 20px;
    padding: 0;
  }
}

@media screen and (max-width: 500px) {
  .calendarWrap,
  .calendar {
    display: block;
  }
}

@media screen and (max-width: 480px) {
  .container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .kf-btn {
    padding: 14px 20px;
  }

  .calendarWrapper {
    width: 100%;
  }

  .categoryTable img,
  .categoryList img {
    margin: 0 auto;
    padding: 0;
  }

  .renewalEntryHeadlineDate {
    width: 100%;
    margin-bottom: 5px;
  }

  .categoryItem .caption {
    padding: 10px 0;
  }

  .customerMenu {
    padding: 20px;
  }
}

/*管理ページ*/
.ui-dialog {
  width: 305px !important;
}
#categoryAddForm th {
  white-space: nowrap;
}
#categoryAddForm input[type='text'] {
  width: 200px;
}
#categoryAddForm select {
  width: 200px;
}

/* ---------------------
 2017トップ
---------------------- */

.contactLink {
  color: #999 !important;
  border: 1px solid #999;
  border-radius: 3px;
  padding: 10px 18px;
  transition: all 0.2s ease;
}

.contactLink:hover {
  color: #fff !important;
  background: #999;
  opacity: 1 !important;
}

/* ---------------------
プロダクトリスト
---------------------- */

.productListSm {
  margin-bottom: 20px;
  border-left: 1px solid #ddd;
  text-align: left;
}

.productListSm a,
.productListSm a:visited {
  color: #333333;
}

.productListSm a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.productListSm a:active {
  color: #6ca51e;
}

.productListSm .productListItem1 ul {
  margin-top: 8px;
}

.productListSmItem {
  margin-bottom: 30px;
}

.toggleList {
  display: none;
}

.toggleList.stay {
  display: block;
}

.sidebarTitle {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 20px;
  margin-top: 0;
}

.productList {
  margin: 0 0 30px 0;
  padding-left: 0;
  font-weight: bold;
  list-style-type: none;
  line-height: 2.2;
}

.productList li a {
  font-size: 16px;
  color: #333333;
}

.productList a {
  color: #000000;
}

.productList a:hover {
  color: #6ca51e;
}

.productListSm ul {
  list-style-type: none;
  font-size: 13px;
  padding-left: 0;
}
.productListSm li {
  color: #6ca51e;
}

.productListSm li a,
.productListSm li a:visited {
  color: #333333;
}

.productListSm li a:hover {
  color: #6ca51e;
  background-color: #f0f6e7;
  text-decoration: none;
}

.productListSm li a:active {
  color: #6ca51e !important;
  background-color: #f0f6e7 !important;
}

.productListSm .productListItem1 {
  font-size: 16px;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .productListSm .productListItem1 {
    margin-bottom: 0;
  }
  .sidebarNavSm li {
    line-height: 1.6;
  }
}

.productListSm .productListItem1 ul {
  margin-bottom: 30px;
}

.productListSm .productListItem2 {
  font-weight: normal;
  /*	line-height: 1.3;
        margin-bottom: 10px;*/
  line-height: 1.6;
  margin-bottom: 12px;
}

.productListItem1:first-child {
  margin-top: 0px;
}

.productListItem1 a {
  color: #333333;
}

.productListItem {
  padding: 0;
  list-style: none;
  color: #333;
  font-size: 13px;
  line-height: 2;
}

.productListPager {
  padding: 30px 0;
}

.productSearchTitle {
  margin: 30px 0 5px;
}

.p-sns .p-sns__list {
  display: inline-block;
}
.p-sns .p-sns__list a:hover {
  color: #666;
}
.p-sns .p-sns__list i {
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .p-sns .p-sns__list {
    margin-right: 10px;
  }
}

@media screen and (max-width: 990px) and (min-width: 768px) {
  .productList li a {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .productList li,
  .productListSm li {
    font-weight: normal;
    line-height: 1.2;
    font-size: 14px;
  }

  .productList li {
    padding: 10px 0 10px 15px;
    margin: 0;
  }

  .productListSm .productListItem1 {
    margin-top: 0;
    /*background: #FFF;*/
  }

  .productListSm .productListItem1 ul {
    margin-bottom: 0;
  }

  .productListSm .productListItem1 ul {
    margin-top: 0;
  }

  .productListSm {
    margin: 0;
    padding: 0;
  }

  .productListSm li {
    margin: 0 -20px 0 0;
    max-width: 100%;
  }
  .productListSm .productListItem2 {
    margin-bottom: 0;
    line-height: 1.2;
  }
  .productListItem1 .productListContents,
  .productListItem2 .productListContents {
    display: block;
    padding: 13px 30px 13px 20px;
  }
  .productListSm .productListContents:hover a,
  .productList .productListContents:hover a {
    color: #333;
    background: transparent;
  }
}

@media screen and (max-width: 500px) {
  .productListSm {
    width: 100%;
    border-left: 0;
  }
}

/* ---------------------
トップメインセクション
---------------------- */

/*
トピックス
--------------------*/
/* videoを親要素の幅に合わせる */
video {
  width: 100%;
}

.mainSectionTopics {
  margin: -6px 0 30px;
  position: relative;
}

.mainSectionTopics.-search {
  padding-bottom: 30px;
}

.searchTitle {
  border-left: 7px solid #6aa900;
  padding-left: 6px;
  line-height: 1.3;
  margin-bottom: 12px;
  font-weight: bold;
  font-size: 18px;
}

.mainSectionTopics.-search .searchTitle {
  margin-bottom: 20px;
}

.mainTopicsList {
  list-style: none;
  margin: -2px;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}

.mainTopicsListItem {
  margin: 0;
  padding: 0;
  border: 1px solid #fff;
  box-sizing: border-box;
  height: auto;
  /*height: 260px;*/
  /*overflow: hidden;*/
  position: relative;
  cursor: pointer;
}

.mainTopicsListItem time {
  padding-left: 20px;
  color: #fff;
  z-index: 3;
}

.mainNewsListItem time,
.mainTopicsListItem time {
  /*font-family: Verdana, sans-serif;*/
  font-size: 12px;
  padding-right: 10px;
  color: #888;
  font-weight: normal;
}

.mainTopicsListItem time {
  color: #fff;
}
.mainTopicsListTitle {
  margin: 0;
  padding: 0 20px 20px 20px;
  font-size: 15px;
  color: #fff;
  font-weight: bold;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  z-index: 2;
  line-height: 1.5;
}

.mainTopicsListData {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.mainTopicsListItem .kf-label {
  z-index: 2;
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px 18px;
  font-size: 14px;
}

.mainTopicsListItem .mainTopicsListItemImg {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 102%;
}

.mainTopicsListWrap {
  position: relative;
}

/*トップ:新着トピックス*/

.topTopicsListWrap {
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}

.topTopicsList {
  display: table;
  display: flex;
  width: 165%;
}

.topTopicsListWrap:hover .mainTopicsArrowsLeft {
  transform: translateX(0);
  opacity: 1;
}

.topTopicsListWrap:hover .mainTopicsArrowsRight {
  transform: translateX(0);
  opacity: 1;
}

.topTopicsListItem {
  display: table-cell;
  padding: 10px 15px;
  max-width: 250px;
  min-width: 250px;
  flex: 1;
  border-left: 1px solid #ddd;
}

.topTopicsListItemImg {
  height: auto;
  width: 100%;
}

.topTopicsListData {
  margin-top: 10px;
}

.topTopicsListTitle {
  margin: 0;
  font-size: 15px;
  color: #333;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 5px;
}

.topTopicsListTime {
  /*font-family: Verdana, sans-serif;*/
  color: #777;
  font-size: 12px;
}

.topTopicsListSummary {
  color: #777;
  font-size: 14px;
  margin: 0;
  position: relative;
  height: 69px;
  overflow: hidden;
  line-height: 1.6;
}

.topTopicsListItemImgContainer {
  height: 155px;
  position: relative;
}

.topTopicsListItemLabel {
  position: absolute;
  top: 0;
  right: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* トピックストップページ */

.un-flex .topTopicsList {
  display: flex;
  flex-wrap: wrap;
  width: auto;
}

.un-flex .topTopicsListItemImg {
  height: auto;
  width: 100%;
}

.un-flex .topTopicsListItemImgContainer {
  height: auto;
}

.un-flex .topTopicsListItem {
  display: block;
  flex: none;
  padding: 15px 15px 0;
  max-width: initial;
  max-width: auto;
  min-width: initial;
  min-width: auto;
  border-left: 0;
  border-right: 1px solid #ddd;
}

.un-flex .topTopicsListItem:nth-child(3n) {
  border-right: 0;
}

@media screen and (min-width: 769px) and (max-width: 991px) {
  .un-flex .topTopicsListItem:nth-child(3n) {
    border-right: 1px solid #ddd;
  }
  .un-flex .topTopicsListItem:nth-child(4n) {
    border-right: 0;
  }
}

.un-flex .topTopicsListItem a {
  border-bottom: 1px solid #ddd;
  padding-bottom: 15px;
  display: block;
  height: 100% !important;
}

.un-flex .topTopicsListItemImgContainer {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .un-flex.topTopicsListWrap {
    margin-right: -15px;
    margin-left: -15px;
  }
  .un-flex .topTopicsListItem {
    border-right: 0;
  }
  .un-flex .topTopicsListItemImgContainer img {
    width: 100%;
    height: auto;
    max-height: inherit;
  }
  .topicsNoimage {
    height: auto;
    width: 100%;
  }
}

/*end */

.mainTopicsArrows {
  z-index: 3;
}

.mainTopicsArrowsLeft,
.mainTopicsArrowsRight {
  z-index: 3;
  position: absolute;
  top: 50%;
  margin-top: -40px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.mainTopicsArrowsLeft {
  left: 0;
  width: 50px;
  height: 80px;
  background: url(../images/flexslider_left.png);
  opacity: 0;
  transform: translateX(-50px);
}

.mainTopicsArrowsRight {
  right: 0;
  width: 50px;
  height: 80px;
  background: url(../images/flexslider_right.png);
  opacity: 0;
  transform: translateX(50px);
}

@media screen and (max-width: 1220px) {
  .mainTopicsArrowsRight,
  .mainTopicsArrowsLeft {
    transform: translateX(0px);
  }
}

@media screen and (max-width: 768px) {
  .mainTopicsArrows {
    display: none;
  }
}

@media screen and (max-width: 991px) and (min-width: 480px) {
  .mainTopicsArrowsLeft,
  .mainTopicsArrowsRight {
    display: block;
  }
  .mainTopicsListWrap {
    white-space: nowrap;
    overflow-x: auto;
    margin-right: -20px;
    margin-left: -20px;
  }
  .mainTopicsList {
    display: inline;
  }
  .mainTopicsListItem {
    width: 260px;
    float: none;
    display: inline-block;
    white-space: normal;
  }
}

@media screen and (max-width: 768px) {
  .mainSectionTopics {
    margin: 100px 0 40px 0;
  }
  .subColumnRight {
    display: none;
  }
  .columnMain {
    width: 100%;
  }
}
@media screen and (max-width: 479px) {
  .mainTopicsListItem {
    margin-bottom: 20px;
    -webkit-flex: 1;
    flex: 1;
  }
  .mainTopicsListItem:nth-child(odd) {
    padding-right: 7.5px;
  }
  .mainTopicsListItem:nth-child(even) {
    padding-left: 7.5px;
  }
  .mainTopicsFilter {
    display: none;
  }
  .mainTopicsListItem time {
    color: #888;
    padding: 0;
  }
  .mainTopicsListTitle {
    color: #333;
    padding: 0;
    text-shadow: none;
  }
  .mainTopicsListData {
    position: inherit;
    padding-top: 10px;
  }
  .mainTopicsListItem .kf-label {
    position: inherit;
    bottom: 0;
    left: 0;
    font-size: 10px;
  }
  .mainTopicsListItem .mainTopicsListItemImg {
    width: 100%;
    height: auto;
    position: static;
    transform: none;
  }
}

@media screen and (min-width: 480px) {
  .mainTopicsListItemImgContainer {
    position: relative;
    height: 260px;
    overflow: hidden;
  }
}

.mainTopicsFilter {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: background 300ms 0s ease;
}

.mainTopicsListItem:hover .mainTopicsFilter {
  background: rgba(0, 0, 0, 0);
}

/*
お知らせ
--------------------*/
.mainSectionNews {
  clear: both;
  /*border-bottom: 1px solid #DDD;*/
  padding: 0 0 10px;
  margin: 0 0 30px;
}

.mainSectionNews .mainSectionTitle {
  background: #df0e26;
  color: #fff;
  border-radius: 3px;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  display: inline-block;
  padding: 2px 8px;
  margin: 0 0 15px;
}

.mainNewsList {
  list-style: none;
  margin: 0 -15px -10px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.mainNewsList > .mainNewsListItem {
  margin: 0;
  padding: 0 15px 10px;
  font-weight: bold;
  display: flex;
  line-height: 1.5;
}

.mainNewsListWrap {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}

.mainNewsListItem a {
  color: #333;
}

.mainNewsListItem a:hover,
.mainNewsListItem a:active {
  color: #6ca51e;
}

.mainNewsListItem a:hover,
.mainNewsListItem a:visited,
.mainNewsListItem a:active {
  text-decoration: none;
}

/*
商品一覧
--------------------*/
.mainProductSection {
  clear: both;
  border-bottom: 1px solid #ddd;
  padding: 0 0 20px;
  margin-bottom: 20px;
  position: relative;
}

.mainProductSection.-entry {
  padding-top: 20px;
  border-bottom: 0;
}

.mainProductSection:last-child {
  border-bottom: 0;
  margin-bottom: 60px;
}

.mainSectionTitle {
  font-size: 20px;
  line-height: 1.5;
  font-weight: bold;
  margin: 0 0 10px;
}

.mainBannerSection {
  border-bottom: 1px solid #ddd;
  padding: 0 0 20px;
  margin-bottom: 20px;
}

.viewAll {
  font-size: 12px;
  position: absolute;
  top: 8px;
  right: 0;
  margin-bottom: 0;
}

.viewAll a {
  color: #333;
}

.viewAll a:hover {
  text-decoration: underline;
}

.mainProductList {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
}

.mainProductListContainer {
  position: relative;
}

.mainProductListWrap {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;
}

.mainProductListItem {
  margin: 0;
  padding: 0 10px;
  flex: 0 0 auto;
  font-size: 13px;
  width: 210px !important;
}

.mainProductListItem img {
  width: 100%;
  height: auto;
  padding: 0 0 20px !important;
}

.mainProductListItem a {
  transition: all 0.2s ease;
  display: block;
  color: #333;
}

.mainProductListItem a:visited {
  color: #333;
}

.mainProductListItem a:hover {
  opacity: 0.7;
  color: #333;
  background: transparent;
}

.mainProductListName {
  font-size: 13px;
  line-height: 1.5;
  font-weight: bold;
  margin: 30px 0 12px;
}

.mainProductListLabel {
  font-size: 12px;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  border-radius: 3px;
}

.mainProductListPrev,
.mainProductListNext {
  z-index: 3;
  position: absolute;
  top: 50%;
  margin-top: -40px;
  cursor: pointer;
}

.mainProductListPrev {
  left: 10px;
  transform: translateX(-50px);
  width: 50px;
  height: 80px;
  background: url(../images/flexslider_left.png);
  opacity: 0;
  transition: all 0.3s ease;
}

.mainProductListContainer:hover .mainProductListPrev {
  transform: translateX(0);
  opacity: 1;
}

.mainProductListNext {
  right: 10px;
  transform: translateX(50px);
  width: 50px;
  height: 80px;
  background: url(../images/flexslider_right.png);
  opacity: 0;
  transition: all 0.3s ease;
}

.mainProductListContainer:hover .mainProductListNext {
  transform: translateX(0);
  opacity: 1;
}

@media screen and (max-width: 1220px) {
  .mainProductListPrev,
  .mainProductListNext {
    transform: translateX(0);
  }
}

@media screen and (max-width: 768px) {
  .mainProductListItem {
    width: 160px !important;
  }
  .mainProductListNext,
  .mainProductListPrev {
    display: none;
  }
}

/*---------------------
  トピックス関連書品
----------------------*/

.storeRelationTitle {
  margin: 20px 0 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid #cccccc;
  padding-left: 0 !important;
  padding: 0 0 10px;
}

.storeRelationItem a {
  padding: 20px 0 5px;
  display: table;
  display: flex;
  align-items: center;
  color: #333 !important;
  transition: opacity 0.2s;
}

.storeRelationItem a:hover {
  background: none;
  opacity: 0.6;
}

.storeRelationItemData {
  display: table-cell;
  vertical-align: middle;
}

.storeRelationItemData .headline3 {
  font-size: 20px;
}

.storeRelationItemData .headlineRuby {
  padding-left: 5px;
}

@media screen and (max-width: 480px) {
  .storeRelationItem a {
    display: block;
  }
  .storeRelationItemImg img {
    display: block;
    margin: 0 auto;
    width: 50%;
  }
  .storeRelationItemData {
    padding: 0;
  }
}
/*--------------------
検索
--------------------*/

.btnSearch {
  background: #999;
  border: 1px solid #ccc;
  font-size: 14px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  color: #fff;
  height: 34px;
  overflow: visible;
}

.acms-form-action {
  width: 160px;
  margin-top: -9px;
}

input[type='search'].searchFormInput,
input[type='text'].searchFormInput {
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: none;
  line-height: initial;
  height: auto;
  box-sizing: border-box;
  display: table-cell;
  vertical-align: baseline;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
}

/* RWD Table(.acms-entry .js-rwd-table)は本文用スタイルのため
   css/katsufujiya-editor.css へ移動 */

@supports (display: flex) {
  .row.flex-row {
    display: flex;
    flex-wrap: wrap;
  }
}

/* タブレット以下検索ボタン */

@media screen and (max-width: 991px) {
  .search-form {
    margin: 30px 10px 20px;
  }
  .acms-form-action {
    width: 100%;
  }
  .btnSearch {
    padding: 0 10px;
  }
}

/*KATSU-665 レイアウト確認用（山田） 2017/08/01-02 */
.orderInfoBack ul,
.acms-entry ul {
  margin-left: -10px;
  margin-bottom: 20px;
}

.orderInfoBack ol,
.acms-entry ol {
  margin-left: -10px;
  margin-bottom: 20px;
}

.orderInfoBack ul li,
.acms-entry ul li {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 10px;
  list-style-type: none;
  padding-left: 0.5em;
  position: relative;
}

.orderInfoBack ol li,
.acms-entry ol li {
  font-size: 13px;
  line-height: 1.3;
  margin-bottom: 10px;
  padding-left: 0;
  background: none;
  padding-left: 0.5em;
  position: relative;
}

.orderInfoBack ul li:before,
.acms-entry ul li:before {
  content: '';
  width: 6px;
  height: 6px;
  display: inline-block;
  border-radius: 100%;
  background: #bababa;
  position: absolute;
  left: -8px;
  top: 0.5em;
}

.acms-entry.storeEntry p {
  font-size: 14px;
}
.acms-entry.storeEntry li {
  font-size: 14px;
  line-height: 1.5;
}

.storeEntry .storeEntrySupplementWrap {
  margin-top: 32px;
}

.storeEntry .storeEntrySupplement .storeEntrySupplementTitle {
  font-size: 14px;
  background: #b1d67a;
  padding: 4px 10px;
  border-radius: 5px;
  display: inline-block;
}

/* 商品告知（手動選択・ラベル連動で表示される告知）。文字装飾は親要素 .acms-entry のスタイルに委ね、ここでは囲み（背景・枠線・余白）のみ定義する */
.productNotice {
  background-color: #ffffff;
  margin-bottom: 15px;
  border: 1px solid #cccccc;
  vertical-align: middle;
  padding: 15px 20px;
}
.productNotice > :first-child {
  margin-top: 0;
}
.productNotice > :last-child {
  margin-bottom: 0;
}

.orderTable {
  margin: 0 0 30px 0;
  font-size: 14px;
}

.orderTableImage > .orderTableBtns {
  background: transparent;
  height: auto !important;
}

.orderTableDivision {
  border-top: 1px solid #ddd;
  padding-top: 5px;
  margin-top: 5px;
  margin-left: 65px;
}
@media screen and (min-width: 769px) {
  .orderTableTopDivision.-orderTableTopDivision-pc-space-left-none {
    padding-left: 0;
  }
}

.orderTableItemCode {
  margin-bottom: 2px;
}
.orderTableItemCodeItem {
  display: inline;
  margin: 0;
}
.orderTableItemCodeItem.-historyLabels .kf-label {
  /* 閲覧履歴の設定：このページのみラベル間余白がなくなるため対策 */
  margin-right: 5px;
}
.orderTableItemCodeItem.-historyLabels .kf-label:last-child {
  margin-right: 0;
}
.orderTableCellNum {
  word-break: keep-all;
}

/* 1個あたり価格まわりの検収フィードバック対応（KATSU-1068 FR-07）。
   お気に入り・カート・ご注文手続き（最終確認）・商品詳細の全画面の1個あたり価格表示に適用する。
   価格セルのマークアップが画面ごとに微妙に異なる（div自体に orderTableCellNum が付くページ／
   付かないページがある）ため、このモディファイア単体で効くセレクタにしている */
.-hasPerUnitPrice {
  /* .orderTable の line-height:1.5 だとパック価格・1個あたり価格の2行表示の行間が間延びして見えるため詰める（PCの2行表示のみ対象）。
     1.3 でもまだアキが広いという検収フィードバック（KATSU-1068 comment-141652456）を受けて 1.15 まで再度詰めた */
  line-height: 1.15;
}
.-hasPerUnitPrice .orderTablePricePerUnit {
  /* PC=2行固定の改行は <br> ではなくここで表現する（KATSU-1068 comment-141652456 のアクセシビリティ指摘対応）。
     <br> はマークアップに改行を持ち込みプレゼンテーションと構造を混同するため、
     -hasPerUnitPrice が付くPC表示のみ display:block にして視覚的な改行をCSS側に寄せる。
     スマホ表示（white-space:nowrap の1行固定）には -hasPerUnitPrice を付与していないため影響しない */
  display: block;
}
.orderTablePricePerUnit {
  /* 折り返みによる意図しない3行化を防ぎ、右揃え時の飛び出しを最小限にする */
  white-space: nowrap;
}
.smallerSpan.orderTablePricePerUnit {
  /* 低価格商品（例: 100円/(@10)）では全角カッコ＋@の分だけ1個あたり価格の方が
     パック価格より横幅が広くなり、右揃えのまま左へ飛び出して見えるため、
     .smallerSpan(0.8em) よりもう一段階小さくして飛び出しを抑える */
  font-size: 0.7em !important;
}

@media screen and (max-width: 768px) {
  .kf-btn-sm.kf-btn-sm-block {
    width: 100%;
  }
  .orderTableFavorite {
    width: 50%;
    padding-top: 21px;
    float: left;
    padding-bottom: 22px;
  }
  /* 商品情報ブロック（商品コード／商品名／入数・税抜価格）のSP時の縦リズムを全画面で統一する。
     基準は商品一覧（商品エントリー）の見え方（KATSU-1068 検収フィードバック）。
     商品名と価格行が同じセルにある画面（商品一覧・お気に入り一覧）と、
     別セルに分かれている画面（カート・注文履歴・お気に入りセット・最終確認）が混在しており、
     余白の出どころが画面ごとに違っていたため、下記2クラスに集約する */
  .orderTableItemName {
    margin: 0 0 2px;
  }
  .orderTableItemPriceRow {
    margin: 0 0 10px;
  }
  /* 空のメモ（.js-itemMemo.itemMemo:has(> .itemMemoText:empty) で非表示）のとき、
     ラッパーの上マージンだけが残って商品名と価格行の間隔が基準より広がるのを防ぐ。
     メモ編集ボタンを持つお気に入り一覧は対象外 */
  .itemMemoWrap:has(> .itemMemo:has(> .itemMemoText:empty)):not(:has(> .itemMemoEdit)) {
    margin-top: 0;
  }
  .orderTableTitle:after {
    content: '';
    display: block;
    clear: left;
  }
  .orderTableImage {
    width: 65px;
    max-height: 64px;
  }
  .orderTableCell input,
  .orderTableCell .cartProductAmountHidden {
    width: 60px;
  }
  .orderTableCell .cartProductAmountHidden {
    font-size: 16px;
  }
  .orderTableCell.orderTableInput {
    white-space: nowrap;
  }
  .orderTableCell.orderTableInput:before {
    width: 50px;
  }
  .orderTableUnderItem {
    padding: 5px 0 0;
    margin-right: 0;
  }
  .orderTableUnderItem .kf-btn {
    display: block;
  }
  .orderTableSamplePurchase {
    padding: 8px 4px;
    display: block;
    text-align: center;
  }
  .orderTableItemCode {
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

    white-space: nowrap; /* New や 価格改定 などのラベルはわざと画面外へoverflow:hiddenさせてます。 */
    margin-bottom: 2px;
    margin-top: 10px;
  }
  .orderTableItemCodeItem {
    display: inline-block;
  }

  .orderTableTitle {
    margin-left: 65px;
    width: auto;
  }
  .orderTableBlock {
    margin-bottom: -4px;
  }
  /*.orderTableImage {*/
  /*min-height: 75px;*/
  /*}*/
  .cartProductAmountHidden {
    width: auto;
  }
  .orderTableFlex {
    display: flex;
  }
  /* .orderTableItemFlexible {
		width: 100%;
		flex-grow: 1;
	} */
  .orderTableItemFlexibleAmount {
    padding-right: 8px;
  }
  .orderTableItemRight {
    /* display: table; */
    display: flex;
    margin-right: -4px;
    margin-left: -4px;
    flex: 1;
  }
  .orderTableItemRightChild {
    /*display: table-cell;*/
    /* flex-grow: 1; */
    padding: 0 4px;
  }
  .orderTableItemRightChildFirst {
    padding: 0 5px;
  }
  .orderTableStarOuterGrow {
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .orderTableItemQuantity {
    display: inline;
    margin-right: 10px;
  }
  .orderTableItemQuantitySm-right-next-item {
    display: inline-block;
    margin-right: 8px;
  }
  .orderTableItemQuantitySm {
    display: inline-block;
  }
  .orderTableCartBox {
    margin-bottom: 0;
    padding-left: 65px; /* SPスタイル調整用 */
    margin-top: 5px;
  }
  .orderTableCartBox button {
    margin-top: 5px !important;
  }
  .orderTableTopDivision {
    padding-left: 65px;
  }
  /* カート・お気に入りセット・注文履歴・ご注文内容の最終確認は、商品名セル
     （.orderTableCell.orderTableTopDivision）の中のSPブロックでも .orderTableTopDivision を
     重ねて使っているため、写真分の字下げ 65px が二重に効いて入数・価格行だけが
     さらに右へ寄り、アクション行の幅も足りなくなっていた。
     入れ子になった側は字下げ済みなので打ち消す（商品エントリー・お気に入り一覧と同じ
     「商品名と同じ左位置」に揃う） */
  .orderTableTopDivision .orderTableTopDivision {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  /* .orderTableItemRight {
		flex-wrap: wrap;
	} */
  /*.orderTableItemRightChild {*/
  /*margin-bottom: 5px;*/
  /*}*/
  .orderTableItemRightChildFirst {
    flex-basis: 100%;
    margin-bottom: 5px;
  }
}

b,
strong {
  font-weight: normal;
}

.index-item-code {
  /*font-family: Verdana, sans-serif;*/
  font-size: 11px;
  color: #888888;
  font-weight: normal;
  margin-bottom: 4px;
}

@media screen and (max-width: 480px) {
  .index-item-code {
    margin-top: 12px;
  }
}

ul.index-item-info-box {
  margin-left: -40px;
  margin-bottom: 0px;
  margin-top: 4px;
}

.index-item-info-box li {
  /*font-family: Verdana, sans-serif;*/
  color: #888888;
  font-size: 12px;
  margin-bottom: 0.5em;
  list-style-type: none;
  padding-left: 0;
  font-weight: normal;
  display: inline-block;
}
.index-item-info-box li:first-child {
  margin-right: 5px;
}
.categoryItem .caption {
  font-size: 14px;
  border-bottom: 1px solid #ffffff;
  padding: 0 20px;
}
.categoryItem {
  border-right: 1px solid #ffffff;
}

@media screen and (max-width: 480px) {
  .categoryItem .caption {
    padding: 0;
  }
}

/*----------
検索結果
--------------------*/

.searchDataList h1 {
  padding-left: 0 !important;
}

@media screen and (max-width: 768px) {
  .searchDataList .mainSectionTopics {
    margin-top: 0;
  }
}

@media screen and (min-width: 992px) {
  .searchDataList .headline1 {
    margin-top: 0;
  }
}

.acms-entry h2,
.orderWarningSection h2,
.headline2 {
  padding-left: 10px;
  line-height: 1;
}

.acms-entry.storeEntry h2 {
  margin-left: 12px;
  font-size: 18px;
  padding-left: 10px;
  line-height: 1;
}

.acms-entry h3 {
  padding: 0;
  border: none;
}

.orderPanelBody {
  border: none;
}

.orderInfoBack h4,
.acms-entry h4 {
  font-size: 14px;
}

.orderInfoBack h2,
.acms-entry h2,
.orderWarningSection h2,
.headline2,
.acms-entry.storeEntry h2 {
  border-left: 7px solid #6aa900;
  padding-left: 6px;
  line-height: 1.3;
  margin-bottom: 12px;
}

.acms-entry h3,
.headline3,
.orderInfoBack h3 {
  margin-bottom: 10px;
  margin-top: 20px;
}

/* table + h2 / [class*='column-table-'] + h2 は本文用スタイルのため
   css/katsufujiya-editor.css へ移動 */
.acms-entry p + h2,
.acms-entry hr + h2,
.acms-entry ul + h2,
.acms-entry ol + h2,
.acms-entry .acms-container + h2 {
  margin-top: 40px;
}
.acms-entry .js-acms-unlogin + h2 {
  margin-top: 0;
}

.acms-entry p + h3,
.acms-entry hr + h3,
.acms-entry ul + h3,
.acms-entry ol + h3,
.acms-entry .acms-container + h3 {
  margin-top: 25px;
}
.acms-entry .js-acms-unlogin + h3 {
  margin-top: 0;
}

.acms-entry h2 + h3 {
  margin-top: 22px;
}

.acms-entry .acms-col-4 hr + h2,
.acms-entry .acms-col-6 hr + h2,
.acms-entry .acms-col-4 hr + h3,
.acms-entry .acms-col-6 hr + h3 {
  margin-top: 20px;
}

.orderPanelBody [class*='column-eximage-'].nocaption,
.orderPanelBody [class*='column-image-'].nocaption,
.orderPanelBody [class*='column-media-'].nocaption,
.orderPanelBody [class*='column-video-'],
.orderPanelBody [class*='column-yolp-'],
.orderPanelBody [class*='column-youtube-'] {
  margin-bottom: 20px;
}

div.itemInfoText ul {
  margin-left: -20px;
  list-style-type: none;
}
div.itemInfoText li {
  padding-left: 0;
  position: inherit;
  margin-bottom: 6px;
}

div.itemInfoText li:before {
  content: '';
  width: 0;
  height: 0;
  display: none;
  border-radius: 0;
  background: none;
  position: inherit;
}

.acms-entry li ul {
  margin-top: 10px;
  margin-bottom: 10px;
}
/*
	従来のacms.cssを使用
*/

@media screen and (max-width: 479px) {
  .acms-grid-r .acms-entry:not(.topicEntry) [class*='acms-col'] {
    float: none;
    width: 100%;
  }
}

@media screen and (max-width: 991px) {
  .normalBox {
    margin-top: 100px;
    margin-bottom: -50px !important;
  }
}

/* スライダー */

@media screen and (max-width: 991px) {
  .js-slider {
    margin: 0px -20px;
  }
  .js-gallery-item:first-child {
    margin-left: 20px;
  }
}

/* お問い合わせ */

.contact p {
  margin-left: 0;
}

.orderInfoBack {
  padding: 20px 10px;
}

.orderInfoBack > p,
.orderInfoBack > h3,
.orderInfoBack > h2 {
  padding: 0 10px;
}

.orderInfoBack [class*='acms-col'] p {
  padding: 0;
}

.orderInfoBack > [class*='column-image'] {
  padding: 0 10px;
}

.orderInfoBack > ul {
  margin-left: -5px;
}

.orderInfoBack .entry-container-slide-wrap {
  margin-left: 0;
  margin-right: 0;
  padding: 0 10px;
}

.orderInfoBack [class*='acms-col'] .entry-container-slide-wrap {
  padding: 0;
}

/*----------
タグ
--------------------*/
.tag-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
}
.acms-entry .tag-list {
  /* acmsスタイルを打ち消し */
  margin-bottom: 0;
  padding-right: 0;
  margin-left: 0;
}
.tag-item {
  display: inline-block;
  padding: 0;
  margin: 0 8px 8px 0;
}
.acms-entry .tag-item {
  /* acmsスタイルを打ち消し */
  padding-left: 0;
  margin-bottom: 8px;
}
.acms-entry .tag-item::before {
  /* acmsスタイルを打ち消し */
  content: none;
}
.tag-item .kf-btn {
  margin-left: 0;
  padding-right: 26px;
  padding-left: 26px;
}

.side-tag-box {
  margin-bottom: 8px;
}
.side-tag-box .headline2 {
  margin-right: 0;
  margin-left: 0;
}
.acms-entry .side-tag-box .headline2 {
  /* acmsスタイルを打ち消し */
  margin-left: 0;
}

/* タグ検索結果ページ */
@media screen and (max-width: 768px) {
  .tag-search-head {
    margin-bottom: 40px;
  }
}
.tag-selected-box {
  margin-bottom: 8px;
}
.tag-list.-selected .tag-item {
  margin-right: 10px;
}
.tag-list.-selected .kf-btn,
.tag-list.-selected .kf-btn:link,
.tag-list.-selected .kf-btn:visited,
.tag-list.-selected .kf-btn:hover,
.tag-list.-selected .kf-btn:focus,
.tag-list.-selected .kf-btn:active {
  color: #333;
}
.tag-list.-choice .kf-btn {
  padding: 10px 20px;
  font-size: 12px;
}
.tag-list.-selected .kf-btn.omit {
  position: relative;
  padding-left: 23px;
  padding-right: 35px;
}
.tag-list.-selected .kf-btn-close:before,
.tag-list.-selected .kf-btn-close:after {
  content: '';
  display: block;
  width: 9px;
  height: 2px;
  background: #a7a7a7;
  transform: rotate(45deg);
  position: absolute;
  top: 21px;
  right: 9px;
}
.tag-list.-selected .kf-btn-close:after {
  transform: rotate(-45deg);
}
.tag-list.-selected .kf-btn-separate:before {
  content: '';
  display: block;
  width: 16px;
  height: 1px;
  background: #a7a7a7;
  transform: rotate(90deg);
  position: absolute;
  top: 21px;
  right: 17px;
}

/*----------
見出し
--------------------*/
.title-line {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: bold;
}
.title-line__deco {
  flex: 1;
  margin-left: 8px;
  border-top: 1px solid #ccc;
}

/*----------
付属品一覧
--------------------*/
/* 見出し */
.acc-headline {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 26px;
  margin: 30px 0 0;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .acc-headline {
    font-size: 20px;
    margin-bottom: 40px;
  }
}
.acc-headline-img {
  display: block;
  width: 80px;
  height: auto;
  margin-right: 8px;
}
.acc-headline-text {
  flex: 1;
}

/* リスト */
.acc-list-wrap {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .acc-list-wrap {
    margin-bottom: 40px;
  }
}

.js-lazy-load {
  position: relative;
  width: 100%;
  height: 100%;
  transform: translateY(30px);
  opacity: 0;
  transition:
    opacity 0.8s cubic-bezier(0.5, 0, 0, 1) 0.1s,
    transform 0.9s cubic-bezier(0.5, 0, 0, 1) 0.1s;
}
.js-lazy-load.loading {
  transform: translateY(0);
  opacity: 1;
}

img.js-lazy-load {
  background: #f8f8f8 url('../images/noimage.png') no-repeat center / 40px 40px;
}
img.js-lazy-load.loaded {
  background: none;
}
.js-lazy-load.is-movie {
  background: #f8f8f8 url('../images/noimage.png') no-repeat center / 40px 40px;
}

.kf-label-alternative {
  display: none;
}
.js-link_check_area_hide {
  display: none;
}

/**
 * 会員ページ
 */

.kf-member-container {
  max-width: 480px;
  margin: 0 auto;
}

.kf-member-title-box {
  max-height: 140px;
  margin: 20px auto 0;
  overflow: hidden;
  text-align: center;
  background-color: white;
}

.kf-member-box {
  max-width: 480px;
  margin: 25px auto 0;
  padding: 0 20px 20px;
  background-color: #fff;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.kf-member-form {
  margin-bottom: 10px;
}

.kf-member-form-control {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.kf-member-action {
  margin-bottom: 10px;
}

.kf-member-button-group {
  margin-top: 30px;
}

.kf-member-button-group .kf-btn:first-child {
  margin-left: 0;
}

/**
 * Tom Select カスタマイズ
 */
.kf-tom-select .ts-dropdown .optgroup .option {
  /* 1文字分のインデント */
  padding-left: 1.75em;
}

/**
 * 外部リンク
 */
a.external-link[target='_blank'] {
  color: #ff6666;
}

a.external-link[target='_blank']::after {
  background-color: currentColor;
  background-position: 50%;
  background-repeat: no-repeat;
  display: inline-block;
  height: 11px;
  margin-left: 0.25rem;
  margin-right: 0.375rem;
  width: 11px;
  --tw-content: '';
  content: var(--tw-content);
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' fill='none' viewBox='0 0 11 11'%3E%3Cpath stroke='currentColor' stroke-miterlimit='10' d='M6 .5h4.5V5M10 1 4 7M4.55 1.5H.5v9h9V6.45'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' fill='none' viewBox='0 0 11 11'%3E%3Cpath stroke='currentColor' stroke-miterlimit='10' d='M6 .5h4.5V5M10 1 4 7M4.55 1.5H.5v9h9V6.45'/%3E%3C/svg%3E");
}

/*-----------------------
カード全体をクリック可能にする(js-biggerlink の置き換え)
https://getbootstrap.jp/docs/5.3/helpers/stretched-link/
-------------------------*/
.bl-container {
  position: relative;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: '';
}

/*-----------------------
閲覧履歴（history.html）: 画像｜商品コード｜商品名 の1行横並び表示用
既存の .orderTable* クラス（display:table-cell前提）は変更せず、
その内側のインライン表示だけを軽量なflexクラスで実現する
-------------------------*/
.historyItemInfo {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  /* 行間は改修前の .orderTableItemCode の margin-bottom:2px に合わせる */
  gap: 2px 8px;
}
.historyItemCode {
  flex-shrink: 0;
}
/* ラベルは商品コードの直後（商品名の前）に置く。数が増えたときは行内で折り返す。
   flex-shrink:0 やデフォルトの min-width:auto のままだとラベル群が縮まず
   セル幅を超えてはみ出すため、min-width:0 を指定して内部で折り返させる */
.historyItemInfo > .-historyLabels {
  display: flex;
  flex-wrap: wrap;
  /* ラベル同士の余白は gap で一元管理する。.kf-label の margin（右5px・下3px）任せだと
     折り返した行同士の間隔が足りずラベルがくっついて見えるため、下の指定で margin を打ち消す */
  gap: 4px 5px;
  min-width: 0;
}
.historyItemInfo > .-historyLabels .kf-label {
  margin: 0;
}
/* 商品名は常に次の行へ落とし、改修前と同じ2段構成
   （1行目: 商品コード＋ラベル ／ 2行目: 商品名）にする */
.historyItemTitle {
  flex: 1 1 100%;
}

@media screen and (max-width: 768px) {
  /* SPの画像セルは float:left ＋ 画像の上下15pxマージンで、数量・金額が縦に続いて
     行が高くなるカート・注文履歴に合わせてある。閲覧履歴はコード・商品名・ラベル
     だけで行が低いため、そのマージン分だけ画像が下にずれて見えてしまう。
     この行に限り flex にして画像と文字を上下中央で揃える
     （.orderTableImage / .orderTableImage img の共通指定は他画面に影響するため変更しない） */
  .orderTableTr.-history {
    display: flex;
    align-items: center;
  }
  .orderTableTr.-history .orderTableImage {
    float: none;
    flex: 0 0 65px;
    /* flexアイテムでは max-height:64px が画像を切る恐れがあるため解除する */
    max-height: none;
    /* 汎用SPスタイルの min-height:60px が残ると画像が箱の上に張り付き、
       商品名が2行になる行で画像がテキストブロックの上下中央からずれるため解除する */
    min-height: 0;
  }
  .orderTableTr.-history .orderTableImage img {
    margin-top: 0;
    margin-bottom: 0;
  }
  .orderTableTr.-history .orderTableTopDivision {
    flex: 1 1 auto;
    /* 画像分の余白は flex の 65px 列で確保されるため、共通の padding-left:65px は不要 */
    padding-left: 10px;
  }
}

/* お気に入りメモ・お気に入りセット/注文履歴タイトル（KATSU-1070） */

.itemMemoWrap {
  margin-top: 4px;
}

/* メモの省略表示（クリック/ホバーで全文表示するトリガー）。<button>のデフォルト装飾を打ち消し、
   従来の<p>表示と見た目を揃える。paddingを持つ<button>自体に-webkit-line-clampをかけると
   クリップ計算にpaddingの丸め誤差が乗り、3行目の頭がわずかにはみ出ることがあるため、
   paddingなしの内側の<span class="itemMemoText">側でクリップする */
.js-itemMemo.itemMemo {
  display: block;
  width: 100%;
  margin: 0;
  padding: 4px 8px;
  border: none;
  background-color: #f7f7f7;
  border-radius: 4px;
  font-size: 12px;
  color: #666;
  text-align: left;
  cursor: pointer;
}

.itemMemoText {
  display: -webkit-box;
  line-height: 1.5;
  white-space: pre-line;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* メモが空の行は要素自体は常に出力し、CSSで非表示にする
   （サーバーテンプレートのBEGIN_IF分岐でDOM要素自体が無くなると、
   JSからのメモ即時反映（favoriteMemo:updatedイベント）が効かなくなるため） */
.js-itemMemo.itemMemo:has(> .itemMemoText:empty) {
  display: none;
}

/* メモ全文表示用のポップオーバー（Popover API）。表示中のみ[popover]がtop layerへ描画する */
.itemMemoPopover {
  /* CSS Anchor Positioning（KATSU-1070）。トリガー側`anchor-name`と対になる`position-anchor`は
     各テンプレートのインラインstyleで行ごとに一意な値を設定している。
     position-area: bottomでアンカー（トリガーボタン）の下・水平中央に配置し、
     画面下端で収まらない場合はposition-try-fallbacksで自動的に上側へ切り替える
     （未対応ブラウザは@oddbird/css-anchor-positioningで補完） */
  position-area: bottom;
  position-try-fallbacks: flip-block;
  max-width: min(320px, calc(100vw - 16px));
  margin: 4px 0 0;
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  background-color: #333;
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-line;
  word-break: break-all;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  /* 開閉アニメーション（KATSU-1070、.kf-dialogと同じ仕組み） */
  opacity: 0;
  transform: translateY(4px) scale(0.97);
  transition:
    opacity 0.12s ease,
    transform 0.12s ease,
    overlay 0.12s ease allow-discrete,
    display 0.12s ease allow-discrete;
}

.itemMemoPopover:popover-open {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@starting-style {
  .itemMemoPopover:popover-open {
    opacity: 0;
    transform: translateY(4px) scale(0.97);
  }
}

.itemMemoEdit {
  display: inline-block;
  margin-top: 2px;
  /* タップ領域を上下方向に拡大（見た目のフォントサイズはそのまま） */
  padding: 6px 2px;
  border: none;
  background: none;
  font-size: 12px;
  color: #6aa900;
  text-decoration: underline;
  cursor: pointer;
}

.itemMemoEdit:hover,
.itemMemoEdit:focus {
  color: #4d7a00;
}

/* メモ・タイトル入力／確認用のネイティブ<dialog>（KATSU-1070）。
   showModal()表示中はブラウザ既定で画面中央に配置されるため、幅・余白・角丸のみ指定する */
.kf-dialog {
  box-sizing: border-box;
  width: 90%;
  max-width: 400px;
  padding: 0;
  border: none;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  /* 開閉アニメーション（KATSU-1070）。@starting-style + allow-discrete により、
     showModal()/close() 呼び出し時にdisplay/overlayの切り替えも含めて
     フェード＋拡大縮小のトランジションがかかる（未対応ブラウザは即時表示/非表示にフォールバック） */
  opacity: 0;
  transform: scale(0.95);
  transition:
    opacity 0.15s ease,
    transform 0.15s ease,
    overlay 0.15s ease allow-discrete,
    display 0.15s ease allow-discrete;
}

.kf-dialog[open] {
  opacity: 1;
  transform: scale(1);
}

@starting-style {
  .kf-dialog[open] {
    opacity: 0;
    transform: scale(0.95);
  }
}

.kf-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.15s ease, overlay 0.15s ease allow-discrete, display 0.15s ease allow-discrete;
}

.kf-dialog[open]::backdrop {
  opacity: 1;
}

@starting-style {
  .kf-dialog[open]::backdrop {
    opacity: 0;
  }
}

.kf-dialog-header {
  position: relative;
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}

.kf-dialog-header .modal-title {
  margin: 0;
}

.kf-dialog-header .close {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 44px;
  min-height: 44px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.kf-dialog-body {
  padding: 15px;
}

.kf-dialog-footer {
  padding: 15px;
  border-top: 1px solid #e5e5e5;
  text-align: right;
}

.kf-dialog-footer .kf-btn {
  margin-left: 8px;
}

.orderTitleText {
  font-weight: bold;
  color: #333;
  /* 半角英数字が連続するタイトルは通常のword-breakでは折り返されずはみ出すため明示的に折り返す（KATSU-1070 検収フィードバック対応） */
  overflow-wrap: break-word;
  word-break: break-word;
}

.orderTitleDate {
  font-size: 12px;
  color: #999;
}

.orderTitleEditBtn {
  margin-left: 8px;
  /* タップ領域を上下方向に拡大（見た目のフォントサイズはそのまま） */
  padding: 6px 2px;
  border: none;
  background: none;
  font-size: 12px;
  color: #6aa900;
  text-decoration: underline;
  cursor: pointer;
}

.orderTitleEditBtn:hover {
  color: #4d7a00;
}

.memoInputCount {
  margin: 4px 0 0;
  font-size: 12px;
  color: #999;
}

/* 残り文字数が少ない場合の警告表示（KATSU-1070 UI改善） */
.memoInputCount.is-warning {
  color: #b3541e;
}

.memoInputCount.is-danger {
  color: #c23b3b;
  font-weight: bold;
}

/* メモ・タイトル入力ダイアログのエラー表示（Bootstrap3のhas-error/help-block相当、KATSU-1070 UI改善） */
.kf-dialog .help-block {
  display: none;
  margin: 6px 0 0;
  font-size: 12.5px;
  color: #c23b3b;
}

.kf-dialog .form-group.has-error .form-control {
  border-color: #c23b3b;
}

.kf-dialog .form-group.has-error .help-block {
  display: block;
}

/* タイトル未設定時、DOM構造を変えずにタイトル要素と日時の括弧のみ非表示にする（KATSU-1070 UI改善、reload廃止対応） */
.js_orderTitleText:empty,
.js_backOrderTitleText:empty {
  display: none;
}

.js_orderTitleText:empty ~ .orderTitleDate .js_orderTitleBracket,
.js_backOrderTitleText:empty ~ .orderTitleDate .js_orderTitleBracket {
  display: none;
}

/* KATSU-1062: SmartPhoto（画像拡大ビューアー）の配色を白系にする（登録画像が
 * 白背景前提のため）。本体（js/dest/smartphoto*.chunk.{js,css}）は直接編集せず、
 * 本体が公開している CSS カスタムプロパティの上書きのみで対応する。
 * 本体 CSS は var(--smartphoto-*, 既定値) で参照するだけで変数自体は定義しないため、
 * :root に置けば本体 CSS の注入順序に関係なく効く。 */
:root {
  --smartphoto-backdrop-color: #fff;
  /* ヘッダー帯（カウンター・キャプション・閉じるボタンの背景）は既定が
   * 半透明の黒 rgba(0,0,0,.2)。白背景時に残すと上部だけ薄暗い帯が浮くため透明にする */
  --smartphoto-header-color: transparent;
  /* カウンター・キャプション・閉じるボタンの色。未指定だと本体が背景色から
   * 自動算出（白背景なら #000）するが、FlexSlider 矢印の色調に合わせて #333 に固定する。
   * 一度 rgba(51,51,51,.3) まで薄くしたが、ユーザー確認で薄すぎたため不透明度100%に
   * 戻した（2026-09-09） */
  --smartphoto-icon-color: #333;
}

/* 色調は商品詳細のサムネイル切替（FlexSlider、themes/katsufujiya@bootstrap3/
 * images/flexslider_right.png 等）の矢印アイコンに合わせる（ImageMagick の
 * ヒストグラムで実測: 背景 rgba(51,51,51,.3)、矢印線は白）。PC 表示のみが対象
 * （SP は FR-04 で矢印自体を非表示にしている）。
 * Why not: 矢印背景にはカスタムプロパティが用意されていないため、ここだけはセレクタで
 * 上書きする。本体 CSS は ACMS.Dispatch でページ読み込み後に注入され後勝ちになるので、
 * dialog.smartphoto まで詳細度を上げて勝たせる */
dialog.smartphoto .smartphoto-arrow-left,
dialog.smartphoto .smartphoto-arrow-right {
  background-color: rgba(51, 51, 51, 0.3);
}
