@charset 'UTF-8';

#pd2_ProdImage.yet,
#pd2_ProdInfo.yet,
#pd2_CartBox.yet {
	min-height: 200px;
}

#pd2_ProdImage.yet {
	min-height: 250px;
}

#pd2_CartBox.yet {
	min-height: 350px;
}

.yet {
	width: 100%;
	min-height: 50px;
	padding: 10px !important;
	background-color: #CCCC66;
	border-radius: 10px;
	outline: 2px solid var(--global_clr_white);
	outline-offset: -2px;
	font-size: 18px;
	font-weight: bold;
}

.pdGrid_lv1.yet {
	background-color: #CCCCFF !important;
	border-radius: 10px;
	outline: 2px solid var(--global_clr_white);
	outline-offset: -2px;
}

.pdGrid_lv2.yet {
	margin: 5px 0 !important;
	background-color: var(--global_clr_green) !important;
	border-radius: 15px;
	outline: 2px solid var(--global_clr_lightyellow);
	outline-offset: -2px;
}

.pdGrid_lv2.include.yet {
	margin: 5px 0 !important;
	background-color: var(--global_clr_yellow) !important;
	border-radius: 5px;
	outline: 2px solid var(--global_clr_darkbeige);
	outline-offset: -2px;
}




/*------------------------------------------------------------
	詳細系画面・共通設定
------------------------------------------------------------*/
#fwCms_wrapper,
.jBox-wrapper {
	&#prodImgModal {
		.jBox-content {
			margin-top: 0px;
			padding: 0px;
		}
	}

	&.layout_015 {

		/*商品詳細用レイアウトの余白調整*/
		.frame_MH {
			width: auto;
			max-width: var(--screen_max_width);
			margin: 0 auto;
			padding: 0 calc(var(--screen_side_padding_main) / 2);

			@media (max-width: 768px) {
				padding: 0 10px;
			}
		}

		.frame_MB {
			width: auto;
			max-width: var(--screen_max_width);
			padding: 0 0 0 calc(var(--screen_side_padding_main) / 2);

			@media (max-width: 768px) {
				padding: 0 10px;
			}
		}

		.frame_RH,
		.frame_RF {
			width: auto;
			max-width: var(--screen_max_width);
			padding: 0 calc(var(--screen_side_padding_main) / 2);

			@media (max-width: 768px) {
				padding: 0 10px;
			}
		}

		.frame_MF {
			width: auto;
			max-width: var(--screen_max_width);
			padding: 0 calc(var(--screen_side_padding_main) / 2);
		}


		/* 詳細は980pxから大きくレイアウト変更をかける */
		@media (max-width: 980px) {
			.mainArea {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
			}

			.frame_RH,
			.frame_RF {
				display: block;
				clear: both;
				width: 100%;
				padding-left: var(--screen_side_padding_main);
				padding-right: var(--screen_side_padding_main);
				padding: 0 calc(var(--screen_side_padding_main) / 2);
			}

			.frame_MT,
			.frame_MB {
				clear: both;
				width: 100%;
				padding-left: var(--screen_side_padding_main);
				padding-right: var(--screen_side_padding_main);
				padding: 0 calc(var(--screen_side_padding_main) / 2);
			}
		}



		/*商品詳細用レイアウト内・CPNTタイトル描画*/
		.cpWrap {

			&:empty {
				display: none;
			}

			.cpHead {

				.cpHeadTitle h2 {
					color: var(--global_clr_black);
					font-weight: bold;
					font-size: var(--global_font_size_large2);
					padding: 8px 0 7px 12px;
					margin-bottom: 2px;

					@media (max-width: 768px) {
						padding: 6px 2px 4px 4px;
					}
				}
			}

			.cpHeadTitle {
				background-color: var(--global_clr_sandbeige);
			}

			@media (max-width: 768px) {

				/* アコーディオン自 */
				&.cpntSpAccordion {
					background-color: var(--global_clr_sandbeige);
				}
			}
		}
	}

	/*----------------------------------------------------------
	  詳細画面アイコン系オーバーライド＆独自定義
	----------------------------------------------------------*/
	.view_Detail {
		.icoType_Passport {}

		.icoType_Passport2 {}

		.icoType_Status {}

		.icoType_BoxMsg {
			display: inline-block;
			min-height: 16px;
			min-width: 100px;
			width: 100%;
			position: relative;
			margin: 1px auto;
			border-radius: 8px;
			background-color: rgba(255, 255, 255, 0.2);

			&::before {
				content: '';
				display: block;
				position: absolute;
				width: 97%;
				height: 8px;
				top: 10px;
				left: 6px;
				background-color: rgba(255, 205, 0, 0.25);
				border-radius: 8px;
			}

			>span {
				display: inline-block;
				min-height: 16px;
				min-width: 100px;
				font-size: 13px;
				font-weight: bold;
				padding: 1px 2px 0px 20px;
				color: var(--global_clr_red);
				background: url(../img/icon/icon_note.svg) no-repeat top 0px left 1px;
				background-size: 17px;
				white-space: nowrap;
				position: absolute;
				z-index: 20;
				letter-spacing: -1px;
			}
		}

		.icoType_HelpGuide {
			display: inline-block;
			position: absolute;
			top: -24px;
			right: 0px;

			.text_HelpGuide {
				display: inline-block;
				font-size: 13px;
				padding: 1px 2px 0px 20px;
				background: url(../img/icon/ico_circle_question.svg) no-repeat top 0px left 1px;
				background-size: 16px;
				cursor: pointer;
			}
		}
	}

	/*----------------------------------------------------------
	  簡易詳細表示画面オーバーライド
	----------------------------------------------------------*/
	.view_SimpleDetail {
		.itemBlock {
			display: flex;
			width: 100%;
			margin: 0 0 30px;

			@media (max-width: 400px) {
				display: inherit;
			}

			.itemBlockHeader {
				width: 25%;
				margin: 0 20px 0 0;

				@media (max-width: 768px) {
					width: 30%;
				}

				@media (max-width: 400px) {
					width: inherit;
				}

			}

			.itemBlockBody {
				width: 75%;

				@media (max-width: 768px) {
					width: 70%;
				}

				@media (max-width: 400px) {
					width: inherit;
				}

				.itemBlockName {
					min-height: inherit;
				}

				.itemBlockReviewArea {
					min-height: inherit;
				}

				.itemIcoArea {
					justify-content: start;

					li {
						margin: 0 10px 0 0;
					}
				}

				.itemNameInfo {
					display: block;
					display: -webkit-box;
					overflow: initial;
					text-overflow: initial;
					-webkit-box-orient: initial;
					-webkit-line-clamp: initial;
					min-height: initial;
					padding-right: 5px;
					padding-bottom: 5px;
					font-weight: bold;

					span {
						display: contents;
					}
				}

				.itemModelNum {
					display: block;
					display: -webkit-box;
					overflow: initial;
					text-overflow: initial;
					-webkit-box-orient: initial;
					-webkit-line-clamp: initial;
					min-height: initial;
					padding-right: 5px;
					padding-bottom: 5px;
					font-weight: bold;

					span {
						display: contents;
					}
				}

				.itemBlockInfo {
					margin: 10px 10px 10px auto;

					@media (max-width: 768px) {
						margin: 10px 10px 10px auto;
					}


					.itemBlockPriceIncArea {
						.itemBlockIncTitle {
							margin: 0 5px 0 0;
							width: 80px;
							padding-top: 6px;
							color: var(--global_clr_darkgray);
							font-size: 14px;
							text-align: right;
						}

						.itemBlockIncPrice {
							width: 100px;
							text-align: right;
						}

						.itemBlockIncUnit {
							width: 15px;
						}

						.itemBlockIncInfo {
							width: 40px;
						}
					}

					.itemBlockSeparateArea {
						.itemBlockSeparatePrice {
							width: 100px;
							text-align: right;
						}

						.itemBlockSeparateUnit {
							width: 15px;
						}

						.itemBlockSeparateInfo {
							width: 40px;
						}
					}

					.itemBlockQtyArea {
						display: flex;
						justify-content: end;
						align-items: baseline;
						flex-wrap: wrap;
						margin: 20px 10px 10px auto;

						.itemBlockQtyTitle {
							margin: 0 5px 0 0;
							width: 100px;
							padding-top: 6px;
							color: var(--global_clr_darkgray);
							font-size: 14px;
							text-align: right;
						}

						.itemBlockQtyValue {
							width: 145px;
							font-size: 18px;
							font-weight: bold;
							padding-left: 10px;
							padding-right: 45px;
							text-align: right;

							@media (max-width: 450px) {
								padding-right: 5px;
							}

							@media (max-width: 400px) {
								min-width: 145px;
								padding-right: 45px;
							}

						}
					}
				}
			}
		}
	}
}


