/* ------------------------------
オンラインショップ スタイル定義
------------------------------ */

/* ヘッダブロックの定義 */
#wrapper_shop {
  width:100%;/* そもそも containerで980pxにしている */
  margin:3px auto 1rem;
  padding:160px 0 0 0;
  text-align:left;
}
.PVcbl-Overview P,
.H4con-Overview P,
.shopindex-Overview-top p,
.shopindex-Overview p {
  padding:0.7rem 0rem;
  line-height:180%;
}
.shopindex-Overview p,
.shopindex-Overview table {
  margin-left:1rem;
} 
p {
	font-size: 12pt;
}
p.txtCenter {
	text-align:center;
}

/* その他の定義 */
.header_shop {
  background:#fff;
  padding:8px 0px 6px;
  margin:0 0 20px 0;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.header_shop img {
  position: absolute;
  right:20px;
  top:5px;
}
h1.os-idx {
	color: #555;
	font-size: 1.7rem;
  line-height: 130%;
  margin:0;
}
h1.os-idx span {
  display:block;
  font-size:1.07rem;
  line-height: 110%;
}
h1.os-h1 {
	color: #555;
	font-size: 1.4rem;
  line-height: 130%;
  margin:0;
}
.heading20shp {
  border-left:8px solid #666;
  color:#666;
  font-size: 1.3rem;
  font-weight:bold;
  margin:2rem 0 1rem;
  padding:0.2rem 0.6rem; 
}
.atten2 {
	margin: 0px 0 15px 0px;
	padding: 0;
	color : #cc0000;
	font-size: 80%;
  line-height: 1;
}
hr {
	color: #004080;
	height: 1px;
}
.font-red {
	color : #cc0000;
}
.font-bold {
	font-weight : bold;
}
.font-uline {
	text-decoration: underline;
}


/* shop index.html */
/* ページトップのテキストと画像レイアウト */
.shop_top_img {
  float:right;
  width:370px;
}
.shop_top_text {
  float:left;
  width:600px;
}
.shop_top_itembtn {
  /*margin-top:80px;*//*点数が２点で、float:left で上に食い込ませる時*/
}



/* mart_HH.html */
.martHH_left {
  float:left;
}
.martHH_right {
  float:right;
}

.martHH_left .martHH_Connector {
  margin:20px 0 20px 10px;
  font-size:0.85rem;
  padding-left:1em;
  text-indent:-1em;
}
.martHH_right .martHH_kougu {
  /*margin:70px 0 20px 10px;*/
  margin:20px 0 20px 10px;
  font-size:0.85rem;
  padding-left:1em;
  text-indent:-1em;
}


/* ボタンデザイン */
input.mart_formbtn {
  background:#fff;
  border:2px solid #000;
  border-radius:8px;
  color:#000;
  font-weight:bold;
  padding: 0.8rem 0;
  margin:0 50px;
  width:280px;
  text-align: center;
  transition: all 0.5s;
  cursor: pointer;
  -webkit-appearance: none;
}
.mart-navigation-conf form{
  width:280px;
  margin:0;
}
.mart-navigation-conf form .mart_formbtn{
  margin:0;
}


.mart_close_window_box {
  width:500px;
  margin:60px auto ;
  text-align: center;
}
.mart_close_window {
  background:#DEEBF7;
  border: 1px solid #0070C0;
  color: #0070C0;
  font-weight:bold;
  font-size: 1.2rem;
  padding: 0.8rem 0;
  margin:0 50px;
  text-align: center;
  transition: all 0.5s;
}

input.mart_formbtn:hover {
  background:#eaeaea;
}
input.mart_formbtn:active {
  background:#ccc;
}


/* ショップ用ナビゲーション定義 */

#us-link {
	float: right;
}
#us-link ul {
	margin: 0;
	padding: 0;
	display: block;
	list-style-type: none;
	line-height: 1.0;
	font-size: 12px;
	font-family: ＭＳ Ｐゴシック;
}
#us-link li {
	margin: 0;
	padding: 5px 0;
	line-height: 1.0;
}
#us-link ul a {
	display: block;
	margin: 0;
	padding: 0;
	text-decoration: none;
	line-height: 1.0;
}
#us-link ul a:hover {
	text-decoration: underline;
	color: #FD4118;
}
/* 定義 */


/* 商品一覧用定義 */

.pv_cable {
	width: 240px;
	float: left;
	margin: 0;
	padding: 0;
}
.row1-2 {
	float: left;
	width: 732px;
	margin: 0;
	padding: 0;
}

