/* ************************************************
*  product_detail_page
* ************************************************ */

#zoomer {
	text-align: center;
}

/* お気に入り */
button.detail__favBtn {
	font-size: 12px;
	border-radius: 5px;
	color: #000 !important;
	font-weight: bold;
	text-align: center;
	background-color: #fff;
	border: 1px solid #000;
	padding: 0 15px;
	line-height: 40px;
	height: 40px;
	text-decoration: none;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

button.detail__contactBtn,
a.detail__contactBtn {
	font-size: 12px !important;
	line-height: 40px !important;
	height: 40px !important;
	margin-bottom: 0 !important;
}

button.detail__favBtn.is-added {
	color: #000 !important;
	border: 1px solid #f2f2f2;
	background: #f2f2f2;
}

button.detail__favBtn:after {
	content: "お気に入りに追加する";
}

button.detail__favBtn.is-added:after {
	content: "お気に入りを解除する";
}

form[name="product_form"] {
	margin-bottom: 60px;
}

@media screen and (max-width:767px) {
	form[name="product_form"] {
		margin-bottom: 40px;
	}
}

#productDetail {
	display: flex;
	justify-content: space-between;

}

.product_images {
	max-width: 50%;
	flex: 0 0 50%;
}

.product_detail_area {
	max-width: calc(50% - 40px);
	flex: 0 0 calc(50% - 40px);
}

@media screen and (max-width:991px) {
	#productDetail {
		flex-wrap: wrap;
	}

	.product_images {
		max-width: 100%;
		flex: 0 0 100%;
		margin-bottom: 40px;
	}

	.product_detail_area {
		max-width: 100%;
		flex: 0 0 100%;
	}
}

@media (max-width: 767px) {
	#itemName {
		font-size: 16px;
	}
}

#option_area1 {
	margin-bottom: 15px;
}

#option_area1 h3,
#option_area2 h3 {
	margin-bottom: 5px;
	font-size: 18px;
}

#option_area2 {
	padding: 10px;
}

.op1 {
	margin-bottom: 10px;
}

.op2 {
	margin-bottom: 10px;
}

.op2_ttl {
	font-weight: bold;
	color: #666666;
	margin-bottom: 5px;
}

.stock_comment {
	font-size: 12px;
	color: #dd0000;
}

#option_table {
	line-height: 1;
}

#option_table table {
	border-top: 1px solid #999;
	border-right: 1px solid#999;
	width: 100%;
}

#option_table table th {
	text-align: left;
	background: #eeeeee;
	border-left: 1px solid #999;
	border-bottom: 1px solid #999;
	font-size: 14px;
	font-weight: normal;
	width: 30%;
	padding: 5px;
}

#option_table table td {
	text-align: right;
	color: #dd0000;
	background: #ffffff;
	border-bottom: 1px solid #999;
	font-size: 14px;
	font-weight: bold;
	width: 70%;
	padding: 5px;
	line-height: 1.2;
}

div#box_together .zoom__title {
	margin-bottom: 30px;
}


h2.product_name {
	margin-bottom: 0.8em;
	font-size: 18px;
}

h3.zoom__title {
	font-size: 14px;
	font-weight: bold;
	border-bottom: solid 1px #ddd;
}

.product_form {
	margin: 0 0 62px;
}

.product_detail_area {
	position: relative;
	width: 100%;
}

.product_images img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: auto;
}

.product_images > div > img {
	border: 1px solid #ddd;
}

.product_images div p.detail {
	margin-top: 10px;
	line-height: 20px;
}

.add_cart {
	clear: right;
	float: right;
	overflow: hidden;
	width: 42%;
}

table.add_cart_table {
	margin: 15px 0 30px 0;
	width: 100%;
	/* border-left: solid 1px #ccc; */
	table-layout: fixed;

}

table.add_cart_table th {
	overflow: hidden;
	padding: 5px 0;
	width: 28%;
	text-align: left;
	font-size: 12px;
	vertical-align: middle;
}

table.add_cart_table td {
	/*  overflow: hidden;*/
	padding: 5px 0;
	width: 55%;
	text-align: left;
	vertical-align: middle;
}

#productNumWrap {
	width: 30px;
}

/* オプション */
table.add_cart_table td input {
	padding: 5px 8px !important;
	border-radius: 5px;
	border: 1px solid #dfdfdf;
	font-size: 12px;
	line-height: 1 !important;
	height: auto !important;
	width: 30px;
}