/*------------------------------------------------------------
	MK4PFRPM000_01：SC商品詳細・メイン
------------------------------------------------------------*/
#fwCms_wrapper .MK4PFRPM000_01 {
	/*幅の共通定義*/
	--detail_break_point: 980px;
	--detail_width_L: 350px;
	--detail_width_C: auto;
	--detail_width_R: 270px;

	width: 100%;

	.cpMainBody {

		padding: 0;
		display: grid;
		align-content: start;
		column-gap: 15px;
		grid: auto auto 1fr / var(--detail_width_L) auto var(--detail_width_R);

		#pd1_ImageArea {
			grid-area: 1 / 1 / 4 / 2;
		}

		#pd1_NameArea {
			grid-area: 1 / 2 / 2 / 3;
			padding: 0 20px;

			@media (max-width: 1080px) {
				padding: 0 5px;
			}
		}

		#pd1_InfoArea {
			grid-area: 2 / 2 / 3 / 3;
			padding: 0 20px;

			@media (max-width: 1080px) {
				padding: 0 5px;
			}
		}

		#pd1_ContentsArea {
			grid-area: 3 / 2 / 4 / 3;
			padding: 0 20px;

			@media (max-width: 1080px) {
				padding: 0 5px;
			}
		}

		#pd1_CartArea {
			grid-area: 1 / 3 / 4 / 4;
		}

		@media screen and (max-width:980px) {
			padding: 0;
			display: flex;
			flex-direction: column;

			#pd1_NameArea,
			#pd1_ImageArea,
			#pd1_InfoArea,
			#pd1_ContentsArea,
			#pd1_CartArea {
				padding: 0;
			}
		}

		.pdGrid_lv1 {
			width: 100%;
			margin: 0;
			padding: 0;
		}

		.pdGrid_lv2 {
			width: 100%;
			margin: 0 0 15px;
			padding: 0 0 5px;
		}

		/*各Lv1の内部*/
		/*
		#pd1_NameArea {
			配置のまま
		}
		*/
		#pd1_ImageArea {
			display: grid;
			align-content: start;
			grid:
				"pd2_ProdImage"
				"pd2_FloatCart"
				"pd2_ServiceIcon"
				"pd2_Inc_MakerPrice"
				"pd2_OutletInfo"
				"pd2_MakerInfo"

				/ auto;
			@media screen and (max-width:980px) {
				grid:
					"pd2_ServiceIcon"
					"pd2_Inc_MakerPrice"
					"pd2_ProdImage"
					"pd2_FloatCart"
					"pd2_OutletInfo"
					"pd2_MakerInfo"
					/ auto;
			}

			#pd2_ServiceIcon {
				grid-area: pd2_ServiceIcon;
			}

			#pd2_Inc_MakerPrice {
				grid-area: pd2_Inc_MakerPrice;
			}

			#pd2_ProdImage {
				grid-area: pd2_ProdImage;
			}

			#pd2_FloatCart {
				grid-area: pd2_FloatCart;
			}

			#pd2_OutletInfo {
				grid-area: pd2_OutletInfo;
			}

			#pd2_MakerInfo {
				grid-area: pd2_MakerInfo;
			}
		}

		/*
		#pd1_InfoArea {
			配置のまま
		}
		*/
		/*
		#pd1_CartArea {
			配置のまま
		}
		*/
		/*
		#pd1_ContentsArea {
			配置のまま
		}
		*/

		/*----------------------------------
		 #pd2 共通部品
		-----------------------------------*/

		/* Title無しグレー背景アナウンス系情報（PC時サイド向け） */
		.pdParts_Block {
			margin: 10px auto;
			padding: 15px 10px;
			background-color: var(--global_clr_lightgray);
			border-radius: 10px;

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

			.pdParts_BlockValue {}
		}

		/* 枠囲みアナウンス系情報（PC時サイド向け） */
		.pdParts_Info {
			margin-top: 15px;
			margin-bottom: 20px;
			padding: 0;

			.pdParts_InfoTitle {
				border: 1px solid var(--global_clr_darkgray);
				border-radius: 5px 5px 0 0;
				font-size: var(--global_font_size_large1);
				text-align: left;
				color: var(--global_clr_white);
				background-color: var(--global_clr_darkgray);
				position: relative;
				display: flex;
				align-items: center;
				min-height: 36px;
				padding-left: 10px;
			}

			.pdParts_InfoValue {
				border: 1px solid var(--global_clr_darkgray);
				border-radius: 0 0 5px 5px;
				padding: 10px 14px;
				font-size: var(--global_font_size_normal);

				.text_main {
					display: inline-block;
					margin-bottom: 10px;
				}

				.text_sub {
					font-size: var(--global_font_size_small1);
					color: var(--global_clr_black);
					position: relative;
					margin-bottom: 5px;
					padding-left: 20px;

					&::before {
						content: '';
						display: block;
						position: absolute;
						top: 2px;
						left: -1px;
						width: 15px;
						height: 15px;
						/*
						background-image: url(/excludes/KEC/common/img/icon/icon_note.svg);
						*/
						background-image: url(/excludes/KEC/common/img/icon/ico_circle_info.svg);
						background-repeat: no-repeat;
					}
				}
			}

			&.pdParts_Info_spAccordion {

				/*----------------------------------------
				SP時CPNTアコーディオン化制御
				  .cpView直下にcheckbox【.info_acc_check】 ※checked="checked"付与で初期OPEN化
				  .cpHeadTitle直下にlabel【.info_acc_check_btn】
				  ⇒ cpMain・cpFootをAccordion化
				----------------------------------------*/
				/* Accordion制御用の隠しcheckbox */
				.info_acc_check,
				.info_acc_check_btn {
					display: none;

					.text {
						display: none !important;
					}
				}

				@media (max-width: 768px) {
					.pdParts_InfoTitle {
						padding: 2px 1px 1px 2px;
						border-radius: 5px 5px 5px 5px;
					}

					/* Accordion開閉アイコン */
					.pdParts_InfoTitle .info_acc_check_btn {
						display: inline-block;
						opacity: 0.8;
						cursor: pointer;
						width: 26px;
						min-width: 26px;
						height: 26px;
						background-image: url(/excludes/KEC/common/img/icon/ico_circle_large_plus_g.svg);
						background-repeat: no-repeat;
						background-size: 26px;
						background-position: 0 0;
						margin-right: 4px;

						/*（SP Only）*/
						@media (min-width: 769px) {
							display: none;
						}
					}

					/* AccordionOpen時 */
					.info_acc_check:checked~.pdParts_InfoTitle {
						border-radius: 5px 5px 0 0;
					}

					.info_acc_check:checked~.pdParts_InfoTitle .info_acc_check_btn {
						background-image: url(/excludes/KEC/common/img/icon/ico_circle_large_minus_g.svg);
					}

					/* アコーディオン化 */
					.info_acc_check~.pdParts_InfoValue {
						max-height: 0;
						opacity: 0;
						margin: 0;
						overflow: hidden;
						transition: max-height 0.2s, opacity 0.2s;
					}

					.info_acc_check:checked~.pdParts_InfoValue {
						max-height: 50000px;
						opacity: 1;
					}
				}
			}

		}

		/*----------------------------------
		 #pd2 エリア

			#pd2_ProdName         商品名エリア
			#pd2_StatusIcon       ステータス系アイコン

			#pd2_ServiceIcon      サービス系アイコン
			#pd2_ProdImage        商品画像エリア
			#pd2_FloatCart        フローティングカート

			#pd2_ProdInfo         商品情報

			#pd2_CartBox          カートBox
			#pd2_PaymentInfo      利用可能決済
			#pd2_OtherAction      欲しいものリスト追加など
			#pd2_ProdDesc         商品説明

			#pd2_Variations       バリエーション
			#pd2_Models           モデルバージョン
			#pd2_RankingInfo      カテゴリランキング

			#pd2_OutletInfo       アウトレット情報
			#pd2_MakerInfo        メーカーコンテンツ
			#pd2_DelivInfo        送料アナウンス

			#pd2_Inc_Hertz        商品詳細06・ヘルツ情報
			#pd2_Inc_MakerPrice   商品詳細08・メーカー ｘ 中分類 ｘ 売価変更不可フラグ
			#pd2_Inc_DelivInfo    商品詳細07・別途送料アナウンス
			#pd2_Inc_EcInstKbn    商品詳細01・EC取扱区分ｘ中分類アナウンス
			#pd2_Inc_Recycle      商品詳細10・リサイクル
			#pd2_Inc_ProdKbn      商品詳細02・商品区分アナウンス
			#pd2_Inc_ProdInfo     商品詳細04・単品ごとの対応
			#pd2_Inc_CateInfo     商品詳細05・カテゴリ毎のアナウンス
			#pd2_Inc_MakerSupport 商品詳細09・メーカーサポートコメント
			#pd2_Inc_MakerCate    商品詳細03・メーカー ｘ 中分類
		-----------------------------------*/

		/*----------------------------------
		 商品名エリア
		-----------------------------------*/
		#pd2_ProdName {

			.pdProdNameBlock {
				font-weight: bold;
				display: flex;
				flex-direction: column;
				row-gap: 6px;

				.itemNameInfo,
				.itemModelNum {
					display: block;
					margin-bottom: 6px;

					span {
						font-size: 1.7rem;
						padding-right: 8px;

						&:empty {
							display: none;
						}

						&:last-child {
							padding-right: 0;
						}
					}
				}
			}
		}

		/*----------------------------------
		 ステータス系アイコン
		-----------------------------------*/
		#pd2_StatusIcon {
			padding: 0;

			.pd_AreaWrap {
				display: inline-block;

				@media (max-width: 768px) {
					display: flex;
					justify-content: center;
				}
			}

			.icoType_Status {
				margin: 0 auto;

				@media (max-width: 980px) {
					width: auto;
					margin: 0 auto 0 10px;
				}

				@media (max-width: 500px) {
					width: 330px;
					margin: 0 auto;
				}
			}
		}

		/*----------------------------------
		 サービス系アイコン
		-----------------------------------*/
		#pd2_ServiceIcon {

			@media (max-width: 980px) {
				padding: 0 15px 5px 10px;
			}

			@media (max-width: 500px) {
				padding: 0 0 5px;
			}

			.pd_AreaWrap {
				display: flex;
				justify-content: center;
			}

			.icoType_ServiceDetail {
				width: 330px;
				margin: 0 auto;

				@media (max-width: 980px) {
					width: auto;
					margin: 0 auto 0 0;
				}

				@media (max-width: 500px) {
					width: 330px;
					margin: 0 auto;
				}
			}
		}

		/*----------------------------------
		 商品画像エリア
		-----------------------------------*/
		#pd2_ProdImage {
			display: flex;
			flex-direction: column;
			align-items: center;

			.headIcoArea {
				width: 100%;
				display: flex;
				justify-content: space-between;

				.icoType_Notice {
					display: flex;
					flex-wrap: wrap;
					margin: 0 auto 0 0;
					min-width: 280px;

					@media (max-width: 980px) {
						margin: 0 auto 0 10px;
					}

					@media (max-width: 500px) {
						margin: 0 auto 0 0;
					}
				}

				.icoType_Favorite {
					margin-left: 5px;
					margin-right: 5px;

					@media (max-width: 980px) {
						margin-right: 20px;
					}

					@media (max-width: 500px) {
						margin-right: 5px;
					}
				}
			}

			.pdMainImageBlock {
				min-height: 380px;

				.pdMainImage {
					width: 340px;
				}

				.pdImgModalOpen .icon {
					display: flex;
					flex-direction: row;
					align-items: center;
					justify-content: end;
					font-size: var(--global_font_size_small2);
					font-weight: bold;
					margin: 10px 4px 0;

					span {
						padding-left: 22px;
						position: relative;

						&:before {
							content: "";
							position: absolute;
							top: -4px;
							left: 0;
							width: 32px;
							height: 32px;
							background: transparent url(/excludes/KEC/common/img/icon/ico_zoom_in.svg) no-repeat top 0 left 0;
							background-size: 24px;
						}
					}
				}

				/* 動画の場合は再生アイコンを乗せる */
				&.mediaTypeMovie {
					position: relative;

					a {

						&::before {
							content: "";
							position: absolute;
							width: 96px;
                            height: 62px;
                            top: 28%;
                            left: 36%;
							background: var(--global_clr_red);
							border-radius: 10px;
							opacity: 0.8;
							cursor: pointer;
						}

						&::after {
							content: "";
							position: absolute;
							width: 42px;
                            height: 36px;
                            top: 32%;
                            left: 46%;
							border-radius: 3px;
							clip-path: polygon(0 0, 0% 80%, 70% 45%);
							background: var(--global_clr_white);
							z-index: 20;
							cursor: pointer;
						}
					}
				}
			}

			.pdThumbnailBlock {
				margin-bottom: 20px;

				.pdThumbnailList {
					display: flex;
					flex-wrap: wrap;
					column-gap: 10px;
					row-gap: 12px;

					@media (max-width: 768px) {
						column-gap: 12px;
					}


					/* 動画の場合は再生アイコンを乗せる */
					.mediaTypeMovie {
						position: relative;

						a {

							&::before {
								content: "";
								position: absolute;
								width: 35px;
								height: 25px;
								top: 30%;
								left: 20%;
								background: var(--global_clr_red);
								border-radius: 5px;
								opacity: 0.8;
								cursor: pointer;
							}

							&::after {
								content: "";
								position: absolute;
								width: 20px;
                                height: 18px;
                                top: 38%;
                                left: 38%;
								border-radius: 3px;
								clip-path: polygon(0 0, 0% 80%, 70% 45%);
								background: var(--global_clr_white);
								z-index: 20;
								cursor: pointer;
							}

							img {
								object-fit: cover;
								width: 60px;
								height: 60px;
								max-width: 60px;
								max-height: 60px;
							}
						}
					}

					img {
						border: 1px solid var(--global_clr_gray);
						width: 60px;
						height: 60px;
						max-width: 60px;
						max-height: 60px;
					}

					._selected img {
						border: 1px solid var(--global_clr_orange);
					}

				}
			}
		}

		/*----------------------------------
		 フローティングカート
		-----------------------------------*/
		#pd2_FloatCart {
			position: fixed;
			z-index: 1000;
			top: 0;
			left: 0;
			width: calc(100% - 3px);
			/* height: 130px; */
			min-height: 130px;
			background-color: var(--global_clr_darkbeige);
			background-color: rgba(234, 222, 205, 0.9);
			border: 1px solid var(--global_clr_brightgray);
			border-radius: 10px;
			padding: 5px;
			margin: 1px;
			box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.35);
			display: none;
			flex-wrap: nowrap;

			@media (max-width: 768px) {
				position: initial;
				padding: 8px 0;
				opacity: 1.0;
				width: 100%;
				height: auto;
				margin: 0 auto 25px;
			}

			/* 商品情報（PC時のみ） */
			.pdProdBox {
				padding: 0 5px 0 0;
				border-right: 2px solid var(--global_clr_white);
				flex: 1;
				display: flex;

				@media (max-width: 768px) {
					display: none;
				}

				.pdMainImageBlock {
					display: inline-block;
					width: 120px;

					.pdMainImage {
						width: 100px;
					}

					@media (max-width: 800px) {
						width: 90px;

						.pdMainImage {
							width: 80px;
						}
					}

					@media (max-width: 768px) {
						width: 120px;

						.pdMainImage {
							width: 100px;
						}
					}
				}

				.pdProdNameBlock {
					flex: 1;
					font-size: 1.4rem;
					font-weight: bold;
					display: flex;
					flex-direction: column;
					row-gap: 4px;

					.itemNameInfo,
					.itemModelNum {
						display: -webkit-box;
						overflow: hidden;
						text-overflow: ellipsis;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 3;
						margin-bottom: 4px;

						span {
							padding-right: 8px;

							&:last-child {
								padding-right: 0;
							}
						}
					}

					.itemModelNum {
						margin-bottom: 0;
					}
				}
			}

			/* 以下3Box（価格・数量・制限Msg）共通設定 */
			dl {
				font-size: 14px;
				display: flex;

				@media (max-width: 900px) {
					flex-wrap: wrap;
				}

				@media (max-width: 768px) {
					flex-wrap: nowrap;
				}

				dt {
					width: 70px;
					color: var(--global_clr_darkgray);
					font-size: 13px;
					line-height: 18px;
				}

				dd {
					width: auto;
				}
			}

			/* 価格・数量・制限Msg */
			.pdInfoBox {
				padding: 0 5px;
				display: flex;
				flex-direction: column;
				margin-top: -5px;
				min-width: 140px;
				row-gap: 6px;

				@media (max-width: 900px) {
					max-width: 160px;
				}

				@media (max-width: 768px) {
					max-width: initial;
				}

				/* 価格 */
				.pdListInfo {
					margin-top: 3px;
					min-height: 40px;

					dt {
						padding-top: 6px;

						@media (max-width: 768px) {
							display: none;
						}
					}

					.itemPriceIncld {
						display: flex;
						justify-content: end;
						align-items: baseline;

						.itemPriceValue {
							color: var(--global_clr_red);
							font-size: 18px;
							font-weight: bold;

							@media (max-width: 768px) {
								font-size: 16px;
							}
						}

						.itemPriceUnit {
							color: var(--global_clr_red);
							font-size: 13px;
						}

						.itemPriceMemo {
							color: var(--global_clr_black);
							font-size: 11px;
						}
					}

					.itemPriceBase {
						display: flex;
						justify-content: end;
						align-items: baseline;

						.itemPriceValue {
							color: var(--global_clr_black);
							font-size: 14px;
							font-weight: bold;

							@media (max-width: 768px) {
								font-size: 14px;
							}
						}

						.itemPriceUnit {
							color: var(--global_clr_black);
							font-size: 13px;
						}

						.itemPriceMemo {
							color: var(--global_clr_black);
							font-size: 11px;
						}
					}
				}

				/* 数量 */
				.pdInfoBoxQty {
					display: flex;

					dt {
						padding-top: 5px;

						@media (max-width: 768px) {
							width: 45px;
							padding-right: 10px;
							text-align: right;
							display: flex;
							align-items: center;
							justify-content: end;
						}
					}

					select {
						appearance: auto;
						border: 1px solid var(--global_clr_gray);
						padding: 2px 8px;
						text-align: inherit;
						text-transform: inherit;
						border-radius: 4px;
						box-sizing: border-box;
						margin: 1px 0;
						min-width: 72px;
						background-color: var(--global_clr_white);

						@media (max-width: 768px) {
							height: 40px;
						}
					}
				}

				/* 制限Msg */
				.pdInfoBoxMsg {
					display: flex;
					margin-bottom: 8px;

					dt {
						@media (max-width: 768px) {
							display: none;
						}
					}

					.pdInfoBoxLimitMsg {
						padding-top: 5px;
						display: block;
						font-size: 13px;
						font-weight: bold;
						width: 100%;
						color: var(--global_clr_darkred);
					}
				}

				.pdCartBoxSubmit {
					margin-top: 8px;
					margin-bottom: 8px;
				}
			}

			/* 各ボタン下のアイコン型メッセージ */
			.icoType_BoxMsg {
				min-height: 15px;

				/* フローティング時は白背景に */
				&::before {
					background-color: rgba(255, 255, 255, 0.8);
				}

				/* 文字サイズ等を調整 */
				>span {
					font-size: 12px;
					font-weight: bold;
					padding: 1px 2px 0px 17px;
					background: url(../img/icon/icon_note.svg) no-repeat top 1px left 1px;
					background-size: 15px;
					letter-spacing: -0.6px;
				}

				/*
				.icoMsgCartAddValue {
				}

				.icoMsgUseCoupon{
				}

				.icoMsgBopisItem{
				}
*/
			}

			.pdActionBox {
				display: flex;

				@media (max-width: 768px) {
					flex-direction: column;
					row-gap: 15px;
					width: inherit;
				}

				/* カート投入 */
				.pdCartBox {
					padding: 0 5px 0 5px;
					border-left: 2px solid var(--global_clr_white);
					display: flex;
					flex-direction: column;
					row-gap: 2px;

					.pdListInfo {
						min-height: 20px;
					}

					.pdCartBoxSubmit {
						margin-bottom: 2px;

						.cmnBtnAddCart {
							width: 200px;
							max-width: 360px;
							height: 30px;
							font-size: 15px;
							line-height: unset;
							background-position: 34px 7px;
							background-size: 20px;
							padding-left: 16px;

							@media (max-width: 768px) {
								width: 100%;
								height: 40px;
								background-size: 22px;
								background-position: 18% 10px;
							}
						}
					}
				}

				/* 店頭受取 */
				.pdBopisBox {
					padding: 0 5px 0 2px;
					border-left: 2px solid var(--global_clr_white);
					display: flex;
					flex-direction: column;
					row-gap: 1px;

					.icoType_Status {
						margin-top: 3px;
						min-height: 40px;
						flex-wrap: nowrap;
						column-gap: 1px;

						>li {
							>span {
								max-width: 80px;
							}
						}
					}

					.pdBopisBoxSubmit {
						margin-bottom: 2px;

						.cmnBtnCheckStore {
							width: 200px;
							height: 30px;
							font-size: 13px;
							letter-spacing: -0.4px;
							background-position: 8px 7px;
							background-size: 18px;
							line-height: 13px;

							@media (max-width: 768px) {
								width: 100%;
								max-width: 360px;
								height: 40px;
								background-size: 20px;
								background-position: 4% 12px;
							}
						}
					}

					.pdBopisBoxMsg {
						width: 120px;
						font-size: 13px;
						font-weight: bold;
						letter-spacing: -0.8px;
					}
				}

				.pdSwitchBtn {
					display: none;
				}
			}

			&.stickey {
				display: flex;
				position: fixed;
				top: 2px;
				left: 50%;
				width: calc(100vw - 12px);
				transform: translateX(-50%);

				.pdActionBox {
					.pdBopisBox {
						display: none;
					}

					@media (max-width: 768px) {
						.pdSwitchBtn {
							display: block;
							width: 24px;
							height: 24px;
							background: transparent;
							position: absolute;
							top: 5px;
							right: 5px;
							transform: rotate(0deg);
							transition: transform 0.5s;

							&.rotate {
								transform: rotate(180deg);
								transition: transform 0.5s;
							}
						}
					}

				}

				&.switched {
					.pdBopisBox {
						display: flex;
					}

					.pdCartBox {
						display: none;
					}
				}
			}
		}

		/*----------------------------------
		 商品情報
		-----------------------------------*/
		#pd2_ProdInfo {
			.pd_AreaWrap {
				display: flex;
				flex-direction: row-reverse;
				row-gap: 8px;
				flex-wrap: wrap;
				/* justify-content: space-between; */
				justify-content: flex-start;

				.itemBlockInfo {
					margin: 0;
					width: 100%;
				}
			}

			/* .pdPriceInfoと.pdOtherInfo内のdl基本設定 */
			.pdListInfo {
				display: flex;
				justify-content: flex-end;
				padding-bottom: 10px;

				@media (max-width: 1080px) {
					padding-left: 0;
				}

				dt {
					width: 80px;
					min-width: 70px;
					padding-top: 1px;
					color: var(--global_clr_darkgray);
					font-size: 14px;
					position: relative;

					&::after {
						content: "：";
						position: absolute;
						right: 5px;

					}

					&:empty {

						&::after {
							display: none;
						}
					}
				}

				dd {
					width: 260px;

					.date {
						padding-right: 10px;
						white-space: nowrap;
					}

					.time {
						white-space: nowrap;
					}

				}
			}

			/* レスポンシブ */
			@media (max-width: 1480px) {
				.pdListInfo {
					dt {
						width: 80px;
					}

					dd {
						width: 260px;
					}
				}
			}

			@media (max-width: 1440px) {
				.pdListInfo {
					dt {
						width: 80px;
					}
				}

				.pdOtherInfo {
					.pdListInfo {
						dd {
							width: 200px;
						}
					}
				}
			}

			@media (max-width: 1380px) {
				.pdListInfo {
					dt {
						width: 80px;
					}
				}

				.pdOtherInfo {
					.pdListInfo {
						dd {
							width: 260px;
						}
					}
				}
			}

			@media (max-width: 1080px) {
				.pdListInfo {
					dt {
						width: 75px;
					}
				}
			}

			@media (max-width: 980px) {
				.pdListInfo {
					dt {
						width: 85px;
					}

					dd {
						width: 260px;
					}
				}
			}

			/* 価格 */
			.pdPriceInfo {
				ul {
					width: max-content;
				}

				.itemPriceIncld {
					display: flex;
					justify-content: end;
					align-items: baseline;

					.itemPriceValue {
						color: var(--global_clr_red);
						font-size: 20px;
						font-weight: bold;
						margin-top: -5px;
					}

					.itemPriceUnit {
						color: var(--global_clr_red);
						font-size: 13px;
					}

					.itemPriceMemo {
						color: var(--global_clr_black);
						font-size: 13px;
					}
				}

				.itemPriceBase {
					display: flex;
					justify-content: end;
					align-items: baseline;

					.itemPriceValue {
						color: var(--global_clr_black);
						font-size: 16px;
						font-weight: bold;
					}

					.itemPriceUnit {
						color: var(--global_clr_black);
						font-size: 13px;
					}

					.itemPriceMemo {
						color: var(--global_clr_black);
						font-size: 13px;
					}
				}

				.icoType_PassportDetail {
					@media (max-width: 1020px) {
						margin-left: -40px;
					}

					@media (max-width: 980px) {
						margin-left: initial;
					}
				}

				/*
				dt {
					width:100px;
					padding-top: 6px;
					color: var(--global_clr_darkgray);
					font-size: 14px;

					span {
						white-space: nowrap;
					}
				}
				dd {
					width:260px;

					ul {
						width: max-content;
					}
				}
				@media (max-width: 1480px) {
					.pdListInfo {
						dt {
							width:70px;
						}
						dd {
							width:260px;
						}
					}
				}

				@media (max-width: 1060px) {
					.pdListInfo {
						dt {
							width:70px;
						}
					}
				}
				@media (max-width: 980px) {
					.pdListInfo {
						dt {
							width:115px;
						}
						dd {
							width:260px;
						}
					}
				}
*/
			}

			/* 在庫・納期など */
			.pdOtherInfo {
				padding-top: 5px;

				/* 在庫の色分け表現 */
				.pdStock {
					&.val01 dd {
						color: black;
					}

					&.val02 dd {
						color: var(--global_clr_darkred);
					}

					&.val03 dd {
						color: var(--global_clr_gray);
					}
				}


				/*
				.pdListInfo {
					dt {
						width:100px;
						padding-top: 1px;
						color: var(--global_clr_darkgray);
						font-size: 14px;
					}
					dd {
						width:260px;

						.date {
							padding-right: 10px;
							white-space: nowrap;
						}

						.time {
							white-space: nowrap;
						}
					}
				}
				@media (max-width: 1480px) {
					.pdListInfo {
						dt {
							width:70px;
						}
						dd {
							width:200px;
						}
					}
				}
				@media (max-width: 1380px) {
					.pdListInfo {
						dt {
							width:140px;
						}
						dd {
							width:260px;
						}
					}
				}
				@media (max-width: 1080px) {
					.pdListInfo {
						dt {
							width:70px;
						}
					}
				}
				@media (max-width: 980px) {
					.pdListInfo {
						dt {
							width:115px;
						}
						dd {
							width:260px;
						}
					}
				}
*/
			}
		}

		/*----------------------------------
		 カートBox
		-----------------------------------*/
		#pd2_CartBox {
			background-color: var(--global_clr_white);
			border: 1px solid var(--global_clr_darkred);
			border-radius: 10px;
			padding: 10px;
			display: flex;
			flex-direction: column;
			row-gap: 5px;
			position: relative;

			@media (max-width: 980px) {
				max-width: 420px;
				margin: 0 auto 30px;
			}

			@media (max-width: 600px) {
				max-width: initial;
			}

			dl {
				font-size: 14px;
				display: flex;

				dt {
					width: 70px;
					color: var(--global_clr_darkgray);
					padding-top: 5px;

					@media (max-width: 768px) {
						display: flex;
						align-items: center;
					}
				}

				dd {
					width: auto;
					display: flex;
					column-gap: 12px;
					align-items: center;
					flex-wrap: wrap;
				}
			}

			/* 数量・在庫・納期 */
			.pdInfoBox {
				display: flex;
				flex-direction: column;
				row-gap: 8px;

				.pdInfoBoxQty {
					display: flex;
					margin-bottom: 8px;


					select {
						appearance: auto;
						border: 1px solid var(--global_clr_gray);
						padding: 2px 8px;
						text-align: inherit;
						text-transform: inherit;
						border-radius: 4px;
						box-sizing: border-box;
						margin: 1px 0;
						min-width: 72px;
						background-color: var(--global_clr_white);

						@media (max-width: 768px) {
							height: 40px;
						}
					}

					.pdInfoBoxLimitMsg {
						display: block;
						font-size: 14px;
						font-weight: bold;
						width: 100%;
						color: var(--global_clr_darkred);
						white-space: nowrap;
					}

					.pdInfoBoxSalesMsg {
						font-size: 13px;
						margin-bottom: 8px;
					}
				}

				.pdCartBoxSubmit {
					margin-top: 8px;
					margin-bottom: 8px;
				}
			}

			.icoType_BoxMsg {
				width: 90%;
			}

			/* カート投入 */
			.pdCartBox {
				display: flex;
				flex-direction: column;
				row-gap: 8px;
				margin: 10px 0;

				.cmnBtnAddCart {

					@media (max-width: 768px) {
						width: 90%;
						height: 46px;
						border-radius: 50px;
						font-size: var(--global_font_size_large3);
						background-position: 22% 13px;
					}
				}
			}

			/* 店頭受取 */
			.pdBopisBox {
				display: flex;
				flex-direction: column;
				row-gap: 6px;
				padding: 15px 0 10px;
				border-top: 1px solid var(--global_clr_gray);

				.cmnBtnCheckStore {

					@media (max-width: 768px) {
						width: 90%;
						height: 46px;
						border-radius: 50px;
						font-size: var(--global_font_size_large2);
						background-size: 25px;
						background-position: 7% 12px;
					}
				}

				.pdBopisIcoBoxMsg {
					font-size: 13px;
					margin-bottom: 8px;
					margin-left: 8px;
					width: 130px;
				}

				.pdBopisBoxMsg {
					font-size: 13px;
					margin-top: 8px;
					margin-bottom: 6px;
				}
			}
		}

		/*----------------------------------
		 利用可能決済
		-----------------------------------*/
		#pd2_PaymentInfo {
			.pdPaymentInfoList {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				column-gap: 5px;
				row-gap: 6px;

				li {
					padding: 4px 6px 2px;
					font-size: 13px;
					background-color: var(--global_clr_white);
					border: 1px solid var(--global_clr_darkgray);
					border-radius: 6px;
				}
			}
		}

		/*----------------------------------
		 欲しいものリスト追加など
		-----------------------------------*/
		#pd2_OtherAction {

			.pdOtherAction {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				row-gap: 12px;
				padding: 0 5px;

				@media (max-width: 980px) {
					justify-content: flex-start;
					column-gap: 20px;
				}

				@media (max-width: 500px) {}

			}

			a {
				position: relative;
			}

			/* 欲しいものリストに追加 */
			.icoAddFavorite {
				display: inline-block;
				height: 40px;
				width: 100%;
				margin: 10px auto 30px;
				padding: 10px;
				background-color: var(--global_clr_darkbeige);
				border-radius: 10px;
				color: var(--global_clr_black);
				text-align: center;
				font-weight: bold;
				font-size: 14px;

				&:hover {
					opacity: 0.8;
					text-decoration: none;
				}

				.icon {}

				.text {}
			}

			/* お問い合わせ */
			.icoContact {
				display: inline-block;

				.text {
					font-size: 1.4rem;
					padding-left: 20px;
				}

				&::before {
					content: "";
					position: absolute;
					width: 18px;
					height: 18px;
					background: transparent url(../img/icon/ico_contact.svg) no-repeat top 0px left 1px;
					background-size: 16px;
				}
			}

			/* Xポスト */
			.icoPostX {
				display: flex;
				align-items: center;
				background-color: black;
				height: 20px;
				padding-top: 0;
				border-radius: 6px;
				border: 1px solid var(--global_clr_bluegray);

				.text {
					color: var(--global_clr_white);
					padding: 0 10px 0px 24px;
					font-size: 1.4rem;
					display: inline-block;
				}

				&::before {
					content: "";
					position: absolute;
					width: 22px;
					height: 18px;
					background: transparent url(../img/icon/ico_x_w.svg) no-repeat top 2px left 10px;
					background-size: 11px;
				}

				&:hover {
					opacity: 0.7;

					.text {
						text-decoration: none;
					}
				}
			}

			/* ブックマークに追加 */
			.icoBookMark {
				display: inline-block;

				/* SP時、大半がブックマークをさせることができない、Chrome or Safariなので非表示化 */
				@media (max-width: 768px) {
					display: none;
				}

				.text {
					font-size: 1.4rem;
					padding-left: 20px;
				}

				&::before {
					content: "";
					position: absolute;
					width: 18px;
					height: 18px;
					background: transparent url(../img/icon/ico_bookmark.svg) no-repeat top 0px left 1px;
					background-size: 16px;
				}
			}
		}

		/*----------------------------------
		 商品説明・購入制限コメント
		-----------------------------------*/
		#pd2_ProdDesc {
			padding: 0 0 10px;
			line-height: 1.5;

			ul {
				li {
					list-style: disc;
					margin-bottom: 10px;
				}
			}
		}

		/*----------------------------------
		 バリエーション
		-----------------------------------*/
		#pd2_Variations {
			border-bottom: 0px solid var(--global_clr_darkgray);
			margin-bottom: 20px;

			.pdVariationsTitle {
				font-size: 14px;
				padding: 8px;
				display: flex;
				column-gap: 10px;
				border-top: 1px solid var(--global_clr_darkgray);
				border-bottom: 1px solid var(--global_clr_darkgray);

				dt {
					min-width: 100px;

					.itemNameInfo,
					.itemModelNum {
						display: -webkit-box;
						overflow: hidden;
						text-overflow: ellipsis;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 2;
						margin-bottom: 4px;

						span {
							padding-right: 8px;

							&:last-child {
								padding-right: 0;
							}
						}
					}

				}
			}

			.pdVariationsList {
				display: flex;
				flex-wrap: wrap;
				padding: 10px 2px 0 4px;
				column-gap: 15px;
				row-gap: 15px;

				.pdVariationsItem {
					display: inline-block;
					width: 100px;
					text-align: center;

					&:hover {
						text-decoration: none;
					}

					&._selected {
						img {
							border: 3px solid var(--global_clr_green);
							padding: 3px;
						}

						span {
							font-weight: bold;
						}
					}


					ul {
						display: flex;
						flex-direction: column;

						img {
							height: 80px;
						}

						.pdVariationsValue {
							display: block;
							width: 100px;
							height: 38px;
							margin: 5px 0;
							color: var(--global_clr_black);
							font-size: 1.2rem;
							padding: 2px;
							border: 1px solid var(--global_clr_gray);
							border-radius: 5px;
							word-break: break-all;
							overflow: hidden;
							text-overflow: ellipsis;
						}
					}
				}
			}
		}

		/*----------------------------------
		 モデルバージョン
		-----------------------------------*/
		#pd2_Models {
			border-bottom: 0px solid var(--global_clr_darkgray);
			margin-bottom: 20px;

			/* IF文AndOr利用不可対策 */
			&.displayBlockImportant {
				display: block !important;
			}

			.pdModelsTitle {
				font-size: 14px;
				padding: 8px;
				display: flex;
				column-gap: 10px;
				border-top: 1px solid var(--global_clr_darkgray);
				border-bottom: 1px solid var(--global_clr_darkgray);
			}

			.pdModelsList {
				display: flex;
				padding: 10px 10px 0;
				column-gap: 15px;

				.pdModel {
					display: flex;
					flex-direction: column;
					width: 50%;

					.pdModelItem {
						margin: 3px 0;
						padding: 4px 6px 1px;
						border-radius: 10px;
						background-color: var(--global_clr_white);
						box-shadow: 0 1px 5px 0 #8592B8;

						.modelItemBlock {

							.pdModelLink {
								display: flex;
								flex-direction: row;
								column-gap: 5px;

								@media (max-width: 1120px) {
									flex-direction: column;
									row-gap: 5px;
								}

								&:hover {
									text-decoration: none;
								}

								img {
									min-height: 80px;
									min-width: 80px;
									max-height: 80px;
									max-width: 80px;
								}

								.itemBlockName {
									flex: 1;
								}
							}
						}

						.itemBlockInfo {
							width: calc(100% - 85px);
							margin: 5px 0 0 auto;

							@media (max-width: 1120px) {
								width: calc(100% - 10px);
							}

							/* 価格の折り返し・細かく刻んで調整 */
							.itemBlockIncTitle {
								width: initial;

								@media (max-width: 1340px) {
									width: 100%;
								}

								@media (max-width: 980px) {
									width: initial;
								}

								@media (max-width: 500px) {
									width: 100%;
								}
							}
						}
					}
				}
			}
		}

		/*----------------------------------
		 カテゴリランキング
		-----------------------------------*/
		#pd2_RankingInfo {
			border: 1px solid var(--global_clr_gray);
			border-radius: 10px;
			padding: 10px;
			display: flex;
			flex-direction: column;
			row-gap: 5px;

			.pdRankingInfoTitle {
				color: var(--global_clr_darkgray);
				font-weight: bold;
				font-size: 14px;
			}

			.pdRankingInfoValue {
				padding-left: 5px;

				.rank {
					font-weight: bold;
				}
			}
		}

		/*----------------------------------
		 アウトレット情報
		-----------------------------------*/
		#pd2_OutletInfo {

			/* 個別アイコン設置 */
			.pdParts_InfoTitle {
				&::after {
					content: '';
					display: block;
					position: absolute;
					top: -4px;
					right: 6px;
					width: 34px;
					height: 36px;
					background-image: url(/excludes/KEC/common/img/icon/ico_outlet_bag.svg);
					background-repeat: no-repeat;
				}
			}
		}

		/*----------------------------------
		 メーカーコンテンツ
		-----------------------------------*/
		#pd2_MakerInfo {}

		/*----------------------------------
		 送料アナウンス
		-----------------------------------*/
		#pd2_DelivInfo {

			/* 個別アイコン設置 */
			.pdParts_InfoTitle {
				&::after {
					content: '';
					display: block;
					position: absolute;
					top: 3px;
					right: 6px;
					width: 34px;
					height: 30px;
					background-image: url(/excludes/KEC/common/img/icon/ico_truck_blue.svg);
					background-repeat: no-repeat;
				}
			}
		}

		/*----------------------------------
		 Pay系バナー
		-----------------------------------*/
		#pd2_PayBannerInfo {
			ul {
				display: flex;
				flex-direction: column;
				align-items: center;
				row-gap: 8px;

				img {
					width: 257px;

					@media (max-width: 768px) {
						width: 257px;
					}
				}
			}
		}

		/*----------------------------------
		 Inc) 商品詳細06・ヘルツ情報
		-----------------------------------*/
		#pd2_Inc_Hertz {
			@media (max-width: 980px) {
				padding: 0 15px 5px 10px;
			}

			@media (max-width: 500px) {
				padding: 0 0 5px;
			}
		}

		/*----------------------------------
		 Inc) 商品詳細08・メーカー ｘ 中分類 ｘ 売価変更不可フラグ
		-----------------------------------*/
		#pd2_Inc_MakerPrice {
			@media (max-width: 980px) {
				padding: 0 15px 5px 10px;
			}

			@media (max-width: 500px) {
				padding: 0 0 5px;
			}
		}

		/*----------------------------------
		 Inc) 商品詳細07・別途送料アナウンス
		-----------------------------------*/
		#pd2_Inc_DelivInfo {}

		/*----------------------------------
		 Inc) 商品詳細01・EC取扱区分ｘ中分類アナウンス
		-----------------------------------*/
		#pd2_Inc_EcInstKbn {}


		/*----------------------------------
		 Inc) 商品詳細10・リサイクル
		-----------------------------------*/
		#pd2_Inc_Recycle {

			/* 個別アイコン設置 */
			.pdParts_InfoTitle {
				&::after {
					content: '';
					display: block;
					position: absolute;
					top: -4px;
					right: 4px;
					width: 36px;
					height: 36px;
					background-image: url(/excludes/KEC/common/img/icon/ico_recycle.svg);
					background-repeat: no-repeat;
				}
			}
		}


		/*----------------------------------
		 Inc) 商品詳細02・商品区分アナウンス
		-----------------------------------*/
		#pd2_Inc_ProdKbn {}

		/*----------------------------------
		 Inc) 商品詳細04・単品ごとの対応
		-----------------------------------*/
		#pd2_Inc_ProdInfo {}

		/*----------------------------------
		 Inc) 商品詳細05・カテゴリ毎のアナウンス
		-----------------------------------*/
		#pd2_Inc_CateInfo {}

		/*----------------------------------
		 Inc) 商品詳細09・メーカーサポートコメント
		-----------------------------------*/
		#pd2_Inc_MakerSupport {
			border: 1px solid var(--global_clr_gray);
			border-radius: 10px;
			padding: 10px;
			margin-bottom: 30px;
		}

		/*----------------------------------
		 Inc) 商品詳細03・メーカー ｘ 中分類
		-----------------------------------*/
		#pd2_Inc_MakerCate {}
	}
}