.shopitem {
	float: left;
	width: 240px;
	/*height:380px;通常価格*/
	/*height:420px; 期間限定価格*/
	/*height:470px!important;*/
	height: 490px!important;
	padding: 0 0 0 0;
	border: 1px solid #999999;
	background: #ffffff;
	text-align: center;
	margin: 0 0 6px 0;
}
.shopitem-pv {
	width: 240px;
	/*height:380px;通常価格*/
	/*height:420px; 期間限定価格*/
	/*height:620px!important;*/
	padding: 0 0 0 0;
	border: 1px solid #999999;
	background: #ffffff;
	text-align: center;
	margin: 0 4px 4px 0;
}
.item-image {
	height: 130px;
}
.item-detail {
	/*width:240px;*/
	height: 130px;
}
.item-detail-pv {
/*width:240px;*/
	/*height:280px;*/
}
.pcate {
  height:1rem;
  padding:0.4rem 0 0 0.5rem;
  font-weight:bold;
  color:#004080;
  font-size:1.1rem;
  text-align:left;
}
img.new {
  padding:0 0 0.2rem 2.2rem;
}
.pr {
	width: 95%;
	font-size: 80%;
	margin: 0;
	padding: 0 5px;
	line-height: 150%;
	text-align: left;
}
.hanbai-tani {
	font-size: 0.9rem;
	font-weight: bold;
	text-decoration: underline;
}
.pn {
	margin: 0;
	padding: 10px;
	color: #0060A6;
	font-size: 100%;
	font-weight: bold;
	background: #efefef;
	border-bottom: 1px solid #dddddd;
}

.item-img {
	margin: 10px 0px;
}
.detail-pno {
	width: 95%;
	font-size: 82%;
	margin: 15px 0 0px 6px;
	line-height: 1;
	text-align: left;
}
.detail {
	width: 95%;
	font-size: 82%;
	/*margin: 15px 0 15px 10px;*/
  margin: 3px 0 0px 6px;
	padding: 0 2px 0 0.5em;
	line-height: 150%;
	text-align: left;
	text-indent: -0.5em;
}
.item-info {
	/*width:240px;*/
	/* height:120px; 通常時*/
	/*height:160px;*/
	background: #eeeeee;
	text-align: left;
	margin: 0 5px 20px 5px;
	padding: 8px 0px 15px 8px;
}
.price {
	font-size: 90%;
	padding: 5px 0;
}
.price-x {
	font-size: 90%;
	padding: 5px 0;
	text-decoration: line-through;
　/*期間限定価格の時のみ*/
}
/*期間限定価格の時のみ*/
.offprice {
	font-size: 95%;
	color: #d60000;
	font-weight: bold;
	padding: 5px 0;
}
.qty {
	font-size: 90%;
	padding: 5px 0;
}
.ord-qty {
	font-size: 90%;
	padding: 5px 0 0;
  font-weight: bold;
}

input.input_mart_qty {
	text-align:right;
	/*padding-right:0.2rem;	*/
  width:60px;
}
select.input_mart_qty {
  text-align:right!important;
  text-align-last: right;
  width:60px;
} 
select.input_mart_qty option {
  direction: rtl;
}
.ord-btn img {}
.ord-btn-wrap {}
input[type="submit"] {
 -webkit-appearance: none!important;
}
/*input要素の注文ボタンには、疑似要素を設定できないため*/
.ord-btn {
  position: relative;
  background:#fff;
  border:2px solid #000;
  border-radius:8px;
  padding: 0;
  margin: 15px 20px 3px auto;
  width:110px;
  transition: all 0.2s;
  cursor: pointer;
 }
.ord-btn::before {
  position: absolute;
  top:0px;
  left:7px;
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  background: url("../images/icon_cart.png") no-repeat 50% 50% ;
  /*img src="images/icon_cart_35px.jpg" width="35" height="23"*/
  background-size: contain;
  width: 27px;/*画像の幅*/
  height: 27px;/*画像の高さ*/
  vertical-align: middle;
}
input.martinbtn {
  border:none;
  background:#fff;
  border-radius:8px;
  color:#000;
  font-size:.9rem;
  font-weight:bold;
  margin:0;
  padding:3px 8px 3px 0;
  width:100%;
  text-align: right;
  transition: all 0.2s;
  cursor: pointer;
}
input.martinbtn:hover {
  background:#eaeaea;
}
.ord-btn:hover {
  border:2px solid #aaa;
}
input.martinbtn:active{
  background:#ccc;
}


/* ショップ入口ページ用定義 */

#ent-wrap {
	text-align: center;
	magrin: 0 auto;
	background: url(../images/image_20100910.jpg) 700px 25px no-repeat;
}
#ent-message {
	/*width:650px;*/
	width: 950px;
	margin: 0px auto;
	padding: 10px 0 0 0;
	text-align: left;
}
img.shop-image {
	width:370px;
	/*下記、創立記念日仕様 */
	height: 230px;
	object-fit:cover;
	object-position: 0% 0%;
}

.holiday {
  margin:0.5rem 0 0;
  padding:0 0; /*0.2rem*//*add 20220303*/
	text-align:left;
  /*border:1px solid #aaa;
  border-radius: 2px;*/
}
.holiday-title {
  color:#555;
	font-size:0.8rem!important;
  font-weight: bold;
  padding:0 0 0.3rem 0!important;
  margin:0 0;
	text-align: center;
}
.holiday p.holiday-text {
	margin:0.5rem 0;
  padding:0.05rem 0rem;
  line-height: 140%;
  font-size:.73rem;
  letter-spacing: -0.5px;
}
@media screen and (max-width:979px) {
  .holiday_wrap {
    text-align: center;
    margin: 0 auto;
    width:55%;
  }
  .holiday_wrap .holiday {
    border:1px solid #ccc;
    padding:5px 15px;
  }
}
@media screen and (max-width:767px) {
  .holiday_wrap {
    width:85%;
  }
}



.head-message {
  width:470px;
/*  height:150px;*/
  height:150px;
  position: relative;
  margin:1rem 0.5rem 1.5rem; 
}