#productDetail .optionSelect {
	margin-bottom: 10px;
}

#productDetail .optionSelect span {
	display: inline-block;
	margin-right: 5px;

}

#productDetail .optionSelect select {
	padding: 5px 8px !important;
	border-radius: 5px;
	border: 1px solid #dfdfdf;
}


.productNum__changeWrap {
	width: 15px;
	margin-left: 5px;
}

.productNum__changeWrap a {
	display: block;
	margin: 5px 0;
}

table#option_tbl {
	margin-bottom: 20px;
	width: calc(100% - 1px);
}

table#option_tbl th,
table#option_tbl td.none {
	background: whiteSmoke;
}

table#option_tbl th,
table#option_tbl td {
	padding: 6px;
	border: 1px solid #ccc;
	text-align: center;
	vertical-align: middle;
}

table#option_tbl th {
	background: whiteSmoke;
}

table#option_tbl td div input {
	margin-bottom: 5px;
}

ul.option_price {
	margin: 0 0 20px 0;
}

ul.option_price li {
	list-style-type: none;
}

.option_box {
	width: 100%;
	overflow: hidden;
	font-size: 12px;
}

@media (max-width: 767px) {
	.option_box {
		font-size: 10px;
	}
}

table td.pur_block {
	margin: 0 5px 0 0;
	width: auto;
	white-space: normal;
}

.button_area input {
	width: 100%;
}


.product_image_extra {
	margin-bottom: 20px;
	text-align: center;
}

.product_image_extra img.item {
	margin-bottom: 20px;
}

.product_link_area {
	margin: 20px 0 0;
	padding: 20px 0 0;
	border-top: #ccc solid 1px;
}

.product_link_area div.twitter {
	float: left;
	margin-right: 10px;
}

.product_link_area div.pinterest {
	float: left;
	margin-right: 30px;
}

.product_link_area div.fb-like {
	float: left;
	width: 100px;
}

.product_link_area ul.other_link {
	padding-top: 20px;
}

.product_link_area ul.other_link li {
	margin-bottom: 5px;
	list-style: none;
	vertical-align: middle;
	line-height: 24px;
}

.product_link_area ul.other_link li i {
	vertical-align: middle;
}

.product_name {
	letter-spacing: 0.04em;
}

.share {
	margin: 15px 0 0;
	list-style: none;
}

.share li {
	display: inline-block;
	float: left;
	margin: 0 10px 10px 0;
	max-width: 125px;
}

.calamel-link {
	margin-top: 10px;
}

#tb_cap_tb {
	margin-top: 20px;
}

.tb {
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: 1px solid #CCC;
}

#tb_stitle {
	margin-bottom: 20px;
}

.tb_date,
.tb_title,
.tb_body,
.tb_state {
	margin-bottom: 5px;
}

#detail__productImage .slick-dots {
	display: flex;
	flex-wrap: wrap;
	margin-left: -7px;
	margin-right: -7px;
	position: relative;
	bottom: auto;
	margin-top: 12px;
}

#detail__productImage .slick-dots li {
	max-width: 16.666%;
	flex: 0 0 16.666%;
	padding-left: 7px;
	padding-right: 7px;
	margin-bottom: 14px;
	width: auto;
	height: auto;
	margin: 0;
}

#detail__productImage .slick-dotted.slick-slider {
	margin-bottom: 0;
}

#detail__productImage .slick-next {
	right: 15px;
}

#detail__productImage .slick-prev {
	left: 15px;
}

.stockCell {
	text-align: left;
	display: inline-block;
}

.product_detail_area .sold_out {
	text-align: center;
	background: #ff6666;
	font-size: 16px;
	border-radius: 5px;
	color: #fff !important;
	font-weight: bold;
	text-align: center;
	padding: 0 15px;
	line-height: 56px;
	height: 56px;
	text-decoration: none;
	margin: 0px 0 15px;
}

.ranking,
#box_together,
#box_recommend {
	margin-bottom: 40px;
}

#detail__productImage .detailSlider {
	opacity: 0;
}

#detail__productImage .detailSlider.slick-initialized {
	opacity: 1;
}

.detailSlider img {
	width: 100%;
	height: auto;
}

/*
  詳細itemTag
*/
.itemTag_area {
	margin-bottom: 20px;
}