/*------------------------------------------------------------
	MK4PFRPM000_02：SC商品詳細・商品概要
	MK4PFRPM000_05：SC商品詳細・スペック情報
------------------------------------------------------------*/
#fwCms_wrapper .MK4PFRPM000_02,
#fwCms_wrapper .MK4PFRPM000_05 {
	.cpMain {
		.info_head {
			display: block;
			color: var(--global_clr_black);
			font-weight: bold;
			font-size: var(--global_font_size_normal);
			padding: 10px 15px;

			@media (max-width: 768px) {
				padding: 10px 3px;
			}
		}

		.info_body {
			display: block;
			color: var(--global_clr_black);
			font-weight: initial;
			font-size: var(--global_font_size_small1);
			padding: 10px 15px 30px 30px;

			@media (max-width: 768px) {
				padding: 5px 6px 20px;
			}

			.list_table {
				width: 100%;

				th {
					/* width: 30%; */
					width: 280px;
					min-height: 40px;
					padding: 10px 5px 10px 15px;
					color: var(--global_clr_black);
					font-weight: normal;
					font-size: var(--global_font_size_small1);
					background-color: var(--global_clr_brightgray);
					border-top: 1px solid var(--global_clr_gray);
					border-bottom: 1px solid var(--global_clr_gray);

					@media (max-width: 768px) {
						width: 30%;
						padding: 10px 5px 10px 10px;
					}
				}

				td {
					width: 70%;
					padding: 10px 5px 10px 15px;
					color: var(--global_clr_black);
					font-weight: normal;
					font-size: var(--global_font_size_small1);
					background-color: var(--global_clr_white);
					border-top: 1px solid var(--global_clr_gray);
					border-bottom: 1px solid var(--global_clr_gray);

					@media (max-width: 768px) {
						width: 70%;
						padding: 10px 5px 10px 10px;

						.date,
						.time {
							white-space: nowrap;
						}
					}
				}
			}
		}

		.info_foot {
			display: block;
			color: var(--global_clr_black);
			font-weight: initial;
			font-size: var(--global_font_size_small1);
			padding: 10px 10px 10px 30px;

			@media (max-width: 768px) {
				padding: 5px 8px 10px 8px;
			}
		}

		.maker_mdlnum {
			padding-right: 5px;
		}

		.prdDesc {
			display: block;
			padding: 0 0 10px;

			&:empty {
				padding: 0;
			}
		}
	}
}