p.link-shopcart {
  position: absolute;
  top:4rem;
  left:0rem;
  margin:0.8rem 0;
}
p.link-shopcart a {
  background:#FFBF08;  
  color:#fff;
  font-weight: bold;
  font-size:1.5rem;
  padding:0.8rem 1.8rem;
  border-radius:4px;
}
p.link-shopcart a:hover {
 	background:rgba(255, 191, 8,0.7);
}
.link-shopcart i { 
	font-size:2.6rem;
	margin:0 0.5rem 0 0.8rem;
	vertical-align: middle;
}
.head-message p.hmp2 {
  position: absolute;
  top:6.8rem;
  right:2.5rem;
}

.head-image {
  float:right;
  width:370px;
  height:auto;
  position: relative;
  margin-top:30px;
}
.head-image a:hover {
  opacity:0.8;
}
.head-image a:hover p {
  text-decoration: none;  
}
.head-image p {
  position: absolute;
  bottom:8px;
  right:8px;
  background:#F69C00;  
  color:#fff;
  font-weight: normal;
  font-size:0.9rem;
  padding:0.2rem 0.5rem;
  border-radius:2px;
}


ul.ent-list1 {
	margin: 0.5rem 0 0 1rem;
	list-style-position: outside;
	list-style-type: disc;
}
ul.ent-list1 li {
	margin: 0 0 0 1rem;
  font-size: 0.95rem;
	line-height: 150%;
}
ul.ent-list1 li a {
	color: #0067CE;
  padding:0 0.3rem;
	text-decoration: underline;
}
ul.ent-list1 li a:hover {
	color: #ce0000;
}
ul.ent-list2 {
	margin: 1.2rem 0 0 0rem;
	list-style-position: outside;
}
ul.ent-list2 li {
	margin: 0 0 0 1rem;
  font-size: 0.95rem;
  padding:0.5rem 0;
	line-height: 150%;
}
ul.ent-list2 li a {
	color: #0067CE;
	text-decoration: underline;
}
ul.ent-list2 li a:hover {
	color: #ce0000;
}
.enter-link {
	text-align: center;
	padding: 40px 0;
}
.enter-link img {
	border: none;
}
.p_cable {
	margin: 1.5rem 0;
	font-size: 1rem;
  line-height: 150%;
	background: #efefef;
	padding: 1rem 1.5rem;
	border-radius: 6px;
}
H2.item-cat {
	margin:1rem 0;
  padding:0.1rem 0.7rem;
	color : #333;
	font-weight:normal;
	font-size:1.2rem;
  border-left:5px solid #A6A6A6;
}
h3.gaiyou {
  text-align: center;
	font-size: 100%;
	color: #333;
	font-weight: bold;
	margin: 10px 0;
  padding:0px 0px;
  border-bottom: 1px dashed #333;
}
.under {
  background: linear-gradient(transparent 50%, #a8eaff 50%);
}



/*赤字注釈*/
.detail-attn {
	font-size: 95%;
	color: d60000;
	font-weight: bold;
}
.qty-attn {
	font-size: 9pt;
	color: #333333;
	font-weight: normal;
}

/* 特定商取引に関する法律」に基づく表示 */ 

H1.tokutei {
	margin:1rem 0;
	color : #124D8D;
	font-weight:bold;
	font-size:1.2rem;
}

H2.tokutei {
	margin:1rem 0;
  padding:0.1rem 0.7rem;
	color : #333;
	font-weight:normal;
	font-size:1.2rem;
  border-left:5px solid #A6A6A6;
}

.shop-index-h2 {
  clear:both;
  background: #BFBFBF;
  color:#fff;
  width:100px;
  padding:0.5rem 1rem;
  margin:1rem 0 2rem;
  border-radius: 2px;
}

p.atten {
	margin:3px 0 0 45px;
	padding:0;
	color : #cc0000;
	font-size:90%;
}
p.attenB {
  margin-top:1rem;
	color : #000;
	font-size:0.85rem;
  border:2px solid #ff0000;
  padding:0.2rem;
}
p.attenC {
  margin-top:1rem;
	color : #000;
	font-size:0.85rem;
  background:#D9D9D9;
  padding:0.8rem 0.4rem;
}
.thumbnail_bannar_sale {
  position: absolute;
  /*top:-20px;
  top:10px;
  right:-60px;
  right:-10px;*/
  top:-50px;
  left:45px;
  color:#FF0000;
  border:4px solid #FF0000;
  border-radius:10px;
  font-size:1.5rem;
  font-weight: bold;
  line-height: 1;
  padding:10px 0 6px;
  text-align: center;
  width:11rem;
  /* 斜めにする */
  /*-moz-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);*/
}
.table_bannar_sale {
  position: absolute;
  top:95px;
  left:440px;
  color:rgba(255,0,0,.3);
  border:4px solid rgba(255,0,0,.3);
  border-radius:20px;
  font-size:2rem;
  font-weight: bold;
  letter-spacing: 2px;
  /*line-height: 1.4;*/
  line-height: 1.2;
  padding:10px 15px 6px;
  text-align: center;
  width:70px;
}

/*タブレット以下サイズ_ページ内定義用*/
@media screen and (max-width:979px) {
  .table_bannar_sale {
    left:43%;
  }
}
@media screen and (max-width:767px) {
  .table_bannar_sale {
    line-height: 1.5;
    top:110px;
    left:40%;
  }
}
@media screen and (max-width:479px) {
  .table_bannar_sale {
    line-height: 1.5;
    top:145px;
    left:33%;
  }
}


#wrapper_shop_law {
	background: #fff;
	margin: 3px;
	padding: 0px;
	text-align: left;
}
.fwNormal {
  font-weight: normal!important;
}
.titleBK {
  background:#BFBFBF;
}
.titleGR {
  background:#F2F2F2;
}
.titleColor {
  color:#fff!important;
}
.torihiki-grid {
	border-collapse : collapse;
	caption-side : top;
	empty-cells : show;
	border:1px solid #999999;
	margin-bottom:30px;
  width:740px;
}
.torihiki-grid td {
	text-align:left;
	font-size:85%;
	margin:0;
	padding:0.5em 0.5em;
	color:#222222;
	border:1px solid #999999;
	line-height:180%;
}
.torihiki-grid th {
	padding:0.3em 0.5em;
	color:#222222;
	text-align:left;
  font-size:85%;
	font-weight: normal;
	border:1px solid #999999;
  background:#BFBFBF;
}