.itemTag {
	display: inline-block;
	border: 1px solid;
	border-radius: 10px;
	padding: 3px 20px;
	font-size: 12px;
	margin: 0 2px;
}


.itemPriceArea {
	padding-bottom: 18px;
}


.quantity,
.quantity > dd > span {
	display: flex;
}

.quantity {
	align-items: center;
}

.quantityTitle {
	padding-right: 14px;
	display: inline-block;
}

a.quantity-down,
a.quantity-up {
	border: 1px solid;
	display: inline-block;
	padding: 6px 10px;
	border: 1px solid #ccc;
	background: #efefef;
	color: #000;
	line-height: 1.6;
}

.quantity input {
	display: inline-block;
	border: 1px solid #ccc;
	border-right: 0px;
	border-left: 0px;
	width: 80px;
	text-align: center;
	line-height: 1.6;
}

.cell_2 > div,
.cell_2 > label {
	display: inline-block !important;
	cursor: pointer;
}

table#option_tbl th {
	font-weight: 500;
}

.cell_2 > div {
	margin-right: 2px;
}


button.detail__cartBtn {
	cursor: pointer;
	transition: 0.2s;
	border-radius: 0;
}

button.detail__cartBtn:hover,
a.detail__contactBtn:hover {
	opacity: 0.8;
	transition: 0.2s;
}


.product_link_area {
	border-top: none;
	margin: 0;
	padding: 0;
}

.product_link_area ul.other_link li {
	line-height: 14px;
}

.product_link_area ul.other_link li > a {
	font-size: 14px;
}

.product_link_area ul.other_link li > a > i {
	font-size: 18px;
}

table.add_cart_table tr {
	border-bottom: 1px solid #ccc;
}

table.add_cart_table th {
	width: 15%;
	font-weight: normal;
	font-size: 14px;
	padding: 15px 0;
	line-height: 2;
}

table.add_cart_table td {
	width: 75%;
	font-size: 14px;
	padding: 15px 0;
	line-height: 2;
}

ul.review_poster {
	display: block;
	margin-bottom: 10px;
}

.reviewlist_datas {
	overflow: hidden;
	margin-bottom: 10px;
}

.review_name {
	margin-bottom: 10px;
}

.review_poster li {
	display: inline-block;
	margin-right: 10px;
	list-style: none;
	color: #999;
	font-size: 12px;
}


.review_ttl,
.shopcomment_ttl {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 16px;
}

/* 星＋タイトルのズレ修正 */

.icon_star,
.review_ttl {
	display: inline-block;
	vertical-align: middle;
}

.review_ttl {
	margin-bottom: 0;
	margin-left: 6px;
}

.reviewlist_content {
	line-height: 1.7;
	font-size: 14px;
	color: #5a514d;
}

article.reviewBox {
	background: #fff;
	border: 1px solid #e9e6df;
	border-radius: 6px;
	padding: 18px;
	margin-bottom: 20px;
}

.container--min {
	width: 910px;
	max-width: 100%;
}

.container--min,
.searchForm__inner--container {
	margin-left: auto;
	margin-right: auto;
}

.searchForm__inner--container {
	width: 700px;
	max-width: 100%;
}

.cartBtnRow {
	display: flex;
	margin: 0 -7px;
}

.cartBtnRow > * {
	max-width: 50%;
	flex: 0 0 50%;
	padding: 0 7px;
}

.cartBtnRow a.questionBtn {
	font-size: 12px;
	padding: 0 5px;
	height: 40px
}

.cartBtnRow a.questionBtn i.material-icons {
	font-size: 16px;
}

@media (max-width: 991px) {
	button.detail__favBtn:after {
		white-space: nowrap;
	}
}

/* =================================
商品ページ上部 UI調整（安全版）
================================= */

/* 商品タイトル */
#productDetail #itemName {

	font-size: 20px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.08em;
	margin-bottom: 16px;
	word-break: keep-all;
	overflow-wrap: break-word;
}

@media (max-width:767px) {

	#productDetail #itemName {
		font-size: 18px;
	}

}

/* 価格調整（大きすぎ問題） */
#productDetail .itemPriceArea .price {

	font-size: 22px;
	font-weight: 700;
	color: #b12704;

}

@media (max-width:767px) {

	#productDetail .itemPriceArea .price {
		font-size: 20px;
	}

}

/* お気に入りボタンサイズ修正 */
#productDetail button.detail__favBtn {

	font-size: 12px;
	height: 40px;
	line-height: 40px;

}