/*------------------------------------------------------------
	MK4PFRPM000_06：SCレビュー一覧
------------------------------------------------------------*/
#fwCms_wrapper .MK4PFRPM000_06 {
	max-width: inherit;

	.cpHeadTitle h2:before {
		border-right: inherit;
	}
}


/*------------------------------------------------------------
	MK4PFRPC010_01：SC商品スペック比較
------------------------------------------------------------*/
#fwCms_wrapper .MK4PFRPC010_01 {
	margin-bottom: 0;

	/* スクロール時・JSで.cpViewに.inScrollViewを着脱 */
	.cpView.inScrollView .cpHeadTitle {
		max-height: 0;
		overflow: hidden;
		transition: all 0.3s;

		h2,
		input,
		label {
			opacity: 0;
			/* display: none; */
			transition: all 0.1s;
		}
	}

	.cpHeadTitle {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 5px 10px 5px 5px;
		margin-bottom: 5px;
        max-height: 40px;
        transition: all 0.2s;

		h2 {
			padding: 0;
			margin-bottom: 0;
			opacity: 1;
			transition: all 0.6s;
		}

		label {
			font-size: 1.4rem;
			opacity: 1;
			transition: all 0.6s;

			@media (max-width: 768px) {
				font-size: 1.3rem;
			}
		}
	}

	.cpMain {
		overflow-x: initial;

		@media (max-width: 768px) {
			overflow-x: scroll;
		}
	}

	#actLinkBlank {
		margin: 0 1px 1px 0;
		width: 20px;
		height: 20px;
		accent-color: var(--global_clr_blue);
	}

	.cpView.inScrollView .compareTblContainer {
		height: calc(100vh - 136px);
		max-height: calc(100vh - 136px);
		transition: all 0.2s;

		@media (max-width: 768px) {
			height: calc(100vh - 134px);
			max-height: calc(100vh - 134px);
		}
	}

	.cpView .compareTblContainer {
		overflow: scroll;
		height: calc(100vh - 163px);
		max-height: calc(100vh - 163px);
		transition: all 0.2s;

		@media (max-width: 768px) {
			height: calc(100vh - 159px);
			max-height: calc(100vh - 159px);
		}

		.sticky-top {
			position: sticky;
			top: 0;
			z-index: 1;

			.itemBlockName,
			.itemBlockInfo,
			.reviewInfoArea {
				display: block;
				overflow: hidden;
				max-height: 100px;
				opacity: 1;
				transition: max-height 0.2s, opacity 0.6s;
			}
		}

		&.inScrollNow {
			/* スクロール時に sticky が有効になったときの表示 */
			.sticky-top {
				.itemBlockName,
				.itemBlockInfo,
				.reviewInfoArea {
					max-height: 0;
					opacity: 0;
					transition: max-height 0.2s, opacity 0.6s;
				}
			}
		}

		.sticky-left {
			position: sticky;
			left: 0;
			z-index: 2;
		}

		.sticky-top-left {
			position: sticky;
			top: 0;
			left: 0;
			z-index: 3;
		}
	}

	.compareTbl {
		font-size: 1.4rem;
		border: 1px solid var(--global_clr_lightgray);
		border-collapse: initial;

		margin-bottom: 80px;

		@media (max-width: 768px) {
			margin-bottom: 80px;
		}

		.lv1 .headSubjectTh {
			padding: 0;

			.headSubject {
				display: flex;
				justify-content: space-between;
				align-items: center;
				background-color: var(--global_bdr_color);
				margin: 3px 2px;
				border-radius: 8px;
				height: 32px;
				padding: 0 2px;

				.headBtnSubject {
					color: var(--global_clr_bluegray);
					font-size: 1.2rem;
					font-weight: bold;
					text-align: center;
					width: 4.1rem;
					white-space: nowrap;
				}
			}
		}

		.headBtnArea {
			display: flex;
			padding: 4px 0px;
			border-radius: 10px;
			background-color: var(--global_clr_gray);
			position: relative;

			li {
				min-width: 30px;
			}

			li.btnDeleteBlock {
				flex: 1;
			}


			.cmnBtnCircleDelete {
				margin-left: 5px;
				margin-right: 10px;

				@media (max-width: 768px) {
					margin-left: 0;
					margin-right: 5px;
				}
			}

			.cmprbutton-prev,
			.cmprbutton-next {
				background: var(--global_clr_lightgray);
				border: 0;
				cursor: pointer;
				opacity: 0.7;
				padding: 0;
				position: absolute;
				width: 42px;
				;
				height: 30px;

				&:hover {
					background: var(--global_clr_lightgray);

					&:after {
						border-top: 3px solid #FF0000;
						border-right: 3px solid #FF0000;
					}
				}

				&:focus {
					outline: 0px solid #0bf;
					outline-offset: 2px
				}

				&:disabled {
					background: var(--global_clr_gray) !important;

					&:after {
						border-top: 3px solid var(--global_clr_gray);
						border-right: 3px solid var(--global_clr_gray);
					}
				}

				&:after {
					content: '';
					display: block;
					position: absolute;
					top: 10px;
					left: 0;
					width: 10px;
					height: 10px;
					border-top: 3px solid var(--global_clr_bluegray);
					border-right: 3px solid var(--global_clr_bluegray);
					-webkit-transform: rotate(-135deg);
					transform: rotate(-135deg);
				}
			}

			.cmprbutton-prev {
				top: 1px;
				right: 45px;
				border-radius: 10px 0 0 10px;

				&:after {
					top: 11px;
					left: 18px;
					-webkit-transform: rotate(-135deg);
					transform: rotate(-135deg);
				}
			}

			.cmprbutton-next {
				top: 1px;
				right: 1px;
				border-radius: 0 10px 10px 0;

				&:after {
					top: 11px;
					left: 14px;
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
				}
			}
		}

		.headIcoArea {
			display: flex;
			margin: 6px 4px 0 4px;

			.icoType_Notice {
				margin: 0 auto 0 0;

				@media (max-width: 768px) {
					min-width: 70px;
					max-width: 70px;
				}

				.icoNewProducts,
				.icoReservations,
				.icoOutlet {
					padding: 1px 10px 0px 12px;
					margin: 1px auto 1px 0;
					font-size: 14px;
					color: var(--global_clr_darkred);
					font-weight: bold;

					@media (max-width: 768px) {
						font-size: 12px;
					}
				}

			}

			.icoType_Favorite {
				margin-left: 5px;
				margin-right: 5px;

				@media (max-width: 768px) {
					margin-right: 0;
				}
			}
		}

		th {
			min-width: 240px;
			max-width: 240px;
			padding: 8px 5px 8px 10px;
			background-color: var(--global_clr_iceblue);
			border-right: 1px solid var(--global_clr_gray);
			border-bottom: 1px solid var(--global_clr_white);

			@media (max-width: 768px) {
				min-width: 90px;
				max-width: 90px;
				padding: 4px 2px 2px 4px;
			}

			p {
				display: inline-block;
				overflow-wrap: break-word;
				word-break: break-all;
			}

			.cmnBtnCircleWay.neoActToggleLv2 {
				display: none;
			}
		}

		td {
			min-width: 210px;
			max-width: 210px;
			padding: 8px 3px 4px 5px;
			background-color: var(--global_clr_white);
			border-right: 1px solid var(--global_clr_gray);
			border-bottom: 1px solid var(--global_clr_lightgray);

			overflow-wrap: break-word;
			word-break: break-all;

			@media (max-width: 768px) {
				min-width: 134px;
				max-width: 134px;
				padding: 4px 2px 2px 4px;
			}

			div {
				transition: 4s all ease 0.05s;
			}
		}

		.neoAcc {
			th {

				.cmnBtnCircleWay.neoActToggleLv2 {
					display: inline-block;
					position: absolute;
					bottom: 4px;
					right: 4px;
				}
			}

			td {
				position: relative;

				div {
					/* max-height: 18rem; pxじゃないとアニメーションがスムーズじゃない */
					max-height: 180px;
					overflow-y: hidden;
					transition: 4s all ease 0.05s;

					pre {
						display: block;
						display: -webkit-box;
						overflow: hidden;
						text-overflow: ellipsis;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 10;
					}
				}

				&::after {
					content: "";
					position: absolute;
					bottom: 2px;
					width: 96%;
					height: 26px;
					background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255));
				}
			}
		}

		.neoAcc.neoOpen {
			td {
				div {
					/* max-height: 1000rem; */
					max-height: 6000px;
					transition: 4s all ease 0.05s;

					pre {
						-webkit-line-clamp: initial;
					}
				}

				&::after {
					display: none;
				}
			}
		}

		.lv1 {
			th {
				padding: 8px 5px 8px 10px;

				@media (max-width: 768px) {
					padding: 2px 2px 2px 0;
				}
			}

			&.toggleTr {

				th,
				td {
					border-right: 1px solid var(--global_clr_iceblue);
					background-color: var(--global_clr_iceblue);
				}
			}
		}

		.lv2 {

			th {
				padding: 8px 5px 8px 30px;
				background-color: var(--global_clr_lightgray);

				@media (max-width: 768px) {
					padding: 4px 1px 4px 10px;
				}
			}

			&.toggleTr {

				th,
				td {
					border-right: 1px solid var(--global_clr_brightgray);
					background-color: var(--global_clr_brightgray);
				}
			}
		}

		.lv3 {

			th {
				padding: 8px 5px 8px 50px;
				background-color: var(--global_clr_brightgray);
			}

			td {
				text-align: center;
			}
		}

		.toggleArea {
			display: flex;
			align-items: center;
			column-gap: 5px;

			@media (max-width: 768px) {
				column-gap: 2px;
			}
		}

		.reviewInfoArea {
			margin: 4px 0;
		}

		.starRating {
			font-size: 16px;

			@media (max-width: 768px) {
				font-size: 20px;
				min-width: 140px;
			}
		}

		.userReview {
			dt {
				font-size: 14px;
			}

			dd {
				font-size: 13px;
			}
		}

		.userReviewNoData {
			display: inline-block;
			font-size: 13px;
			color: #666;
			padding-top: 4px;
		}


		#cmprControl {
			>td {
				border-right: 1px solid var(--global_clr_gray);
				background-color: var(--global_clr_brightgray);
				padding: 3px 2px 2px 2px;
			}

			/* 左右BTN・始めと終わりの非表示化 */
			>td:nth-child(2) {

				.cmprbutton-prev {
					visibility: hidden;
					;
				}
			}

			>td:last-child {

				.cmprbutton-next {
					visibility: hidden;
					;
				}
			}
		}

		#cmprProd {

			th {

				.cmnBtnCircleWay.neoActToggleLv0 {
                    display: inline-block;
                    position: absolute;
					bottom: 4px;
					right: 4px;
                }
			}


			.itemBlock {
				max-width: 200px;
				min-width: 200px;

				@media (max-width: 768px) {
					min-width: fit-content;
				}

				@media (max-width: 768px) {
					font-size: 12px;
				}

				a:hover {
					color: var(--global_clr_black);
				}

				.itemBlockImg {
					display: flex;
					justify-content: center;
					margin-bottom: 5px;

					img {
						width: 120px;
						height: 120px;

						@media (max-width: 768px) {
							width: 100px;
							height: 100px;
						}
					}
				}

				.itemBlockName {

					.itemNameInfo,
					.itemModelNum {
						display: -webkit-box;
						overflow: hidden;
						text-overflow: ellipsis;
						-webkit-box-orient: vertical;
						margin-bottom: 4px;
					}

					.itemNameInfo {
						-webkit-line-clamp: 3;
						min-height: 56px;

						@media (max-width: 768px) {
							-webkit-line-clamp: 3;
							min-height: 48px;
							word-break: break-all;
						}
					}

					.itemModelNum {
						-webkit-line-clamp: 2;
						min-height: 36px;

						@media (max-width: 768px) {
							-webkit-line-clamp: 2;
							min-height: 32px;
							word-break: break-all;
						}
					}


				}

				.itemBlockIncPrice {
					color: var(--global_clr_red);
					font-size: 1.5rem;
					font-weight: bold;
					letter-spacing: -0.5px;

					@media (max-width: 768px) {
						font-size: 1.4rem;
					}
				}

				.itemBlockIncInfo {
					font-size: 1.1rem;

					@media (max-width: 768px) {
						font-size: 1.0rem;
					}
				}
			}

			td {
				padding: 0 2px 0 5px;
				border-right: 1px solid var(--global_clr_gray);
				background-color: var(--global_clr_brightgray);
			}
		}

		/* toggleGrp_BasicInfo */
		#cmprMaker {}

		#cmprModel {
			td {
				overflow-wrap: anywhere;
			}
		}

		#cmprItemComments {}

		#cmprIcoService {

			/* アイコン描画サイズOverWride */
			.icoType_Service {
				li {
					>span {
						width: 104px;
						height: 22px;
						padding: 2px 0 0 24px
					}

					.icoGuarantee {
						font-size: 14px;
						letter-spacing: 4.8px;
					}

					.icoPostage {
						font-size: 14px;
						letter-spacing: 4.8px;
					}

					.icoInstallation {
						font-size: 13px;
						letter-spacing: -1.2px;
						padding: 2px 0 0 23px;
					}
				}
			}
		}

		#cmprPriceInc {}

		#cmprSeparatePrice {}

		#cmprIcoCoupon {
			.icoType_PassportDetail {
				row-gap: 6px;

				li {
					>p {
						width: 100%;
						height: 24px;
						padding: 3px 0 0 26px;
						font-weight: bold;

						@media (max-width: 768px) {
							height: 36px;
							padding: 5px 0 0 22px;
							font-size: 13px;
							line-height: 14px;
						}

						&::before {
							width: 23px;
							height: 24px;
							background-size: 22px;
							background-position: 0px 1px;
						}

						@media (max-width: 768px) {
							&::before {
								width: 20px;
								height: 36px;
								background-size: 21px;
								background-position: 0px 7px;
							}
						}
					}
				}

				/*----------------------------------------
				 ■ico) あんしんパスポート会員特典【.icoPassport】
				----------------------------------------*/
				.icoPassport {
					letter-spacing: -1.2px;
				}

				/*----------------------------------------
				 ■ico) 店頭受取キャンペーン対象【.icoCampaign】
				----------------------------------------*/
				.icoCampaign {
					letter-spacing: -0.2px;
				}

				/*----------------------------------------
				 ■ico) ネットで使えるクーポン対象【.icoCoupon】
				----------------------------------------*/
				.icoCoupon {
					letter-spacing: -1.0px;
				}
			}
		}

		#cmprRanking {
			td {
				text-align: center;
			}
		}

		#cmprStock {
			td {
				text-align: center;
			}
		}

		#cmprDelivery {
			td {
				text-align: center;
			}
		}

		#cmprSalesDate {
			td {
				text-align: center;
			}
		}

		#cmprJanCd {
			td {
				text-align: center;

				@media (max-width: 768px) {
					text-align: left;
					overflow-wrap: anywhere;
				}
			}
		}

		/* toggleGrp_Review */
		#cmprReviewCnt {
			.reviewInfoArea {
				min-width: initial;

				@media (max-width: 768px) {
					flex-direction: row;
					flex-wrap: wrap;
				}

				.reviewScore {
					font-weight: bold;
					padding-right: 10px;
				}
			}
		}

		#cmprReviewUpper {}

		#cmprReviewLower {}

		/* toggleGrp_Spec */
	}
}