.souryou-grid {
	border-collapse : collapse;
	caption-side : top;
	empty-cells : show;
	border:1px solid #999999;
}
.souryou-grid caption {
	text-align:left;
	color:#222222;
	font-size:75%;
	padding:0 0.5em;
}
.souryou-grid th, .souryou-grid td {
	margin:0;
	font-size:85%;
}
.souryou-grid th {
	padding:0.3em 0.5em;
	color:#222222;
	text-align:center;
	font-weight: bold;
	white-space: nowrap;
	border:1px solid #999999;
}
.souryou-grid td {
	padding:0.5em 3.5em;
	text-align:center;
	color:#222222;
	border:1px solid #999999;
	line-height:180%;
  vertical-align:middle;
}
.souryou-grid td.pref {
	padding:0.5em 0.6em;
	text-align:left;
	color:#222222;
	border:1px solid #999999;
	line-height:180%;
}
.souryou-grid td span.set5 {
  display:block;
  font-size:0.75rem;
  line-height: 1.2;
  margin:0;
  padding:0;
}
.souryou-kaitei {
  margin:0;
	color:#222222;
	font-size:75%;
	padding:0 0;
}



.shiharai-grid {
	border-collapse : collapse;
	caption-side : top;
	empty-cells : show;
	border:1px solid #999999;
	margin-bottom:30px;
  width:740px;
}
.shiharai-grid caption {
	text-align:right;
	color:#222222;
	font-size:75%;
	padding:0 0.5em;
}
.shiharai-grid th,.shiharai-grid td {
	margin:0;
	font-size:85%;
}
.shiharai-grid th {
	padding:0.3em 0.5em;
	color:#222222;
	text-align:center;
	font-weight: normal;
	white-space: nowrap;
	border:1px solid #999999;
}
.shiharai-grid td {
	padding:0.5em;
	text-align:center;
	color:#222222;
	border:1px solid #999999;
	line-height:180%;
}

/* 進行パネル2021 */
.shop-flow {
  width: calc(100% - 30px); /* ステップフロー全体の横幅を指定 */
  display: flex;            /* flexboxで横並びにする */
  justify-content: space-between; /* 横並びにしたものを等間隔で並べる */
  margin:0 auto;
}
.shop-flow li:nth-child(3) {
  vertical-align: top;
}
.shop-flow li span.valign3 {
  display: block;
  margin-top:-6px;
}
.shop-flow li span.comment3 {
  display:block;
  font-size:11px;
  line-height:1;
  margin-top:-16px;
}
.shop-flow li {
  color: #333;        /* 文字色を黒に指定 */
  font-size: 15px;    /* 文字サイズを指定 */
  width: calc(100% / 3); /* 横幅を三等分した1つの大きさに指定 */
  background: #eee;   /* 背景色をグレーに指定 */
  line-height: 50px;  /* 行間(高さの代わり)を指定 */
  text-align: center; /* 文字を中央寄せにする */
  position: relative; /* 基準位置とする */
}

.shop-flow li:not(:first-child):not(:last-child) { 
  padding: 0 0 0 10px;  /* 最初と最後以外には左に適度な余白を指定 */
}

.shop-flow li::before,
.shop-flow li::after {
  content: "";  /* 疑似要素では必須 */
  width: 0;     /* 横幅を0に指定 */
  height: 0;　　/* 高さを0に指定 */
  display: block;  /* ブロック要素にする */
  position: absolute; /* 相対位置に指定 */
}

.shop-flow li::before {
  border: solid 32px transparent;     /* 32pxのborderを指定 */
  border-right: solid 13px transparent;  /* 幅を合わせるため右線は13pxにする */
  border-left: solid 13px #FFF;          /* 白い三角形を作成して △の形で上に重ねて削り取る */
  top: -7px;  /* 重ねる位置(縦軸)を調整 */
  left: 0;    /* 重ねる位置(横軸)を調整 */
  z-index: 1; /* 重なり順を指定 */
}

