@charset "Shift_JIS";

/* ---------------------------------------
 ページレイアウト
---------------------------------------- */
.page-goods .mainframe_,
.page-goods div#drugstore.mainframe_,
.page-goods div#netshop.mainframe_ { width: 100% !important; min-width: 1000px; max-width: 100%; padding: 0 !important; margin: 0 auto; float: none !important;}
.page-goods #footerouter div.recommendbox_ { max-width: 100%;}
.page-goods div.leftmenuframe_  { display: none !important;}
.page-goods div.rightmenuframe_ { display: none !important;}

.page-goods .container_ { max-width: inherit;}
.page-goods .container_ .navitopicpath_ { max-width: inherit; padding: 10px 0;}
.page-goods div.goodsproductdetail_ { width: 100%; margin-bottom: 20px; display: flex !important; justify-content: space-between;}
.page-goods div.goodsproductdetail_ div.goodsdetail_leftbox_   { width: 36%; display: block; position: relative;}
.page-goods div.goodsproductdetail_ div.goodsdetail_centerbox_ { width: calc(100% - 36% - 282px); padding: 0 15px; overflow: hidden; background: #FFF;}
.page-goods div.goodsproductdetail_ div.goodsdetail_rightbox_  { width: 282px; height: max-content; padding: 16px; border: #CCC 1px solid; justify-content: space-between; overflow: hidden;}
.page-goods div.goodsproductdetail_:after,
.page-goods div.goodsproductdetail_ div.goodsdetail_leftbox_:after,
.page-goods div.goodsproductdetail_ div.goodsdetail_centerbox_:after,
.page-goods div.goodsproductdetail_ div.goodsdetail_rightbox_:after { content: ''; height: 0; display: block; clear: both; visibility: hidden;}

/* ---------------------------------------
 左カラム
---------------------------------------- */
.page-goods div.goodsimg_ .icon_new_ { position: absolute; left: 0; top: 0;}
.page-goods div.goodsimg_ div.mask_ { position: absolute; z-index: 10; color: #ff4a4a; font-weight: bold;}

/* L画像 */
.page-goods div.goodsimg_ .gallery_box { display: flex; flex-direction: column-reverse;}
.page-goods div.goodsimg_ .img_L_ { width: 100%; margin: 0 auto; display: table; position: relative;}
@media screen and (max-width:1060px) { .page-goods div.goodsimg_ .img_L_ { min-height: 310px;}}
@media screen and (min-width:1061px) { .page-goods div.goodsimg_ .img_L_ { min-height: 31.7vw;}}
.page-goods div.goodsimg_ .img_L_ span { vertical-align: top; text-align: center; display: table-cell; position: relative;}
.page-goods div.goodsimg_ .img_L_ span.eicon_ { width: 50px; height: 50px; position: absolute; top: 0; left: 0;}
.page-goods div.goodsimg_ .img_L_ span.eicon_ img { max-width: 50px; max-height: 50px;}
.page-goods div.goodsimg_ .img_L_ img { width: 100%; max-width: 100%; height: auto;}
.page-goods div.goodsimg_ .img_L_ .comment_ { margin-top: 5px;}
div.img_L_.no_stock_ span.goods_img_::after {
  content: "在庫なし";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 半透明グレー */
  color: #fff;
  font-size: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none; /* 画像のクリックを邪魔しない */
}
div.img_L_.before_sales_ span.goods_img_::after {
  content: "販売開始前";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 半透明グレー */
  color: #fff;
  font-size: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none; /* 画像のクリックを邪魔しない */
}
div.img_L_.after_sales_ span.goods_img_::after {
  content: "販売終了";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 半透明グレー */
  color: #fff;
  font-size: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none; /* 画像のクリックを邪魔しない */
}

/* サムネイル画像 */
.page-goods div.etc_goodsimg_ { padding: 16px 27px; margin: 10px 0 0 0; border-top: #DDD 1px solid; overflow: hidden; position: relative;}
.page-goods div.etc_goodsimg_line_ { overflow: hidden;}
.page-goods div.etc_goodsimg_line_ p { font-size: 10px; text-align: right;}
.page-goods div.etc_goodsimg_item_ {
  width: clamp(50px, 4.17vw, 80px);
  height: clamp(50px, 4.17vw, 80px);
  margin: 0 clamp(6px, -0.25rem + 0.83vw, 12px) 0 0;
  display: table;
  table-layout: fixed;
  overflow: hidden;
  float: left;
}
.page-goods div.etc_goodsimg_item_ a { width: clamp(50px, 4.17vw, 80px); height: clamp(50px, 4.17vw, 80px); vertical-align: middle; display: table-cell;}
.page-goods div.etc_goodsimg_item_ img { max-width: 100%; font-size: 8px; line-height: 1.0;}
.page-goods div.etc_goodsimg_ .bx-wrapper { width: 100% !important;}
.page-goods div.etc_goodsimg_ .bx-wrapper .bx-window { width: 100% !important;}
.page-goods div.etc_goodsimg_ .bx-prev { width: 13px; height: 13px; font-size: 0; transform: translateY(-50%); position: absolute; top: 50%; left: 10px;}
.page-goods div.etc_goodsimg_ .bx-next { width: 13px; height: 13px; font-size: 0; transform: translateY(-50%); position: absolute; top: 50%; left: inherit; right: 10px;}
.page-goods div.etc_goodsimg_ .bx-prev::after {
  content: '';
  width: 8px;
  height: 8px;
  border-bottom: #666 1px solid;
  border-left: #666 1px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.page-goods div.etc_goodsimg_ .bx-next::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: #666 1px solid;
  border-right: #666 1px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.page-goods figure.etc_goodsimg_ { padding: 16px 27px; margin: 10px 0 0 0; border-top: #DDD 1px solid; overflow: hidden;}
.page-goods figure.etc_goodsimg_line_ { overflow: hidden;}
.page-goods figure.etc_goodsimg_item_ {
  width: clamp(50px, 4.17vw, 80px);
  height: clamp(50px, 4.17vw, 80px);
  margin: 0 clamp(6px, -0.25rem + 0.83vw, 12px) 0 0;
  display: table;
  table-layout: fixed;
  overflow: hidden;
  float: left;
}
.page-goods figure.etc_goodsimg_item_ a {
  width: clamp(50px, 4.17vw, 80px);
  height: clamp(50px, 4.17vw, 80px);
  vertical-align: middle;
  display: table-cell;
}
.page-goods figure.etc_goodsimg_item_ img { max-width: 100%;}

/* C画像 */
.page-goods div.goodsimg_ .img_c_ { margin-bottom: 10px;}
.page-goods div.goodsimg_ .img_c_ .comment_ { margin-top: 5px;}

/* 画像拡大 */
.page-goods #jsZoomLens { width: 200px; height: 200px; display: none; background: #FFF; position: absolute; top: 50px; left: 30px; right: -300px; z-index: 3; pointer-events: none; opacity: 0.4;}
.page-goods #jsZoomArea { width: 468px; height: 468px; display: none; background-color: #FFF; position: absolute; top: 0px; right: -500px; z-index: 30; overflow: hidden;}
.page-goods #jsZoomArea.active { display: block;}
.page-goods #jsZoomArea img { width: 1200px;}
.page-goods .goodsimg_ .img_L_:hover #jsZoomLens { display: block;}
body.page-goods.now-load #jsZoomArea { display: none !important;}

/* 画像拡大 for タブレット */
.page-goods .gallery_box#tb .img_L_:after {
  content: '';
  width: 46px;
  height: 46px;
  background: url(../../img/usr/sp/icon_zoom.png?v=1) no-repeat center / contain;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.page-goods .pswp__button--close { width: 60px; height: 60px; font-size: 50px; text-indent: 0; text-shadow: 0 0 1px #000; color: #FFF; background: none; position: relative;}
.page-goods .pswp__button--arrow--left { width: 50px; height: 50px; border: #F2F2F2 1px solid; border-radius: 50%; background: rgba(255,255,255,0.95); right: auto; left: 15px;}
.page-goods .pswp__button--arrow--right { width: 50px; height: 50px; border: #F2F2F2 1px solid; border-radius: 50%; background: rgba(255,255,255,0.95); right: 15px;}
.page-goods .pswp__button--arrow--left:after,
.page-goods .pswp__button--arrow--right:after { content: ''; width: 12px; height: 12px; border-right: #666 3px solid; border-bottom: #666 3px solid; position: absolute; top: 17px;}
.page-goods .pswp__button--arrow--left:after  { left: 20px; transform: rotate(135deg);}
.page-goods .pswp__button--arrow--right:after { left: 15px; transform: rotate(-45deg);}
.page-goods .pswp__counter {
  width: 90px;
  height: 42px;
  margin: auto;
  border-radius: 30px;
  font-size: 20px;
  text-align: center;
  line-height: 42px;
  background: #666;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: 1s ease;
}
.page-goods .pswp__counter.show { opacity: 1;}

/* シェアする */
.page-goods div.snsbox_ { padding: 15px 25px; border-top: #DDD 1px solid; border-bottom: #DDD 1px solid;}
.page-goods div.snsbox_ dl { display: block;}
.page-goods div.snsbox_ dl:after { content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.page-goods div.snsbox_ dt { margin: 11px 25px 0 0; float: left;}
.page-goods div.snsbox_ dd { margin: 0 12px 0 0; display: inline; float: left;}
.page-goods div.snsbox_ dd.twitter_ { width: 100px;}
.page-goods div.snsbox_ dd.plus1_ { width: 70px;}
.page-goods div.snsbox_ dl.bookmark_ dt { background: url(../../img/usr/common/txt_bookmark.png) no-repeat left center;}
.page-goods div.snsbox_ .share_box_ { text-align: center;}
.page-goods div.snsbox_ #webShareBottom { width: 25px; height: 25px; padding: 0;}
.page-goods div.snsbox_ #webShareTxt { margin-top: 2px; vertical-align: middle; display: inline-block; cursor: pointer;}

/* 商品コメント3 */
.page-goods .goodsimg_ .goods_comment_box { margin: 20px 0 0 0; font-size: 13px;}
.page-goods .goodsimg_ .goods_comment_box .goodscomment_common { padding: 45px 0; border-top: #DDD 1px solid; border-bottom: #DDD 1px solid; text-align: center;}
.page-goods .goodsimg_ .goods_comment_box .goodscomment3_ { padding: 20px 0; margin: 0 0 10px 0; border-bottom: #DDD 1px solid;}
.page-goods .goodsimg_ .goods_comment_box .goodscomment3_ dt { margin-bottom: 4px;}
.page-goods .goodsimg_ .goods_comment_box .goodscomment3_ dd { margin-bottom: 25px;}
.page-goods .goodsimg_ .goods_comment_box .goodscomment3_ dd:last-child { margin-bottom: 0;}

/* 商品コメント4 */
.page-goods div.goodscomment4_ { margin-bottom: 10px;}

/* 商品コメント5 */
.page-goods div.goodscomment5_ { margin-bottom: 10px;}

/* 添付ファイル */
.page-goods dl.attach_ { margin: 0 0 10px 0;}
.page-goods dl.attach_ dt { padding: 0 0 5px 20px; margin-bottom: 5px; border-bottom: #CCC 1px dotted; font-weight: bold; background: url(../../img/sys/file.gif) 0 0 no-repeat;}
.page-goods dl.attach_ dd { padding: 0 0 0 20px; margin-bottom: 10px;}

/* ---------------------------------------
 中央カラム
---------------------------------------- */
/* アイコン */
.page-goods div.icon_.design_ico_wrap_:not(empty) { margin: 0 -5px 10px 0;}
.page-goods div.icon_.design_ico_wrap_ span.design_icon_ { height: 27px; font-size: 14px; font-weight: 500; line-height: 25px;}
.page-goods div.icon_.design_ico_wrap_ img { height: 27px;}

/* キャッチコピー */
.page-goods #spec_goods_comment { font-size: 16px; font-weight: 400;}

/* 商品名 */
.page-goods h1.goods_name_ { margin: 0 0 10px 0; font-size: 26px; font-weight: 700; line-height: 1.4; word-break: break-all;}

/* スペック */
.page-goods div.goodsspec_ { overflow: hidden;}
.page-goods div.goodsspec_ .top_comment_ img { margin: 0 5px 5px 0;}
.page-goods div.goodsspec_ .point_ img { width: 100px;}
.page-goods div.goodsspec_ div.to_detaillink_ { text-align: right;}
.page-goods table.goodsspec_ { width: 100%; margin: 0 0 20px 0; border-top: #949497 1px dotted;}
.page-goods table.goodsspec_ th { width: 100px; padding: 2px; border-bottom: #949497 1px dotted; text-align: right; vertical-align: top; background: transparent;}
.page-goods table.goodsspec_ td { padding: 2px; border-bottom: #949497 1px dotted; text-align: left; vertical-align: top;}

/* 商品コメント1 */
.page-goods div.goodscomment1_ { padding: 0 0 20px 0; margin: 0 0 20px 0; border-bottom: #949497 1px solid; font-size: 16px; line-height: 1.8;}
.page-goods div.goodscomment1_ ul { margin-top: 20px;}

/* 商品コメント2 */
.page-goods div.goodscomment2_ { padding: 0 0 20px 0; margin: 0 0 20px 0; font-size: 16px; line-height: 1.8;}

/* 取扱機関 */
.page-goods div.goodsspec_ .period_ { padding-top: 18px; margin-top: 18px; border-top: #DDD 1px solid;}

/* SNS */
.page-goods div.goodsspec_ ul { overflow: hidden;}
.page-goods div.goodsspec_ li.sns { margin-right: 10px; margin-bottom: 5px; list-style: none; float: left;}

/* フリーエリア 横並び 写真+テキスト */
.page-goods div.detail_freelist_ { width: 732px; padding: 23px 0; background: url(../../img/common/h2bg_l.png) no-repeat left top;}
.page-goods div.detail_freelist_ .line_ { overflow: hidden;}
.page-goods div.detail_freelist_ dl { width: 350px; margin: 0 10px 20px 0; display: inline; overflow: hidden; float: left;}
.page-goods div.detail_freelist_ dl dt { width: 160px; height: 120px; display: inline; float: left;}
.page-goods div.detail_freelist_ dl dt img { width: 100%;}
.page-goods div.detail_freelist_ dl dd { width: 180px; line-height: 1.5; display: inline; float: right;}

/* フリーエリア テキスト + 写真 */
.page-goods div.detail_freearea_ { width: 670px; padding: 23px 20px; background: url(../../img/common/h2bg_l.png) no-repeat left top; overflow: hidden;}
.page-goods div.detail_freearea_ p { padding: 0 5px; margin-bottom: 15px;}

/* ハッシュタグ */
.page-goods .block-goods-hashtagarea { padding: 25px 25px 0 25px; display: flex; flex-wrap: wrap;}
.page-goods .block-goods-hashtagarea a { padding: 5px 8px; margin: 0 10px 10px 0; border-radius: 3px; font-size: 12px; background: #eee; display: inline-block;}
.page-goods .block-goods-hashtagarea a:hover { text-decoration: underline; opacity: .7;}

/* ---------------------------------------
 右カラム
---------------------------------------- */
.page-goods .goods_price_box div.specinfo_ { padding: 0; margin: 0 0 30px; font-size: 13px; line-height: 1.4;}
.page-goods .goods_price_box div.specinfo_.last { border-bottom: none;}
.page-goods .goods_price_box div.specinfo_ .h3_wrap { padding: 0 0 20px 0; margin: 0 0 20px 0; border-bottom: #949497 1px solid; display: flex; justify-content: space-between; align-items: center;}
.page-goods .goods_price_box div.specinfo_ .h3_wrap h3 { font-size: 18px; font-weight: 700; line-height: 1.0;}
.page-goods .goods_price_box div.specinfo_ .h3_wrap p  { padding: 0; margin: 0; font-size: 12px; font-weight: 400;}
.page-goods .goods_price_box div.specinfo_ .h3_wrap p a { font-size: 12px; font-weight: 400; text-decoration: underline; color: #1D3994;}
.page-goods .goods_price_box div.specinfo_ .h3_wrap p a:hover { text-decoration: none;}

/* 価格 */
.page-goods .goods_price_box div.pricebox_ { margin: 0 0 20px 0;}
.page-goods .goods_price_box p.price_ { margin: 10px 0; font-size: 32px; font-weight: 400;}
.page-goods .goods_price_box p.price_ .small_ { font-size: 14px; font-weight: 500; color: #666;}
.page-goods .goods_price_box p.price_ span.yen_ { font-size: 20px; font-weight: 400;}
.page-goods .goods_price_box p.price_ span.tax_ { font-size: 14px; font-weight: 500; color: #666;}
.page-goods .goods_price_box p.price_pop_:not(empty) { margin-bottom: 15px;}
.page-goods .goods_price_box p.default_price_ { font-size: 14px; font-weight: 400; color: #666; text-decoration: line-through; line-height: 1.0; display: block;}
.page-goods .goods_price_box p.default_price_ span.yen_ { font-size: 12px; font-weight: 400;}
.page-goods .goods_price_box p.default_price_ + p.price_ { margin-top: 0;}
.page-goods .goods_price_box p.default_price_ + p.price_::before { content: '→'; margin: 0 10px 0 0; font-size: 16px; font-weight: 400;}
.page-goods .goods_price_box p.net_price_ { font-size: 14px; font-weight: 400; display: none;}
.page-goods .goods_price_box p.promotion_plan_ { margin: 10px 0; font-size: 14px; font-weight: 400;}
.page-goods .goods_price_box p.promotion_price_ span.off_ { padding: 0 0 0 36px; margin: 5px 0 0 0; font-size: 14px; font-weight: 500; color: #333; display: block;}

.page-goods .goods_price_box .onsale p.price_ { color: #333;}
.page-goods .goods_price_box .onsale p.price_ span.yen_ { color: #333;}

.page-goods div.subsc_pricebox_ p.price_ { font-size: 32px; font-weight: 400;}
.page-goods div.subsc_pricebox_ p.price_ .tax_ { font-size: 12px; font-weight: 400;}
.page-goods div.subsc_pricebox_ p.net_price_ { display: none;}
.page-goods div.subsc_pricebox_.discount_ p.price_ { color: #CC0000;}
.page-goods div.subsc_pricebox_.discount_ p.price_ .ttl_ { font-size: 16px; font-weight: 500; display: block;}
.page-goods div.subsc_pricebox_.discount_ p.price_ .tax_ { color: #CC0000;}
.page-goods div.subsc_pricebox_.discount_ p.default_price_ { display: block;}

/* 配送料 */
.page-goods dl.spec_goods_postage_ { margin: 0 0 10px 0; display: flex; align-items: center;}
.page-goods dl.spec_goods_postage_ dt { font-size: 14px; font-weight: 400; word-break: keep-all; white-space: nowrap;}
.page-goods dl.spec_goods_postage_ dt::after { content: '：';}
.page-goods dl.spec_goods_postage_ dd { font-size: 12px; font-weight: 400;}
.page-goods dl.spec_goods_postage_ dd span { display: inline;}
.page-goods dl.spec_goods_postage_ dd span.price_ { font-weight: 400; display: inline;}
.page-goods p.postage_cd_.indent_ { padding: 0 0 0 1em; margin: 0 0 10px 0; text-indent: -1em;}

.page-goods div.reduced_tax_rate_ { margin: 0 0 10px 0; font-size: 12px; font-weight: 400;}
.page-goods div.delivery_limit_   { margin: 0 0 10px 0; font-size: 12px; font-weight: 400; color: #CC0000;}

/* ポイント */
.page-goods div.point_spec_ { margin: 0 0 10px 0; font-size: 14px; font-weight: 400;}
.page-goods div.point_spec_ span { font-size: 14px; font-size: 400;}
.page-goods div.point_spec_ .point_inner_ { font-size: 14px; font-weight: 400;}
.page-goods div.point_spec_ span.promotion_point_  { word-break: break-all;}
.page-goods div.point_spec_ span.pointup_name_tag_ { word-break: break-all;}

/* 商品番号 */
.page-goods dl.spec_goods_code_ { padding: 0 0 20px 0; margin: 0 0 30px 0; border-bottom: #949497 1px solid; display: flex;}
.page-goods dl.spec_goods_code_ dt { font-size: 14px; font-weight: 400; word-break: keep-all; white-space: nowrap;}
.page-goods dl.spec_goods_code_ dt::after { content: '：';}
.page-goods dl.spec_goods_code_ dd { font-size: 14px; font-weight: 400; word-break: break-all;}

/* 配送スケジュール */
.page-goods dl.spec_goods_shipping_ { margin: 0 0 30px 0; display: flex; flex-wrap: wrap;}
.page-goods dl.spec_goods_shipping_ dt { width: 85px; font-size: 14px; font-weight: 400; word-break: keep-all; white-space: nowrap;}
.page-goods dl.spec_goods_shipping_ dt::after { content: '：';}
.page-goods dl.spec_goods_shipping_ dd { width: calc(100% - 85px); font-size: 14px; font-weight: 400;}
.page-goods dl.spec_goods_shipping_ dd.shipping_notice_ { width: 100%; padding: 5px 0 0 1em; font-size: 12px; font-weight: 400; text-indent: -1em;}

/* 数量選択 */
.page-goods div.cartbox_ { padding: 0; margin: 0 0 12px 0;}
.page-goods div.cartbox_ span.variationlist_ { height: 0; padding-right: 0; vertical-align: top;}
.page-goods div.cartbox_ ul { overflow: hidden;}
.page-goods div.cartbox_ ul li.qty_select { margin: 0 0 20px 0;}
.page-goods div.cartbox_ ul li.qty_select .qty_goods_ttl_ { margin: 0 0 7px 0; font-size: 14px; font-weight: 500; display: block;}
.page-goods div.cartbox_ ul li.qty_select select.qty_select_ { width: 100%; max-width: 100%;}
.page-goods div.cartbox_ ul li.qty_select input[name="qty1"] { width: 100%; max-width: 100%;}

/* カートに入れるボタン */
.page-goods .r_cart_ { margin-top: 10px;}
.page-goods div.cartbox_ .js-cart a { text-decoration: none;}
.page-goods div.cartbox_ .js-cart .btn_cart_ {
	width: 100%;
	height: 56px;
	padding: 0 0 0 2em;
	border-radius: 56px;
	min-width: inherit;
	border: #CC0000 1px solid;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #CC0000;
	background-image: url(../../img/usr/icon/icon_cart_white.png);
	background-position: calc(50% - 4em) center;
	background-repeat: no-repeat;
	-webkit-background-size: 24px 20px;
	background-size: 24px 20px;
	transition: 0.2s;
	cursor: pointer;
}
.page-goods div.cartbox_ .btn_cart_l_ {
	width: 100%;
	padding: 0 0 0 2em;
	min-width: inherit;
	border: #CC0000 1px solid;
	background-color: #CC0000;
	background-image: url(../../img/usr/icon/icon_cart_white.png);
	background-position: calc(50% - 4em) center;
	background-repeat: no-repeat;
	-webkit-background-size: 24px 20px;
	background-size: 24px 20px;
	transition: 0.2s;
	cursor: pointer;
}
.page-goods div.cartbox_ a .btn_cart_l_ { background-position: 45px center;}
.page-goods div.cartbox_ .button_ .btn_cart_l_ { background-position: 22px center;}

.page-goods div.cartbox_ .btn_cart_:hover,
.page-goods div.cartbox_ .btn_cart_l_:hover {
	text-decoration: none;
	opacity: 0.7;
}

.page-goods div.cartbox_ .js-cart-frame {
	width: 642px;
	border-radius: 12px;
	display: none;
	background: #FFF;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0.0;
	transition: all 0.3s;
	z-index: 9999;
}
@media screen and (max-width: 550px) {
	.page-goods div.cartbox_ .js-cart-frame { width: 100%; left: 0;}
}
.page-goods div.cartbox_ .js-cart-frame.disp { display: block; opacity: 1.0;}
.page-goods div.cartbox_ .js-cart-frame .cart_frame_ { padding: 40px 56px; border-radius: 12px; border: none;}
.page-goods div.cartbox_ .js-cart-frame .cart_frame_title_ { padding: 0; margin: 0 0 16px 0; font-size: 24px; font-weight: 400; text-align-last: center; background: #FFF; pointer-events: none;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ { padding: 0 0 16px 0; margin: 0 0 16px 0; border-bottom: #D2D2D2 1px solid; display: flex; justify-content: space-between;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_img_ { width: 86px;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_img_ img { width: 100%;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ { width: calc(100% - 106px);}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ .cart_item_name_ { margin: 0 0 10px 0; font-size: 16px; font-weight: 400; line-height: 1.5;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ .cart_item_price_ { margin: 0 0 5px 0; font-size: 16px; font-weight: 400;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ .cart_item_price_ .cart_item_hidden_price_ { display: none;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ .cart_item_price_ .tax_ { padding-left: 1.0em; font-size: 10px; line-height: 1.5; color: #414143;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ .cart_item_qty_ { font-size: 14px; font-weight: 400; line-height: 1.5;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_ .cart_item_desc_ .cart_item_qty_ span { padding-left: 0.5em;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_amt_ { margin: 16px auto 40px; font-size: 14px; font-weight: 500; line-height: 1.5; text-align: center; color: #333;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_amt_ span { padding-left: 20px; font-size: 28px; font-weight: 500; line-height: 1.5; color: #333;}
.page-goods div.cartbox_ .js-cart-frame .cart_item_btn_ { text-align: center;}
.page-goods div.cartbox_ .js-cart-frame a.cart_item_cart_ {
	width: 240px;
	height: 56px;
	margin: 0 auto 10px;
	border: #CC0000 1px solid;
	border-radius: 56px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #CC0000;
	cursor: pointer;
	transition: 0.2s;
}
.page-goods div.cartbox_ .js-cart-frame a.cart_item_cart_:hover { opacity: 0.7;}
.page-goods div.cartbox_ .js-cart-frame a.cart_item_continue_ {
	width: 240px;
	height: 56px;
	margin: 0 auto;
	border: #FFF 1px solid;
	border-radius: 56px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: underline;
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FFF;
	cursor: pointer;
}
.page-goods div.cartbox_ .js-cart-frame a.cart_item_continue_:hover { text-decoration: none;}
.page-goods div.cartbox_ .js-cart-frame a.cart_frame_close_ { font-size: 16px; font-weight: bold; line-height: 1.0; color: #FFF; position: absolute; top: 15px; right: 15px; display: block;}
.page-goods div.cartbox_ .js-cart-bg { width: 100%; height: 100%; display: none; position: fixed; top: 0; left: 0; background: rgba(0,0,0,0.55); opacity: 0.0; transition: all 0.3s; z-index: 9998;}
.page-goods div.cartbox_ .js-cart-bg.disp { display: block; opacity: 1.0;}
.page-goods div.cartbox_ .button_.nocart_ {
	border-color: #D2D2D2 !important;
	color: #FFF !important;
	background: #D2D2D2 !important;
	pointer-events: none !important;
	cursor: not-allowed;
	padding: 0 0 0 0;
	margin: 10px 0px 12px 0;
}

/* お気に入りに登録する */
.page-goods #bookmark_ { margin: 0 0 20px 0;}
.page-goods #bookmark_ a + a { margin-top: 10px !important;}
.page-goods #bookmark_ .bookmark_btn {
	width: 100%;
	height: 56px;
	padding: 0;
	border: #333 1px solid;
	border-radius: 56px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: #333;
	background: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s;
}
.page-goods #bookmark_ .bookmark_btn:hover { opacity: 0.7;}
.page-goods #bookmark_ .bookmark_btn::before {
  content: '';
  width: 20px;
  height: 17px;
  margin-right: 10px;
  background-image: url(../../img/usr/icon/icon_bookmark_black.png);
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
  display: block;
}
.page-goods .bookmarkmodal-option { margin: 5px;}


/* 定期コース
---------------------------------------- */
.page-goods .trepeat_goods_ {}
.page-goods .trepeat_goods_ .trepeat_goods_course_ { margin: 20px 0 0 0;}
.page-goods .trepeat_goods_ .trepeat_goods_course_ + .trepeat_goods_course_ { padding: 20px 0 0 0; border-top: #949497 1px dotted;}

/* 見出し */
.page-goods .trepeat_goods_ h2.course_name_ { margin: 0 0 10px 0; font-weight: 500;}

/* 価格 */
.page-goods .trepeat_goods_ .goods_course_price_ { margin: 0 0 15px 0;}
.page-goods .trepeat_goods_ .goods_course_price_ .price_ { font-size: 32px; font-weight: 400;}
.page-goods .trepeat_goods_ .goods_course_price_ .price_ .yen_ { font-size: 20px; font-weight: 400;}
.page-goods .trepeat_goods_ .goods_course_price_ .net_price_ { font-size: 12px; font-weight: 400; display: none;}

/* バリエーション選択 */
.page-goods div.colors_ { width: 100%; margin: 0 0 20px 0; display: flex; flex-wrap: wrap; gap: 5px; overflow: hidden;}
.page-goods div.colors_ select { width: 100%; max-width: 100%;}
.page-goods div.colors_ .message_ { width: 100%; margin: 0 0 10px 0; font-size: 14px; font-weight: 500; display: block; float: none;}
.page-goods div.colors_ br { clear: left;}
.page-goods div.colors_ div.color_,
.page-goods div.colors_ div.color2_ {
	width: 58px;
	height: 58px;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	background-position: center center;
	-webkit-background-size: contain;
	background-size: contain;
	overflow: hidden;
}
.page-goods div.colors_ div.color_EnableStock_     { border: #DDD 2px solid; background-color: #FFF; cursor: pointer;}
.page-goods div.colors_ div.color_DisableStock_    { border: #D2D2D2 2px solid; background-color: #D2D2D2; color: #333; cursor: pointer;}
.page-goods div.colors_ div.color_Selected_        { border: #CC0000 2px solid; background-color: #FFF; color: #333;}
.page-goods div.colors_ div.color_DisableSelected_ { border: #D2D2D2 2px solid; background-color: #D2D2D2; color: #FFF;}

.page-goods div.sizes_ { width: 100%; margin: 0 0 20px 0; display: flex; flex-wrap: wrap; gap: 5px; overflow: hidden;}
.page-goods div.sizes_ select { width: 100%; max-width: 100%;}
.page-goods div.sizes_ .message_ { width: 100%; margin: 0 0 10px 0; font-size: 14px; font-weight: 500; display: block; float: none;}
.page-goods div.sizes_ br { clear: left;}
.page-goods div.sizes_ div.size_ { 
	width: auto;
	min-width: 120px;
	max-width: 100%;
	min-height: 46px;
	padding: 2px 10px;
	border-radius: 46px;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
}
.page-goods div.sizes_ div.size_EnableStock_     { border: #DDD 2px solid; background-color: #FFF; cursor: pointer;}
.page-goods div.sizes_ div.size_DisableStock_    { border: #D2D2D2 2px solid; background-color: #D2D2D2; color: #333; cursor: pointer;}
.page-goods div.sizes_ div.size_Selected_        { border: #CC0000 2px solid; background-color: #FFF; color: #333;}
.page-goods div.sizes_ div.size_DisableSelected_ { border: #D2D2D2 2px solid; background-color: #D2D2D2; color: #FFF;}

.page-goods .select_box_wrap .color_select_wrap { margin-bottom: 18px;}
.page-goods .select_box_wrap .color_select_wrap p { padding: 0 0 3px 3px;}
.page-goods .select_box_wrap .color_select_wrap input[type="radio"] { display: none;}
.page-goods .select_box_wrap .color_select_wrap ul { overflow: hidden;}
.page-goods .select_box_wrap .color_select_wrap ul li { margin-right: 6px; float: left;}
.page-goods .select_box_wrap .color_select_wrap .radio {
  width: 31px;
  height: 31px;
  margin: 0;
  vertical-align: middle;
  display: block;
  background-color: #FFF;
  position: relative;
  cursor: pointer;
}
.page-goods .select_box_wrap .color_select_wrap .radio:after { content: ''; width: 25px; height: 25px; display: block; position: absolute; top: 2px; left: 2px;}
.page-goods .select_box_wrap .color_select_wrap .radio[for=white]:after { border: #DDD 1px solid; background: #FFF;}
.page-goods .select_box_wrap .color_select_wrap .radio[for=red]:after   { border: #FF0000 1px solid; background: #FF0000;}
.page-goods .select_box_wrap .color_select_wrap .radio[for=black]:after { border: #111111 1px solid; background: #111111;}
.page-goods .select_box_wrap .color_select_wrap .radio:before {
  content: '';
  width: 27px;
  height: 27px;
  border-radius: 2px;
  background-color: #FFF;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.page-goods .select_box_wrap .color_select_wrap input[type=radio]:checked + .radio:before { border: #333333 2px solid; opacity: 1;}

/* 商品についてのお問い合わせはこちら */
.page-goods div#contactbtn { padding: 0 0 40px; margin-bottom: 20px; border-bottom: #949497 1px dotted; font-size: 12px; text-align: center; color: #1D3994;}
.page-goods div#contactbtn a { font-size: 12px; text-decoration: underline; color: #1D3994;}
.page-goods div#contactbtn a:hover { text-decoration: none;}

/* 賞味期限 */
.page-goods div.goodsspec_ .ex_date_ { padding-top: 10px; margin-top: 10px; border-top: #949497 1px dotted;}

/* 在庫・販売期間・販売者 */
.page-goods .goods_price_box .auttxt_ { padding: 0; margin: 0 0 20px 0; font-size: 14px;}
.page-goods .goods_price_box .auttxt_ > ul li { padding: 0 0 20px 0; margin-bottom: 20px; border-bottom: #949497 1px dotted; font-size: 14px;}
.page-goods .goods_price_box .auttxt_ > ul li.seller_ p.name_ { margin: 0; font-size: 14px;}
.page-goods .goods_price_box .auttxt_ > ul li.seller_ p.tel_  { margin: 5px 0 0 0; font-size: 14px;}
.page-goods .goods_price_box .auttxt_ > ul li.period_ p.date_ { margin: 5px 0 0 0; font-size: 14px; font-weight: 700;}

/* FAQ */
.page-goods #spec_faq { width: 100%; margin: 40px 0;}

/* アレルギー情報 */
.page-goods #spec_allergy { width: 100%; margin: 40px 0;}
.page-goods #spec_allergy dl { overflow: hidden;}
.page-goods #spec_allergy dl dt,
.page-goods #spec_allergy dl dd { float: left;}
.page-goods #spec_allergy .allergy_list_ { padding: 0; margin: 0; overflow: hidden;}
.page-goods #spec_allergy .allergy_list_ dt,
.page-goods #spec_allergy .allergy_list_ dd {
  padding: 0;
  margin: 0;
  border-top: #CCC 1px solid;
  border-bottom: #CCC 1px solid;
  font-size: 1px;
  line-height: 0;
  display: inline;
  float: left;
}
.page-goods #spec_allergy .allergy_list_ dt img,
.page-goods #spec_allergy .allergy_list_ dd img { vertical-align: top;}

/* 配送期間 */
.page-goods #spec_delivery { width: 100%; margin: 40px 0;}
.page-goods #spec_delivery dl.delivery_day_ { margin-bottom: 15px;}
.page-goods #spec_delivery dl.delivery_day_ dt { margin: 0 0 7px 0; font-size: 14px; font-weight: 400;}
.page-goods #spec_delivery dl.delivery_day_ dd { font-size: 14px; font-weight: 400; color: #CC0000;}

/* 配送方法 */
.page-goods #spec_delivery .spec_delivery_icons_wrap_ dl { display: flex;}
.page-goods #spec_delivery .spec_delivery_icons_wrap_ dl + dl { margin-top: 5px;}
.page-goods #spec_delivery .spec_delivery_icons_wrap_ dt { font-size: 14px; font-weight: 400; word-break: keep-all; white-space: nowrap;}
.page-goods #spec_delivery .spec_delivery_icons_wrap_ dt::after { content: '：';}
.page-goods #spec_delivery .spec_delivery_icons_wrap_ dd { font-size: 14px; font-weight: 400;}
.page-goods #spec_delivery .spec_delivery_icons_wrap_ dd span + span::before { content: '／';}

/* 決済方法 */
.page-goods #spec_payment { width: 100%; margin: 40px 0 0 0;}
.page-goods #spec_payment p.txt_ { margin: 0 0 20px 0; font-size: 14px;}
.page-goods #spec_payment .spec_payment_icons_ { padding-bottom: 5px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px;}
.page-goods #spec_payment .spec_payment_icons_ img { max-width: 100%; max-height: 30px; vertical-align: top;}
.page-goods #spec_payment .spec_payment_icons_ .ico_img_ { font-size: 14px; font-weight: 500; text-align: left;}
.page-goods #spec_payment .spec_payment_icons_ .ico_img_.ico-cash { width: 100%; font-size: 14px; font-weight: 500; text-align: left;}
.page-goods #spec_payment .spec_payment_icons_ .ico_img_.ico-credit { width: 100%; text-align: center;}
.page-goods #spec_payment .spec_payment_icons_ .ico_img_.ico-conveni { width: 100%; text-align: center;}
.page-goods #spec_payment .note_ { padding-left: 1em; margin: 20px 0 0 0; font-size: 12px; text-indent: -1em; color: #333;}

/* ---------------------------------------
 下部カラム
---------------------------------------- */
/* 注意事項 */
.page-goods div.goodsproductdetail_ div.caution_ { padding: 0; margin: 20px 0; font-size: 16px;}
.page-goods div.goodsproductdetail_ div.caution_ h3 { padding-bottom: 10px;}
.page-goods div.goodsproductdetail_ div.caution_text_ { margin-top: 20px; font-size: 16px;}
.page-goods div.goodsproductdetail_ div.caution_text_ dd { padding: 0; margin: 20px 0; font-size: 16px;}

/* よくあるお問い合わせ  */
.page-goods #about_payment dl { margin-bottom: 10px; overflow: hidden;}
.page-goods #about_payment dl dt {　padding-right: 30px; display: inline; float: left;}
.page-goods #about_payment dl dd { display: inline; float: left;}
.page-goods #about_payment dl dd a { padding: 0 5px 0 0; text-decoration: underline;}
.page-goods #about_payment dl dd a:hover { text-decoration: none;}
.page-goods #about_payment p a { padding: 0 5px 0 0; font-size: 12px; text-decoration: underline; color: #1D3994;}
.page-goods #about_payment p a:hover { text-decoration: none;}

/* マークついて */
.page-goods div.aboutinfo_ { padding: 0; margin: 0 0 30px; font-size: 13px; line-height: 1.4; display: block;}
.page-goods div.aboutinfo_ h2 { padding: 0; margin: 0 0 20px 0; font-size: 18px; font-weight: bold; line-height: 1.0; letter-spacing: 0.5px;}
.page-goods div.aboutinfo_ .inner_ { padding: 0;}
.page-goods div.aboutinfo_ .h2_wrap p { font-size: 12px; font-weight: normal; float: right;}
.page-goods #about_mark { margin: 40px 0;}
.page-goods #about_mark p { margin-bottom: 20px; font-size: 13px; line-height: 1.4; letter-spacing: -0.8px;}
.page-goods #about_mark ul li { padding-left: 1em; margin-bottom: 5px; font-size: 13px; text-indent: -1em; line-height: 1.4; letter-spacing: -0.8px;}
.page-goods #about_mark table.mark_ { width: 100%; margin-bottom: 15px; border-top: #DDD 1px solid; border-left: #DDD 1px solid;}
.page-goods #about_mark table.mark_ th { width: 76px; padding: 12px 7px 10px 11px; border-bottom: #DDD 1px solid; vertical-align: middle;}
.page-goods #about_mark table.mark_ td { width: 355px; padding: 12px 10px 10px 0; border-right: #DDD 1px solid; border-bottom: #DDD 1px solid; font-size: 14px; vertical-align: middle;}

/* オプション */
.page-goods .option_buttons_ { width: 570px; padding: 10px 20px 10px 10px; margin: 0 auto 10px auto; overflow: hidden; background: #F8F8F8;}
.page-goods .option_buttons_ li { margin: 0 0 0 10px; float: left; display: inline;}

/* 関連商品 */
.page-goods  div.accessory_list_ { margin: 10px 0;}

/* ---------------------------------------
 追従カート
---------------------------------------- */
.page-goods .fixed-cart,
.page-goods .fixed-cart.show { display: none !important;}
.page-goods .fixed-cart {
  width: 100%;
  padding: 20px 60px;
  background: rgba(0, 0, 0, .7);
  display: flex;
  align-items: center;
  position: fixed;
  left: 0;
  bottom: -110px;
  z-index: 101;
  transition: .3s ease;
}
.page-goods .fixed-cart.show { bottom: 0;}
.page-goods .fixed-cart .item-img { width: 70px; margin: 0 20px 0 0;}
.page-goods .fixed-cart .item-img img { width: 100%;}
.page-goods .fixed-cart .item-name {
  width: calc(100% - 610px);
  color: #FFF;
  font-size: 22px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.page-goods .fixed-cart .price-area { width: 230px; margin-left: auto;}
.page-goods .fixed-cart .price-area .price { width: 100%; font-size: 22px; text-align: right; color: #FFF;}
.page-goods .fixed-cart .price-area .price span { font-size: 14px;}
.page-goods .fixed-cart .btn-cart {
  width: 280px;
  padding: 20px 0;
  margin: 0 0 0 20px;
  border: #CC0000 1px solid;
  border-radius: 56px;
  font-size: 18px;
  font-weight: 700;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #CC0000;
  cursor: pointer;
}
.page-goods .fixed-cart .btn-cart::before {
  content: '';
  width: 24px;
  height: 20px;
  margin-right: 5px;
  background: url("../../img/usr/icon/icon_cart_white.png") center center / contain no-repeat;
  display: block;
}

/* ---------------------------------------
 POPUP クリップボードにコピーしました
---------------------------------------- */
.success-msg {
	width: 300px;
	height: 40px;
	margin: auto;
	border: solid 0px;
	border-radius: 5px;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	color: #eee;
	display: none;
	background: #7d7d7d;
	position: fixed;
	top: 100px;
	left: 0;
	right: 0;
	z-index: 2;
	box-shadow: #5f5f5f 2px 2px 4px;
}

/* ---------------------------------------
 新レコメンドの調整
---------------------------------------- */
.page-goods .goodsproductdetail_ div.slider_relevance_ .item_box_ { width: 130px !important; padding: 0 10px; margin: 0;}
.page-goods .goodsproductdetail_ div.slider_relevance_ .item_box_ .img_ { height: 110px !important; margin-bottom: 10px;}
.page-goods .goodsproductdetail_ div.slider_relevance_ .item_box_ .name_ { height: 34px; font-size: 12px; color: #333; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.page-goods .goodsproductdetail_ div.item_slider_ .pagination li { display: block !important; opacity: 1 !important;}
.page-goods .goodsproductdetail_ div.item_slider_ .pagination li.prev,
.page-goods .goodsproductdetail_ div.item_slider_ .pagination li.next { top: 65px;}