/*------------------------------------------------------------
 モーダル設定
------------------------------------------------------------*/
fwCms_wrapper,
.jBox-wrapper {
	.pdImageModalArea {

		.swiperImageModalMain {
			margin-top: 10px;
			min-height: 320px;
			height: calc(100vh - 275px);

			@media (max-width: 980px) {
				height: calc(100vh - 310px);
			}

			@media (max-width: 768px) {
				height: calc(100vh - 380px);
			}

			@media (max-width: 500px) {
				height: calc(100vh - 245px);
			}

			.swiper-wrapper {
				@media (max-width: 980px) {
					max-height: calc(100vh - 220px);
				}

				@media (max-width: 768px) {
					max-height: calc(100vh - 380px);
				}

				@media (max-width: 500px) {
					max-height: calc(100vh - 160px);
				}

				/* 画像 */
				.swiper-slide {
					display: flex;
					justify-content: center;
					margin: 0 0 20px;

					.pdModalMainImage {
						text-align: center;
					}

					img {
						min-width: 240px;
						/* max-width: fit-content; */
						max-width: 98%;
						min-height: 240px;
						max-height: calc(100vh - 320px);

						@media (max-width: 768px) {
							min-width: 300px;
							max-width: 94%;
							object-fit: cover;
							min-height: 300px;
							max-height: calc(100vh - 270px);
						}
					}
				}

				/* 動画 */
				.swiper-slide.mediaTypeMovie {
					height: 0;
					padding-top: 56.25%;

					iframe {
						min-width: 240px;
						max-width: 94%;
						min-height: 240px;
						max-height: calc(100vh - 320px);
						position: absolute;
						top: 0;
						left: 50%;
						transform: translateX(-50%);

						@media (max-width: 768px) {
							height: calc(100vh - 200px);
							min-width: 300px;
							max-width: 100%;
							object-fit: cover;
							min-height: 300px;
							max-height: calc(100vh - 270px);
						}
					}
				}

			}

			.swiper-button-prev {
				left: 4px;
			}

			.swiper-button-next {
				right: 4px;
			}

		}



		.swiperImageModalThumb {
			margin-top: 20px;

			.swiper-slide {
				display: flex;
				justify-content: center;
				margin: 0 0 30px;

				@media (max-width: 768px) {
					margin: 0 0 20px;
				}

				img {
					max-width: 100px;
					max-height: 100px;

					@media (max-width: 768px) {
						max-width: 100%;
						max-height: 300px;
						object-fit: cover;
					}
				}
			}
		}
	}
}



.pdThumbnailList {
	display: flex;
	flex-wrap: wrap;
	column-gap: 5px;
	row-gap: 10px;

	img {
		border: 1px solid var(--global_clr_gray);
		height: 60px;
	}
}



@media (min-width: 769px) {

	#fwCms_wrapper .mainArea,
	#fwCms_wrapper .frame_MF {
		max-width: 1900px;
		margin: 0 auto;
	}
}