.shop-flow li::after {
  border: solid 25px transparent;  /* 25pxのborderを指定 */
  border-left: solid 10px #EDEDED; /* 左のborderで背景色と同じ▲の部分を作成する */
  border-right: solid 10px transparent; /* 幅を合わせるために右線は10pxにする */
  top: 0;       /* 重ねる位置(縦軸)を調整 */
  right: -20px; /* 重ねる位置(横軸)を調整 */
  z-index: 2;   /* 重なり順の優先度を他よりも上げる */
}

.shop-flow li:first-child::before,
.shop-flow li:last-child::after {
  content: none;  /* 最初のliの左と最後のliの右は作らない */
}

/* 以下.currentだけ色を変えるCSS */

.shop-flow li.current {
  color: #FFF;
  font-weight: bold;
  background: #7f7f7f;
}

.shop-flow li.current::after {
  border-left: solid 10px #7f7f7f;
}


/* 進行パネル */
table.panel {
	margin: 1.5rem auto 2rem;
}
table.panel th {
	background: #f2ab00;
	color: #fff;
	width: 100px;
	text-align:center;
	padding: 0.7rem;
}
td.panel-off {
	background: #a8a8a8;
	color: #fff;
	padding: 0.7rem;
	text-align: center;
	width: 100px;
}
td.panel-arrow {
	color: #a8a8a8;
	text-align: center;
	width: 50px;
	padding: 0.5rem 0rem;
}
input.button {
	width: 140px;
	margin: 0 14px;
}

/* 買物カゴ */
table.cart_tbl {
	margin: 40px auto 0;
	border-collapse: collapse;
  width: 700px;
}
table.cart_tbl th, table.cart_tbl td  {
	border: solid 1px #7f7f7f;
	/*white-space: nowrap;*/
	font-size: 100%;
  padding:.8rem 1rem .7rem;
}
table.cart_tbl th {
	background: #eee;
  line-height: 1;
	text-align:center;
}
table.cart_tbl td {
	background: #fff;
  line-height: 1;
  text-align:center;
}

table.cart_tbl .btn-del {
  /*padding:16px 0;*/
  margin:0;
  padding:0;
  width:65px;
}

table.cart_tbl input {
  /*background:#efefef;*/
/*  background-image: linear-gradient(#e8e8e8 0%, #d6d6d6 100%);*/
  background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
  box-shadow: inset 1px 1px 1px #fff;
  border:1px solid #999;
  border-radius:4px;
  padding:0.2rem 0.4rem .1rem;
  margin:8px 0 0 0;
  font-size:.75rem;
  font-weight: normal;
  color:#333;
  letter-spacing: .1rem;
  cursor:pointer; 
  transition :.3s;
  -webkit-appearance: none;
}
table.cart_tbl input:hover {
  background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}

/* 入力フォーム */
table.cart_form,
table.cart_form.Orderer,
table.cart_form.delivadd{
	width: 700px;
	margin: 30px auto 0;
	border-collapse: collapse;
}
table.cart_form th, table.cart_form td {
	text-align: left;
	border: solid 1px #7f7f7f;
	white-space: nowrap;
	padding:0.2rem 0.5rem;
}
table.cart_form.tbl_payment td {
  padding:1rem .5rem;
}
table.cart_form.tbl_payment input{
	margin: 0 .5rem;
}
span.paytext {
  font-size:.9rem;
}
table.cart_form.tbl_payment td .err-addr {
	margin: 0 .5rem;
}



table.cart_form th {
	background: #eee;
  padding:0.5rem;
}
table.cart_form td {
	background: #fff;
}
table.cart_form.Orderer input,
table.cart_form.delivadd input,
table.cart_form.Orderer textarea,
table.cart_form.delivadd textarea {
	padding: 0.3rem 0.2rem;
	background:#f9f9f9;
	border:1px solid #ccc;
	width:98%;
}
table.cart_form.Orderer select,
table.cart_form.delivadd select {
  width:99.7%;
}
table.cart_form input,
table.cart_form textarea,
table.cart_form select {
	padding: 0.3rem 0.2rem;
	background:#f9f9f9;
	border:1px solid #ccc;
}
table.cart_form input[type="text"],
table.cart_form textarea,
.find-box input[type="text"],
.cart-box input[type="text"] {
	padding: 5px 3px;
	border: 1px solid #a2a2a2;
}
/*td.w-key {
	width: 130px;
	padding: 6px 0 6px 10px !important;
}*/
input.ime-on {
	ime-mode: active;
}
input.ime-off {
	ime-mode: inactive;
}
.clm_width {
  width:150px;
}
.clm2_width {
  width:550px;
}
.cart_form.Orderer input[type="radio"]  {
	padding: 0.3rem 0.2rem;
	background:#f9f9f9;
	border:1px solid #ccc;
	width:20px;
}

/* 入力必須 */
div.req {
	background-image: url(red.png);
	background-repeat: no-repeat;
	background-position: left;
	padding-left: 16px;
}
/* 入力必須 2021/4~*/
.tRed {
    color: #CC0000;
}

/* 入力任意 */
div.opt {
	/*padding-left: 16px;*/
}

td.tbl-wide {
	border: solid 1px #276FB6;
	background: #fff;
	white-space: nowrap;
	padding: 6px;
	text-align: center;
}

.clm-width {
  width:180px!important;
}