/* スマホ文字 */
@media (max-width:767px) {

	#productDetail button.detail__favBtn:after {
		content: "お気に入り";
	}

}

/* オプションUI改善（影響限定） */
#productDetail .optionSelect {

	background: #fafafa;
	border: 1px solid #e5e5e5;
	border-radius: 6px;

	padding: 12px 14px;
	margin-bottom: 14px;

	display: flex;
	flex-direction: column;

}

/* ラベル */
#productDetail .optionSelect span {

	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;

}

/* セレクト */
#productDetail .optionSelect select {

	width: 100%;

	font-size: 14px;

	padding: 8px 32px 8px 10px;

	border-radius: 6px;
	border: 1px solid #ccc;

	appearance: none;

	background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5z'/></svg>");

	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 14px;

}

#productDetail button.detail__cartBtn {

	margin-top: 16px;

	height: 56px;

	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.04em;

	background: #2f6b3a;
	color: #fff;

	border: none;
	border-radius: 6px;

	transition: 0.2s;

}

#productDetail button.detail__cartBtn:active {

	transform: translateY(1px);

}

/* =========================
カートエリア余白
========================= */

#productDetail .itemCartTitle {
	margin-top: 24px;
	margin-bottom: 12px;
	font-size: 15px;
	letter-spacing: 0.03em;
}



/* hover */

#detail__productImage .slick-prev:hover,
#detail__productImage .slick-next:hover {

	background: rgba(0, 0, 0, 0.7);

}

/* 位置 */

#detail__productImage .slick-prev {
	left: 8px;
}

#detail__productImage .slick-next {
	right: 8px;
}


#productDetail .quantity {

	background: #fafafa;
	border: 1px solid #e5e5e5;
	border-radius: 6px;

	padding: 12px 14px;

}



/* =======================
レビューUI
======================= */

.review_block {

	border-bottom: 1px solid #e6e6e6;
	padding: 22px 0;

}

.review_head {

	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;

}

.review_rate {

	font-size: 14px;
	color: #666;

}

.review_title {

	font-size: 16px;
	font-weight: 600;
	margin: 6px 0 6px;
	letter-spacing: .05em;

}

.review_comment {

	font-size: 14px;
	line-height: 1.8;
	color: #444;
	margin-bottom: 8px;

}

.review_meta {

	font-size: 12px;
	color: #888;
	display: flex;
	gap: 10px;

}


.star-base {
	fill: #e5e5e5;
}

.star-fill {
	fill: #f5b301;
}

/* ショップコメント背景 */
.shopcomment {
	background: #fafafa;
	padding: 16px;
	border-radius: 6px;
	margin-top: 10px;
}



/* =========================
商品画像スライダーUX改善
========================= */

#detail__productImage .slick-dots li button:before {
	display: none;
}

#detail__productImage .slick-dots img {
	border-radius: 4px;
	opacity: 0.6;
	transition: 0.2s;
}

#detail__productImage .slick-dots li.slick-active img {
	opacity: 1;
}

#detail__productImage .slick-dots img:hover {
	opacity: 1;
}

/* =========================
商品説明 読みやすさ改善
========================= */

.product_description {

	font-size: 15px;
	line-height: 1.9;

}

.product_description p {
	margin-bottom: 1.4em;
}

.product_description img {
	border-radius: 6px;
}



.icon_star svg {

	width: 18px;
	height: 18px;

}

/* メタ */

.review_poster {
	display: flex;
	gap: 10px;
	font-size: 12px;
	color: #8a817c;
	margin-top: 10px;
}

.review_name {
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
}



/* スライダー矢印 */

#detail__productImage .slick-prev,
#detail__productImage .slick-next {
	width: 42px;
	height: 42px;
	background: rgba(0, 0, 0, 0.55);
	border-radius: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	z-index: 20;

}

/* 矢印アイコン */

#detail__productImage .slick-prev:before,
#detail__productImage .slick-next:before {

	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;

}

#detail__productImage .slick-prev:before {
	transform: rotate(-135deg);
}

#detail__productImage .slick-next:before {
	transform: rotate(45deg);
}

/* hover */

#detail__productImage .slick-prev:hover,
#detail__productImage .slick-next:hover {
	background: rgba(0, 0, 0, 0.75);
}

.review-bubble-section img.bubble-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50% !important;
	object-fit: cover;
}