/* 赤文字 */
.red {
	color: #dd0000;
}

.eiji {
	font-family:Verdana,Helvetica,Arial !important;
	font-size:90%;
}
.ta-r {
	text-align: right!important;
}
.ta-l {
	text-align: left!important;
}
.ta-c {
	text-align: center;!important;
}
input.inp-mem {
	width: 150px;
	ime-mode: inactive;
}
table.tbl-join td {
	background: #fff;
	color: #444;
}

/* 入力画面でのメッセージ *//* エラー画面 */
div.cart-msg,
#err-box {
	padding:0;
	background: #fff;
  border:1px solid #7f7f7f;
	width: 720px;
	margin: 40px auto 0px;
}
div.cart-msg span,
#err-box span {
  font-size:1.3rem;
  font-weight:bold;
}
div.cart-msg p,
#err-box p {
  color: #111;
	padding:1rem 1rem;
  /*background:#ddd;*/
  line-height: 160%;
}

/* 入力画面でのメッセージ *//* エラー画面 */
div.cart-msg-tel {
	background: #A6A6A6;
  border:1px solid #a6a6a6;
	color: #fff;
  width: 720px;
	margin: 20px auto;
}
div.cart-msg-tel p {
	padding:1rem 1rem;
  font-weight: bold;
}




div.login-note {
	text-align: left;
	margin: 1em auto 0.5em auto;
	width: 23em;
}
table.enter {
	margin: 80px auto;
	width: 400px;
	border: 1px solid #004080;
	border-collapse: collapse;
}
table.enter th {
	border: 1px solid #004080;
	padding: 1em;
	background: #004080;
	color: #fff;
	text-align: left;
}
table.enter td {
	border: 1px solid #004080;
	padding: 1em;
	background: #fff;
	font-family: verdana,helvetica,arial;
}
input.len {
	width: 220px;
	margin-bottom: 1em;
}
div.btn input {
	font-family: verdana,helvetica,arial;
	width: 100px;
	height: 32px;
}

/* 画面TOPボタン */
div.top-btn input {
	width: 9.5em;
	margin-bottom: 1.5em;
}

/* 検索画面 */
div.find-ttl {
	width: 640px;
	text-align: center;
	font-weight: bold;
	border-top: 1px solid #276FB6;
	border-left: 1px solid #276FB6;
	border-right: 1px solid #276FB6;
	margin: 1.5em auto 0 auto;
	padding: 8px;
	background: #eee;
}
div.find-box {
	width: 640px;
	text-align: center;
	border: 1px solid #276FB6;
	margin: 0 auto 1.5em auto;
	padding: 8px;
	background: #fff;
}
div.cart-box {
	width: 640px;
	line-height: 140%;
	text-align: left;
	border: 1px solid #276FB6;
	margin: 1em auto;
	padding: 8px;
	background: #fff;
}

/* ページ繰越ボタン */
span.pg-on,span.pg-off {
	display:-moz-inline-box;
	-moz-box-align: center;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	font-size: 12px;
	width: 23px;
	height: 23px;
	margin: 2px;
	padding: 2px;
	border: 1px solid #6b868b;
	font-family: Verdana,Helvetica,Arial;
}
span.pg-on,span.pg-on a {
	color: #f0f0f0;
	background: #6b868b;
}
span.pg-off,span.pg-off a {
	color: #6b868b !important;
	background: #fff;
}
div.pgbtn {
	margin: 0.6em 0;
}
div.err-addr {
	color: #dd0000 !important;
}

/* 進行ボタン */
input.bigbtn {
	height: 32px;
	width: 150px;
	margin: 0 14px;
}

/* datepickerサイズ */
div.ui-datepicker {
	font-size: 95%;
}

/* アイコン */
img.icon {
	vertical-align: middle;
	border: none;
}


/* マート下部　addr ボタンエリア*/
.mart-navigation {
	margin:60px auto 60px;
	text-align:center;
}

/* マート下部　conf ボタンエリア*/
.mart-navigation-conf {
  width:740px;
  display:flex;
  flex-direction: row;
  flex-wrap:wrap;
  justify-content:space-around;
	margin:60px auto;
	text-align:center;
}

/* 20190911 PVケーブル販売ページ */
input.PVCinput_mart_qty {
	font-size: 0.9rem;
	padding: 0.2rem 0.7rem;
  text-align:center;
}
input.PVCmartinbtn {
	font-size: 0.9rem;
  padding: 0.2rem 0.7rem;
  margin:5px 0px 0px 10px;
	text-align: center;
}

input.PVCmartinbtn  {
  background:#fff;
  border:2px solid #000;
  border-radius:8px;
  color:#000;
  font-size: 0.9rem;
  font-weight:bold;
  padding: 0.2rem 0.7rem;
  margin-left:10px;
  text-align: center;
  transition: all 0.5s;
}

input.PVCmartinbtn:hover {
  background:#eaeaea;
}
input.PVCmartinbtn:active {
  background:#ccc;
}


.syukka {
  /*font-size:0.8rem;*/
}

/* table th=Center, td=Center, vertical-align:middle;  */
table.tbl-shp-cable {
  margin-top:1rem;
  width:100%;
  border-spacing:0;
  border-collapse: separate;
  /*border-spacing: 0px 20px;*/
  border-spacing: 0px 10px;
}
table.tbl-shp-cable caption {
  text-align: right;
  margin:0;
  padding:0;
  line-height: 0;
}
table.tbl-shp-cable th {
  padding:8px;
  border:1px solid #ddd;
  border-right:none;
  background:#eaeaea;
  text-align:center;
  vertical-align:middle;
}

table.tbl-shp-cable td {
  padding:8px;
  border:1px solid #ddd;
  border-right:none;
  text-align:center;
  vertical-align:middle;
}
table.tbl-shp-cable td:last-child,
table.tbl-shp-cable th:last-child {
  border-right:1px solid #ddd;
}
table.tbl-shp-cable td.dummy {
  border:none;
  padding:2px;
}
table.tbl-shp-cable td.tokka {
  border:none;
  padding:2px;
  color:rgba(255,255,255,1);
  background: #FF0000;
}
table.tbl-shp-cable td.red {
  color:#FF0000;
  font-weight: bold;
}

table.tbl-shp-cable .odd td {
  background-color:#f9f9f9;
}

table.tbl-shp-cable .even td {
  background-color:#fff;
}
table.tbl-shp-cable img {
  margin:0;
  padding:0;
  max-width:none;
  border:0;
}

.shopguide,
.shopguide:hover {
  text-decoration: none;
  line-height: 2.0;
}
.shopguide-btn {
  background: #BFBFBF;
  color:#fff;
  padding:0.3rem 1rem;
  border-radius: 2px;
}
.shopguide-btn:hover {
  color:#fff;
  text-decoration: none!important;
  background:#999;
}
.shopguide-txt:hover {
  text-decoration: none!important;
}
  

/* onlineshop/index.html 商品カテゴリサムネイル*/
ul.shop-pd-list {
  margin:0px 0 0 0px;
	font-size:0;/*display:inline-blockで要素を並べると余計な隙間ができてしまう対策・・・inline-blockを使った要素の親要素にfont-size:0;を指定する */
}
ul.shop-pd-list li {
  display:  inline-block;
	position: relative;
	/*margin:0 20px 55px 0;*/
	/*margin:0 30px 30px 0;*/ /* filter_ProductCategory設置しない場合はこちら */
  /*margin:0 44px 30px 0;*/ /* filter_ProductCategory設置の為 */
  margin:0 20px 25px 0;
  vertical-align:top;
		/*border: 1px solid #000;/* 2018 pdlist li 外枠 不要だけど*/
}
@media screen and (max-width:927px) {
	/* 979px以下の記述 タブレット */
  ul.shop-pd-list li:nth-child(3) {
    margin-top:50px;
  }
}

ul.shop-pd-list li.scalePdImg:hover a {
  text-decoration: none!important;
}

ul.shop-pd-list li p.thumbnailImg,
ul.shop-pd-list li .thumbnailImg {
  width:275px;/* golden ratio */
  height:170px;/* golden ratio */
  border:1px solid #ccc;
	border-bottom:none;
	line-height:200%;
	font-size:0.95rem;
  padding:0;
	margin:0;
	/*position:relative;*/
	text-align: center;
}
ul.shop-pd-list li p.thumbnail_title {
	background:#005EB8;
	color:#fff;
	border:1px solid #005EB8;
	line-height: 100%;
	font-size: 1rem;
	text-align: center;
  width:273px;/* golden ratio */
	padding:5px 1px;
	margin:0;
}
ul.shop-pd-list li p.NewProduct {
	position:absolute;
	top:0.4rem;
	left:0.4rem;
	text-align: center;
	font-size: 1.5rem;
	line-height: 100%;
	font-weight:normal;
	color:rgb(255, 0, 0);
	padding:0;
  margin:0;
  font-family: "Raleway",Arial,Helvetica,"Nimbus Sans L",sans-serif;
}
ul.shop-pd-list li p.NewProductR {
	position:absolute;
	top:0.4rem;
	right:0.4rem;
	text-align: center;
	font-size: 1.1rem;
	line-height: 100%;
	font-weight:normal;
	color:rgb(255, 0, 0);
	padding:0;
  margin:0;
  font-family: "Raleway",Arial,Helvetica,"Nimbus Sans L",sans-serif;
}
ul.shop-pd-list li p.NewProduct:after,
ul.shop-pd-list li p.NewProductR:after {
  content : "!";
}

/* ▼入力チェック結果の表示ボックスの装飾 */
.alertarea {
   color: red;                             /* 文字色(赤色) */
   background-color: #fee;                 /* 背景色(淡い赤色) */
   background-image: url("alerticon.png"); /* 背景画像(警告アイコンを表示) */
   background-repeat: no-repeat;           /* 背景画像の繰り返しをナシに */
   background-position: 0.35em center;     /* 背景画像の掲載位置(左端から0.35em・上下方向の中央) */
   display: inline-block;                  /* インラインブロック化 */
   border-radius: 0.5em;                   /* 角丸(半径0.5文字分) */
   margin-left: 0.5em;                     /* 外側左端の余白(0.5文字分) */
   padding: 1px 0.5em 1px 32px;            /* 内側の余白(警告アイコンに重ならないよう左端に多めの余白を設ける) */
}
/* ▼入力チェック結果でエラーがない場合は非表示にする */
.alertarea:empty { display: none; }







/* メディアクエリテンプレ */

@media screen and (min-width:1300px) and (max-width:3000px){
	/* 1600px以上、3000px以下の記述 Surface(2736x1824)など高解像度デバイス */

}
@media screen and (min-width:980px) and (max-width:1299px){
	/* 980px以上、1299px以下の記述 一般的な範囲内のワイドディスプレイ */
}
@media screen and (max-width:979px) {
	/* 979px以下の記述 タブレット */

  /* index.html */
  #wrapper_shop {
    width:calc(100% - 20px);
    padding:160px 10px 0;
    margin:0 auto;
  }
  .header_shop {}
  .shop_top_img,
  .shop_top_text {
    float:none;
    width:auto;
    height: auto;
  }
  img.shop-image100per {
    width:100%;
  }
  img.shop-image {
  	width:100%;
    height: 250px;
    object-fit:cover;
    object-position: 0% 25%;
  }
  .shop_top_itembtn {
    margin-top:30px;
  }
  .shop_top_itembtn ul.shop-pd-list {
    margin-top:0;
    text-align: center;
  } 
  
  
  /* mart.html shopitem をスマホ対応 */
  .shopitem_wrap {
    /*display:flex;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content:space-between;*/
    display: grid;
    grid-template-columns: repeat(auto-fill, 46%);
    gap: 20px; /* ここで余白を設定 */
    justify-content:space-around;
  }
  .shopitem {
    width:100%;
  }
  
   /* mart_HH.html shopitem をスマホ対応 */
  
  .martHH_left {
  float:none;
  }
  .martHH_right {
    float:none;
  }
  .martHH_right .martHH_kougu {
    margin:20px 0 20px 10px;
  }
  
  /* ボタンデザイン調整 */
  .ord-btn {
    margin:15px auto 3px;
  }
  
  
  /* law.html */
  /* table構造そのままに横スクロールする */
  /* 表中の画像サイズを固定するには imgタグに class="no-resize" を追記 */
  .torihiki-grid {
    overflow-x: scroll;/* tableタグのはみ出た要素を隠す */
    width: 100%!important;
    border-collapse: collapse;
    border:1px solid #999;
    display: inline-block;/* table構造を分解する */
  }
  .torihiki-grid tr {
    display: inline-block;
    width:100%;
  }
  .torihiki-grid th {
    display: inline-block;
    width:100%!important;
    border:none;
  }
  .torihiki-grid td {
    display: inline-block;
    width:100%;
    border:none;
  } 
  /* law.html ここまで */
  
  /*---------------------------------
  tmpl/mart, addr, conf,effor
  ---------------------------------*/
  
  /*---------------------------------
  table 100% でも表示しきれなくなったら、横スクロール
  従来のtableをdivで囲んで下記class設定するだけ
  <div class="shop_tbl_RWD_Scroll">
  ---------------------------------*/
  table.cart_tbl,
  table.cart_form,/* 入力フォーム */
  table.cart_form.Orderer,/* 入力フォーム */
  table.cart_form.delivadd/* 入力フォーム */ {
    width:100%!important;
  }
  .shop_tbl_RWD_Scroll {
    overflow: auto; /* 横スクロールバーを表示 */
    white-space: nowrap; /* セル内にあるテキストの折り返しを禁止 */
  }
  .shop_tbl_RWD_Scroll:after {
    /*content: "※ このテーブルは横にスクロールできます。";*/
  }
  
  /* msgbox の幅 */ 
  div.cart-msg,
  #err-box,
  div.cart-msg-tel,
  .mart_close_window_box {
    width: 100%;
  }
  
  /* マート下部　addr ボタンエリア*/
  .mart-navigation {}

  /* マート下部　conf ボタンエリア*/
  .mart-navigation-conf {
    width:100%;
  }
  
    
  /* ボタンデザイン */
  input.mart_formbtn {
    margin:0 5%;
    width:35%;
  }
  .mart-navigation-conf form {
    margin:0 5%;
    width: 35%;
  }
  .mart-navigation-conf input.mart_formbtn {
    margin:0;
    width:100%;
  }
  /*---------------------------------
  tmpl/mart, addr, conf,effor ここまで
  ---------------------------------*/
}
@media screen and (max-width:767px) {
	/* 767px以下の記述 スマートフォン */
  
  /* マート下部　addr ボタンエリア*/
  .mart-navigation,
  .mart-navigation-conf{
    margin:40px auto 0;
  }
  /* ボタンデザイン */
  input.mart_formbtn {
    margin:10px auto;
    width:90%!important;
  }
  .mart-navigation-conf form{
    margin:10px auto;
    width:100%;
  }
  .mart-navigation-conf input.mart_formbtn {}
}
@media screen and (max-width:479px) {
	/* 479px以下の記述 極小スマートフォン */
  .shopitem_wrap {
    grid-template-columns: repeat(auto-fill, 100%);
  }
}
/*----------------------------------------------------- */





/*----------------------------------------------------- 
未使用になった定義
----------------------------------------------------- */
/*#os-header {
	background: url(../images/header_back.jpg) repeat-x;
	height: 60px;
	text-align: center;
}
#os-logo {
	width: 1000px;
	margin: 0 auto;
}
#os-logo img {
	border: none;
}
*/
