@charset 'UTF-8';

:root {
	/*------------------------------------------------------------
	共通配色定義
------------------------------------------------------------*/
	/*【白】 */
	--global_clr_white: #FFFFFF;
	/*【黒】 ⇒標準テキスト etc */
	--global_clr_black: #333333;

	/*【濃赤】 ⇒強調テキスト・赤枠・アイコン画像背景 etc */
	--global_clr_darkred: #b22234;
	/*【茶】 ⇒アイコン画像背景 etc */
	--global_clr_brown: #965a04;
	/*【濃ベージュ】 ⇒アイコン文字背景 etc */
	--global_clr_darkbeige: #EADECD;
	/*【暖ベージュ】 ⇒アイコン文字背景 etc */
	--global_clr_warmbeige: #F4E2A6;
	/*【薄グレー】 ⇒アイコン文字背景 etc */
	--global_clr_lightgray: #e6e6e6;

	/*【グレー】 ⇒星アイコンOFF etc */
	--global_clr_gray: #CCCCCC;
	/*【明グレー】 ⇒その他機能系ボタン・星アイコン背景 etc */
	--global_clr_brightgray: #F2F2F2;
	/*【サンドベージュ】 ⇒付帯設定背景 etc */
	--global_clr_sandbeige: #F0E7DB;

	/*【アイスブルー】 ⇒あとで買う背景 etc */
	--global_clr_iceblue: #E4F1F4;
	/*【濃グレー】 ⇒各所の枠背景 etc */
	--global_clr_darkgray: #666;
	/*【ブルーグレ】⇒戻る系ボタン・補足コメント文字 etc */
	--global_clr_bluegray: #6b7788;
	/*【濃ブルー】⇒補足コメント文字 etc */
	--global_clr_darkblue: #1b3054;
	/*【明ブルー】 ⇒汎用ボタンhover背景 etc */
	--global_clr_lightblue: #dcf5ff;
	/*【薄黄】*/
	--global_clr_lightyellow: #FFFFAA;
	/*【濃オレンジ】 */
	--global_clr_orange: #FF8C00;

	/*【K's Red】PANTONE 1788C ⇒ロゴ色・価格テキスト etc */
	--global_clr_red: #e32534;
	/*【K's Yellow】PANTONE 116C */
	--global_clr_yellow: #FFCD00;
	/*【K's Blue】PANTONE 293C */
	--global_clr_blue: #003DA5;
	/*【K's Green】PANTONE 334C ⇒サブ機能系ボタン */
	--global_clr_green: #008567;
	/*【K's Gray】PANTONE Cool Gray 10C */
	--global_clr_coolgray: #63666A;

	/*【リンクブルー】 ⇒リンク文字色 etc */
	--global_clr_linkblue: #273CCC;

	/*--------------------------------------------------
		共通フォントサイズ設定（html設定＝62.5%＝1rem＝16×0.625=10px）
	--------------------------------------------------*/
	/* bodyベースサイズ */
	--global_font_size_normal: 1.5rem;
	/* 共通ボタンのデフォルト文字サイズ */
	--global_font_size_large1: 1.6rem;
	/* 商品詳細の商品名など */
	--global_font_size_large2: 1.7rem;
	--global_font_size_large3: 1.8rem;
	/* 商品棚コンポーネントタイトル h2、会員系ページ h1 */
	--global_font_size_large5: 2.0rem;
	/* 注文フロー h1 */
	--global_font_size_large9: 2.4rem;
	/* 一部アイコン内テキスト、記事本文などの多量テキスト表示部向け */
	--global_font_size_small1: 1.4rem;
	/* 一部アイコン内テキスト、ピンポイントガイドなど向け */
	--global_font_size_small2: 1.3rem;
	--global_font_size_small3: 1.2rem;

	/*----------------------------------------
	 アイコン用共通定義
	----------------------------------------*/
	--cmn_icon_font_size_XL: var(--global_font_size_large5);
	--cmn_icon_font_size_L: var(--global_font_size_normal);
	--cmn_icon_font_size_M: var(--global_font_size_small1);
	--cmn_icon_font_size_S: var(--global_font_size_small2);
	--cmn_icon_font_size_XS: var(--global_font_size_small3);
}

/* 20260514 iOS11以前のposition:fixed対策 */
#fwCms_wrapper {

	.fixed,
	[style*="position: fixed"],
	[style*="position:fixed"] {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}
}

/*------------------------------------------------------------
	default setting
------------------------------------------------------------*/
html {
	max-height: 100%;
	font-size: 62.5%;
	scrollbar-gutter: stable;
	-webkit-overflow-scrolling: auto;
	/* Safari向けのプロパティ */

	&.neoMenuOpen {
		overflow-y: hidden;
	}
}

/* ローディング */
#LD_overlay {
	z-index: 99998;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background-color: rgba(255, 255, 255, .3);
	animation: fadeIn .2s ease;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

#LD_overlay #LD_image {
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 25px);
	width: 50px;
	height: 50px;
	background: url(../svg/ic-loading.svg);
	background-size: cover;
	animation: spin 1.5s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

body {
	height: 100vh;
	overflow-y: scroll;
	margin: auto;
	color: #000;
	font-family: 'BIZ UDPGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro', Meiryo, 'Meiryo UI', 'ＭＳ Ｐゴシック', 'Helvetica Neue', 'Osaka', 'Verdana', Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.5rem;
	line-height: 1.3;
	background-color: #FFFFFF;

	/*20260514 iOS 対策追加 */
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;

	&.unscrollable {

		/* PC共通 */
		@media (min-width: 769px) {
			/* padding-right: 15px; */

			/* 個別微調整 */
			header button.global_menu_pageup {
				right: 29px !important;
			}

			.compareWrapper {
				padding-right: 15px;

				.neoSwiper {
					.swiper-button-next {
						right: 25px !important;
					}
				}
			}
		}

		.jBox-overlay {
			width: 100dvw;
			height: 100dvh;
			position: fixed;
		}
	}

	&.neoMenuOpen {
		overflow-y: hidden;
		-webkit-overflow-scrolling: auto;
		/* Safari向けのプロパティ */

		@media (max-width: 768px) {
			overflow-y: hidden;
		}
	}
}

_::-webkit-full-page-media,
_:future,
:root body {
	&.unscrollable {
		.jBox-overlay {
			height: 10000dvh;
			position: absolute;
		}
	}
}

.ksDisplayNon {
	display: none !important;
}

/*視覚的に隠すが読み上げ対象とする（クリップパターン）*/
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: -1px;
}

#fwCms_wrapper {
	padding-bottom: 0;
	transition: 0.2s all ease 0s;

	@media (max-width: 768px) {
		padding-bottom: 110px;

		&.layout_021 {
			padding-bottom: 30px;
		}
	}
}

#fwCms_wrapper,
.jBox-wrapper {

	/*--------------------------------------------------
		サイト共通定義
	--------------------------------------------------*/
	a {
		color: #273ccc;
		text-decoration: none;
		cursor: pointer;

		&:hover {
			text-decoration: underline;

			img {
				opacity: 0.7;

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

	img {
		border-width: 0;
	}

	img,
	svg {
		max-width: 100%;
		height: auto;
		display: inline-block;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	svg {
		max-height: 100%;
		overflow: visible;
	}

	pre {
		white-space: pre-wrap;
		font-family: 'BIZ UDPGothic', 'Hiragino Kaku Gothic ProN', Meiryo, 'Helvetica Neue', 'Verdana', Arial, sans-serif;
	}

	/*----------------------------------------
	[共通] 汎用利用向け制御 class
	----------------------------------------*/
	.view_only_pc {
		@media (max-width: 768px) {
			display: none !important;
		}
	}

	.view_only_sp {
		display: none;

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

	.flex1 {
		flex: 1;
	}

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

		.text {
			display: none !important;
		}
	}

	@media (min-width: 769px) {

		.cpWrap.cpntPcAccordion {

			>.cpView>.cmn_cpnt_acc_check~.cpHead .cpHeadTitle {
				display: flex;
				align-items: center;
			}

			/* Accordion開閉アイコン（PC） */
			>.cpView>.cpHead .cmn_cpnt_acc_check_btn {
				display: inline-block;
				opacity: 0.7;
				cursor: pointer;
				width: 36px;
				min-width: 36px;
				height: 32px;
				/* margin-top: 2px; */
				margin-top: -4px;
				margin-left: 4px;
				margin-right: -6px;
				background-image: url(../img/icon/ico_circle_large_plus_w.svg);
				background-repeat: no-repeat;
				background-size: 32px;
				background-position: 0 0;
			}

			/* AccordionOpen時 */
			>.cpView>.cmn_cpnt_acc_check:checked~.cpHead .cmn_cpnt_acc_check_btn {
				background-image: url(../img/icon/ico_circle_large_minus_w.svg);

				&:focus-visible {
					outline: 2px solid rgb(2, 167, 212) !important;
				}
			}

			/* アコーディオン化 */
			>.cpView>.cmn_cpnt_acc_check~.cpMain,
			>.cpView>.cmn_cpnt_acc_check~.cpFoot {
				max-height: 0;
				opacity: 0;
				margin-top: 0;
				margin-bottom: 0;
				padding-top: 0;
				padding-bottom: 0;
				overflow: hidden;
				transition: max-height 0.2s, opacity 0.2s, margin 0.2s, padding 0.2s;
			}

			>.cpView>.cmn_cpnt_acc_check:checked~.cpMain,
			>.cpView>.cmn_cpnt_acc_check:checked~.cpFoot {
				max-height: 50000px;
				opacity: 1;
				margin-top: inherit;
				margin-bottom: auto;
			}
		}
	}

	@media (max-width: 768px) {
		.cpWrap.cpntSpAccordion {
			background-color: var(--global_clr_lightgray);
			/*
			padding-top: 5px;
*/
			border-radius: 8px;

			.cpHeadTitle h2 {
				font-size: 16px;
				padding: 3px 0 0;
				margin-bottom: 0px;
			}

			.cpView {
				padding: 3px 3px 1px;
			}

			>.cpView>.cmn_cpnt_acc_check~.cpHead .cpHeadTitle {
				display: flex;
				align-items: center;
			}

			/* Accordion開閉アイコン（SP） */
			>.cpView>.cpHead .cmn_cpnt_acc_check_btn {
				display: inline-block;
				opacity: 0.7;
				cursor: pointer;
				width: 28px;
				min-width: 32px;
				height: 26px;
				margin-top: 2px;
				margin-bottom: 2px;
				background-image: url(/excludes/KEC/common/img/icon/ico_circle_large_plus_w.svg);
				background-repeat: no-repeat;
				background-size: 26px;
				background-position: 0 0;

				@media (min-width: 769px) {
					display: none;
				}
			}

			/* AccordionOpen時 */
			>.cpView>.cmn_cpnt_acc_check:checked~.cpHead .cmn_cpnt_acc_check_btn {
				background-image: url(/excludes/KEC/common/img/icon/ico_circle_large_minus_w.svg);
			}

			/* アコーディオン化 */
			>.cpView>.cmn_cpnt_acc_check~.cpMain,
			>.cpView>.cmn_cpnt_acc_check~.cpFoot {
				max-height: 0;
				opacity: 0;
				margin-top: 0;
				margin-bottom: 0;
				padding-top: 0;
				padding-bottom: 0;
				overflow: hidden;
				transition: max-height 0.2s, opacity 0.2s, margin 0.2s, padding 0.2s;
			}

			>.cpView>.cmn_cpnt_acc_check:checked~.cpMain,
			>.cpView>.cmn_cpnt_acc_check:checked~.cpFoot {
				max-height: 50000px;
				opacity: 1;
				margin-top: inherit;
				margin-bottom: auto;
			}
		}
	}
}


/*------------------------------------------------------------
	_root定義） 共通 アイコン・ボタン・ガイドテキスト
------------------------------------------------------------*/
#fwCms_wrapper,
.jBox-wrapper {

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

	/*----------------------------------------
	 ▼アイコン）ランキング順位（画像上エリア）
	   ※上位ul等【.icoType_Ranking】配下、
	     span等で【.icoRanking】と個別順位【.icoRanking_*】付与
	----------------------------------------*/
	.icoType_Ranking {
		.icoRanking {
			display: inline-block;
			background: var(--global_clr_darkgray);
			border-radius: 15px;
			font-size: var(--cmn_icon_font_size_M);
			color: #FFF;
			font-weight: bold;
			text-align: center;
			padding: 4px 0 0;
			width: 24px;
			height: 24px;
			margin-left: 3px;
			margin-right: 5px;
		}

		/* 1～3位の装飾 */
		.icoRanking_1,
		.icoRanking_2,
		.icoRanking_3 {
			background-size: contain;
			overflow: hidden;
			line-height: 80px;
			width: 34px;
			height: 26px;
			margin-top: -2px;
			margin-left: -3px;
			margin-right: 5px;
		}

		.icoRanking_1 {
			background: url(/excludes/KEC/common/img/icon/ico_ranking_1.png) no-repeat;
		}

		.icoRanking_2 {
			background: url(/excludes/KEC/common/img/icon/ico_ranking_2.png) no-repeat;
		}

		.icoRanking_3 {
			background: url(/excludes/KEC/common/img/icon/ico_ranking_3.png) no-repeat;
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		/*
		.viewPc_BoxList {
			.icoType_Ranking {
			}
		}
		.viewPc_BoxSlide {
			.icoType_Ranking {
			}
		}
		.viewPc_WideList {
			.icoType_Ranking {
			}
		}
		*/
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.icoType_Ranking {
			margin-left: 1px;
			margin-right: 3px;

			.icoRanking_1,
			.icoRanking_2,
			.icoRanking_3 {
				margin-left: -5px;
				margin-right: 3px;
			}
		}

		/*
		.viewSp_BoxList {
			.icoType_Ranking {
			}
		}
		.viewSp_BoxSlide {
			.icoType_Ranking {
			}
		}
		*/
	}

	/*----------------------------------------
	 ▼アイコン）お知らせ系（画像上エリア）
	   ※上位ul等【.icoType_Notice】配下、
	     span等で【icoNewProducts, .icoReservations, .icoOutlet】付与
	----------------------------------------*/
	.icoType_Notice {

		.icoNewProducts,
		.icoReservations,
		.icoOutlet {
			display: flex;
			justify-content: center;
			align-items: center;
			height: 22px;
			padding: 1px 10px 0px 12px;
			margin: 1px auto 1px 0;
			border-radius: 5px;
			border: 1px solid var(--global_clr_darkred);
			background-color: var(--global_clr_white);
			font-size: var(--cmn_icon_font_size_M);
			color: var(--global_clr_darkred);
			font-weight: bold;
			white-space: nowrap;

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

		/*----------------------------------------
		 ■ico) 新製品【.icoType_Notice.icoNewProducts】
		----------------------------------------*/
		.icoNewProducts {
			letter-spacing: 3px;
			padding: 1px 12px 0px 14px;
		}

		/*----------------------------------------
		 ■ico) 予約受付中【.icoType_Notice.icoReservations】
		----------------------------------------*/
		.icoReservations {}

		/*----------------------------------------
		 ■ico) アウトレット【.icoType_Notice.icoOutlet】
		----------------------------------------*/
		.icoOutlet {}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		/*
		.viewPc_BoxList {
			.icoType_Notice {
			}
		}
		.viewPc_BoxSlide {
			.icoType_Notice {
			}
		}
		.viewPc_WideList {
			.icoType_Notice {
			}
		}
		*/
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.icoType_Notice {
			min-width: 80px;
			max-width: 80px;
			min-height: 22px;
		}

		/*
		.viewSp_BoxList {
			.icoType_Notice {
			}
		}
		.viewSp_BoxSlide {
			.icoType_Notice {
			}
		}
		*/
	}

	/*----------------------------------------
	 ▼Setアイコン) 商品比較選択チェック（画像上エリア）
	   ※上位ul等【.icoType_Compare】配下、
	     input[type="checkbox"].compareCheck
	     label.compareIco
	----------------------------------------*/
	.icoType_Compare {
		position: relative;
		width: 24px;
		height: 24px;
		padding-left: 1px;
		margin-bottom: 5px;

		.compareCheck {
			display: none;
		}

		.compareIco {
			cursor: pointer;
			position: relative;

			&::before {
				content: '';
				display: block;
				position: absolute;
				top: 1px;
				width: 22px;
				height: 22px;
				border: 2px solid var(--global_clr_gray);
				border-radius: 4px;
			}

			&::after {
				content: '';
				display: block;
				position: absolute;
				top: -2px;
				left: 8px;
				width: 12px;
				height: 20px;
				border-right: 5px solid var(--global_clr_darkgray);
				border-bottom: 5px solid var(--global_clr_darkgray);
				transform: rotate(45deg);
				opacity: 0;
			}
		}

		.compareCheck:checked~.compareIco::before {
			border-color: #999;
		}

		.compareCheck:checked~.compareIco::after {
			opacity: 1;
		}

		.compareCheck[disabled]~.compareIco::before {
			border-color: var(--global_bdr_color);
			background-color: var(--global_clr_lightgray);
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		/*
		.viewPc_BoxList {
			.icoType_Compare {
			}
		}
		.viewPc_BoxSlide {
			.icoType_Compare {
			}
		}
		.viewPc_WideList {
			.icoType_Compare {
			}
		}
		*/
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.viewSp_BoxList {
			.icoType_Compare {
				margin-right: 5px;
			}
		}

		/*
		.viewSp_BoxSlide {
			.icoType_Compare {
			}
		}
		*/
	}

	/*----------------------------------------
	 ▼アイコン）欲しいものリスト追加On/Off（画像上エリア）
	   ※上位ul等【.icoType_Favorite】配下、
	     【button.icoFavorite】＋【.flgOn】
	----------------------------------------*/
	.icoType_Favorite {
		.icoFavorite {
			display: block;
			width: 24px;
			height: 24px;
			border-radius: 12px;
			background: var(--global_clr_gray) url(/excludes/KEC/common/img/icon/star_white.svg) no-repeat;
			background-size: 80%;
			background-position: center;
			margin-top: 0;
			margin-bottom: 5px;
			border-width: 0;

			span {
				display: none;
			}

			&:hover {
				opacity: 0.6;
			}

			&.flgOn {
				background: var(--global_clr_warmbeige) url(/excludes/KEC/common/img/icon/star_orange.svg) no-repeat;
				background-size: 68%;
				background-position: center;
			}
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		/*
		.viewPc_BoxList {
			.icoType_Favorite {
			}
		}
		.viewPc_BoxSlide {
			.icoType_Favorite {
			}
		}
		.viewPc_WideList {
			.icoType_Favorite {
			}
		}
		*/
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		/*
		.viewSp_BoxList {
			.icoType_Favorite {
			}
		}
		.viewSp_BoxSlide {
			.icoType_Favorite {
			}
		}
		*/
	}

	/*----------------------------------------
	 ▼アイコンGrp）一覧系サービス系（アイコン付）
	   ※上位ul等【.icoType_Service】配下、li > span に個別class付与
	----------------------------------------*/
	.icoType_Service {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		row-gap: 6px;
		column-gap: 4px;
		margin-bottom: 6px;

		@media (max-width: 768px) {
			justify-content: center;
			row-gap: 4px;
		}

		li {
			>span {
				display: flex;
				align-items: center;
				width: 108px;
				height: 24px;
				padding: 2px 0 0 28px;
				border-radius: 5px;
				font-weight: bold;
				color: #222;
				text-shadow: 2px 2px 5px white;
				white-space: nowrap;

				@media (max-width: 768px) {
					height: 26px;
					padding: 1px 0 0 28px;
					max-width: 104px;
				}
			}
		}

		/*----------------------------------------
		 ■ico) 長期保証【.icoGuarantee】
		----------------------------------------*/
		.icoGuarantee {
			font-size: var(--cmn_icon_font_size_M);
			letter-spacing: 5.2px;
			background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_heart_bg.svg) no-repeat;
			background-size: contain;

			@media (max-width: 768px) {
				/* letter-spacing: 4.8px; */
				/*SP時SVG化*/
				text-indent: -9999px;
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico104_guarantee.svg) no-repeat top 0px left 0px;
				background-size: 97px;
			}
		}

		/*----------------------------------------
		 ■ico) 送料無料【.icoPostage】
		----------------------------------------*/
		.icoPostage {
			font-size: var(--cmn_icon_font_size_M);
			letter-spacing: 5.2px;
			background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_truck_bg.svg) no-repeat;
			background-size: contain;

			@media (max-width: 768px) {
				/* letter-spacing: 4.8px; */
				/*SP時SVG化*/
				text-indent: -9999px;
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico104_postage.svg) no-repeat top 0px left 0px;
				background-size: 97px;
			}
		}

		/*----------------------------------------
		 ■ico) 取付工事商品【.icoInstallation】
		----------------------------------------*/
		.icoInstallation {
			font-size: var(--cmn_icon_font_size_S);
			letter-spacing: -1.1px;
			background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_wrench_bg.svg) no-repeat;
			background-size: contain;
			padding: 3px 0 0 28px;

			@media (max-width: 768px) {
				/* padding: 3px 0 0 28px;
				letter-spacing: -1.3px; */
				/*SP時SVG化*/
				text-indent: -9999px;
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico104_installation.svg) no-repeat top 0px left 0px;
				background-size: 97px;
			}
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		.viewPc_BoxList {
			.icoType_Service {
				min-height: 56px;
				max-width: 240px;
				margin: 0 auto 8px;
				width: -webkit-fill-available;
				column-gap: initial;
			}
		}

		.viewPc_BoxSlide {
			.icoType_Service {
				min-height: 56px;
				max-width: 240px;
				margin: 0 auto 8px;
				width: -webkit-fill-available;
				column-gap: initial;
			}
		}

		/*
		.viewPc_WideList {
			.icoType_Service {
			}
		}
		*/
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.viewSp_BoxList {
			.icoType_Service {}
		}

		.viewSp_BoxSlide {
			.icoType_Service {}
		}
	}

	/*----------------------------------------
	 ▼アイコンGrp）詳細系サービス系（アイコン付）
	   ※上位ul等【.icoType_ServiceDetail】配下、li > span に個別class付与
	----------------------------------------*/
	.icoType_ServiceDetail {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		column-gap: 8px;
		row-gap: 8px;

		li {
			>span {
				display: flex;
				align-items: center;
				width: 160px;
				height: 28px;
				padding: 2px 0 0 32px;
				border-radius: 5px;
				font-weight: bold;
				color: #222;
				text-shadow: 2px 2px 5px white;
				white-space: nowrap;

				@media (max-width: 768px) {
					height: 26px;
					padding: 1px 0 0 30px;
				}

				_::-webkit-full-page-media,
				_:future,
				:root {
					height: 26px;
					padding: 1px 0 0 30px;
				}
			}

			/*----------------------------------------
			 ■ico) ○年間無料保証【.icoGuaranteeFree】
			----------------------------------------*/
			.icoGuaranteeFree {
				font-size: var(--cmn_icon_font_size_L);
				letter-spacing: 1px;
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_heart_redbox.svg) no-repeat;
				background-size: contain;

				>span:first-child {
					display: inline-block;
					width: 22px;
					text-align: center;
				}

				/*SP時SVG化*/
				@media (max-width: 768px) {
					text-indent: -9999px;

					/*iPad6対策：span内にspanが存在するとtext-indent効かないので配下spanにもtext-indent */
					>span {
						display: initial;
						text-indent: -9999px;
					}

					&.year10 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_free_10.svg) no-repeat top 0px left 0px;
						background-size: 152px;
					}

					&.year5 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_free_05.svg) no-repeat top 0px left 0px;
						background-size: 152px;
					}

					&.year3 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_free_03.svg) no-repeat top 0px left 0px;
						background-size: 152px;
					}

					&.year0 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_free_0.svg) no-repeat top 0px left 0px;
						background-size: 152px;
					}
				}
			}

			/*----------------------------------------
			 ■ico) ○年間有料延長保証【.icoGuaranteePay】
			----------------------------------------*/
			.icoGuaranteePay {
				font-size: var(--cmn_icon_font_size_M);
				letter-spacing: -0.5px;
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_heart_line.svg) no-repeat top 6px left 6px;
				background-size: 18px;
				padding: 2px 0 0 30px;

				/*SP時SVG化*/
				@media (max-width: 768px) {
					text-indent: -9999px;

					&.year10 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_pay_10.svg) no-repeat top 6px left 5px;
						background-size: 147px;
					}

					&.year8 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_pay_08.svg) no-repeat top 6px left 5px;
						background-size: 147px;
					}

					&.year5 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_pay_05.svg) no-repeat top 6px left 5px;
						background-size: 147px;
					}

					&.year3 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_pay_03.svg) no-repeat top 6px left 5px;
						background-size: 147px;
					}

					&.year0 {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_guarantee_pay_0.svg) no-repeat top -1px left -1px;
						background-size: 154px;
					}
				}
			}

			/*----------------------------------------
			 ■ico) 配送・設置無料【.icoPostage】
			----------------------------------------*/
			.icoPostage {
				font-size: var(--cmn_icon_font_size_L);
				/* letter-spacing: 3.3px; */
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_truck_bg.svg) no-repeat;
				background-size: contain;
				letter-spacing: 4px;
				text-align-last: justify;
				text-align: justify;
				display: inline-grid;
				padding-right: 12px;
				/* IE・古いEdge向け */
				text-justify: inter-ideograph;

				@media (max-width: 768px) {
					/*SP時SVG化*/
					letter-spacing: initial;
					text-align-last: initial;
					text-align: initial;
					text-indent: -9999px;
					background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_postage.svg) no-repeat top 0px left 0px;
					background-size: 150px;

					/*配送・設置無料*/
					&.setting {
						background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_setting.svg) no-repeat top 0px left 0px;
						background-size: 150px;
					}
				}
			}

			/*----------------------------------------
			 ■ico) 取付工事承り中【.icoInstallation】
			----------------------------------------*/
			.icoInstallation {
				font-size: var(--cmn_icon_font_size_L);
				letter-spacing: 2.3px;
				background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon/ico_wrench_bg.svg) no-repeat;
				background-size: contain;

				@media (max-width: 768px) {
					/*SP時SVG化*/
					letter-spacing: initial;
					text-align-last: initial;
					text-align: initial;
					text-indent: -9999px;
					background: var(--global_clr_darkbeige) url(/excludes/KEC/common/img/icon_sp/ico160_installation.svg) no-repeat top 0px left 0px;
					background-size: 149px;
				}
			}
		}
	}

	/*----------------------------------------
	 ▼アイコンGrp）あんパス系（アイコン付）
	   ※上位ul等【.icoType_Passport】配下、li > span に個別class付与
	----------------------------------------*/
	.icoType_Passport {
		display: flex;
		flex-wrap: wrap;
		row-gap: 6px;
		column-gap: 6px;
		justify-content: end;

		@media (max-width: 768px) {
			justify-content: start;
			row-gap: 4px;
		}

		li {

			>span {
				display: flex;
				align-items: center;
				width: 218px;
				height: 28px;
				font-size: var(--cmn_icon_font_size_S);
				font-weight: bold;
				color: #000;
				text-shadow: 0 0 2px #AAA;
				white-space: nowrap;
				padding: 2px 0 0 32px;
				border-radius: 4px;
				position: relative;
				outline: 1px solid var(--global_clr_darkred);
				outline-offset: -1px;

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

				&::after {
					content: "";
					position: absolute;
					top: 0;
					right: 0;
					width: 16px;
					height: 16px;
					background: transparent url(/excludes/KEC/common/img/icon/corner_red.png) no-repeat top -2px right -2px;
					border-radius: 4px;
				}
			}

			/*----------------------------------------
			 ■ico) あんしんパスポート会員特典【.icoPassport】
			----------------------------------------*/
			.icoPassport {
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon/ico_an_01_box.svg) no-repeat top 0px left -1px;
				background-size: 28px;
				letter-spacing: 1.4px;

				@media (max-width: 768px) {
					/* letter-spacing: -0.3px; */
					/*SP時SVG化*/
					text-indent: -9999px;
					background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_passport.svg) no-repeat top 0px left 0px;
					background-size: 190px;
				}
			}

			/*iOSはサイズに関わらず*/
			_::-webkit-full-page-media,
			_:future,
			.icoPassport {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_passport.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;
			}

			/*----------------------------------------
			 ■ico) 店頭受取キャンペーン対象【.icoCampaign】
			----------------------------------------*/
			.icoCampaign {
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon/ico_an_03_box.svg) no-repeat top 0px left 0;
				background-size: 27px;
				letter-spacing: 2.5px;

				@media (max-width: 768px) {
					/* letter-spacing: 0.7px; */
					/*SP時SVG化*/
					text-indent: -9999px;
					background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_campaign.svg) no-repeat top 0px left 0px;
					background-size: 190px;
				}
			}

			/*iOSはサイズに関わらず*/
			_::-webkit-full-page-media,
			_:future,
			.icoCampaign {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_campaign.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;
			}

			/*----------------------------------------
			 ■ico) ネットで使えるクーポン対象【.icoCoupon】
			----------------------------------------*/
			.icoCoupon {
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon/ico_an_02_box.svg) no-repeat top 0px left 0;
				background-size: 27px;
				letter-spacing: 1.6px;

				@media (max-width: 768px) {
					/* letter-spacing: -0.1px; */
					/*SP時SVG化*/
					text-indent: -9999px;
					background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_coupon.svg) no-repeat top 0px left 0px;
					background-size: 190px;
				}
			}

			/*iOSはサイズに関わらず*/
			_::-webkit-full-page-media,
			_:future,
			.icoCoupon {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_coupon.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;
			}

			/*----------------------------------------
			 ■ico) icon 更にあんしんパスポートでお得【.icoMoreValue】
			----------------------------------------*/
			.icoMorePassport {
				color: var(--global_clr_white);
				outline: 1px solid var(--global_clr_darkred);
				outline-offset: -1px;
				background: var(--global_clr_darkred);
				width: 206px;
				height: 28px;
				margin-left: 12px;
				padding: 2px 0 0 19px;
				border-radius: 5px;
				letter-spacing: 0.4px;

				@media (max-width: 768px) {
					/* font-size: var(--cmn_icon_font_size_S);
					width: 188px;
					padding: 2px 0 0 19px;
					letter-spacing: -1px; */
					/*SP時SVG化*/
					outline: 0px solid var(--global_clr_darkred);
					width: 200px;
					height: 36px;
					margin-left: 0;
					margin-top: -8px;
					padding: 0;
					text-indent: -9999px;
					background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico180_more_passport.svg) no-repeat top 0px left 0px;
					background-size: 200px;
				}

				.big_text {
					width: 34px;
					height: 34px;
					position: absolute;
					top: -6px;
					left: -14px;
					background: var(--global_clr_darkred);
					border-radius: 20px;
					padding: 4px 0 0 7px;
					font-size: var(--cmn_icon_font_size_XL);
					color: var(--global_clr_white);
					background: var(--global_clr_darkred) url(/excludes/KEC/common/img/icon/ico_an_01_box.svg) no-repeat top 3px left 1px;
					background-size: 30px;
					padding: 2px 0 0 19px;
					letter-spacing: -0.5px;

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

				&::after {
					background-image: none;
				}
			}

			/*iOSはサイズに関わらず*/
			_::-webkit-full-page-media,
			_:future,
			.icoMorePassport {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_coupon.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;

				.big_text {
					display: none;
				}
			}

			/*----------------------------------------
			 ■ico) 「更」にあんしんパスポートでお得【.icoMoreValue】
			----------------------------------------*/
			.icoMoreValue {
				color: var(--global_clr_white);
				outline: 1px solid var(--global_clr_darkred);
				outline-offset: -1px;
				background: var(--global_clr_darkred);
				width: 206px;
				height: 26px;
				margin-left: 12px;
				padding: 2px 0 0 19px;
				border-radius: 5px;
				letter-spacing: 1.5px;

				@media (max-width: 768px) {
					/* font-size: var(--cmn_icon_font_size_S);
					width: 188px;
					padding: 2px 0 0 19px;
					letter-spacing: 0; */
					/*SP時SVG化*/
					outline: 0px solid var(--global_clr_darkred);
					width: 200px;
					height: 36px;
					margin-left: 0;
					margin-top: -8px;
					padding: 0;
					text-indent: -9999px;
					background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico180_more_value.svg) no-repeat top 0px left 0px;
					background-size: 200px;
				}

				.big_text {
					width: 34px;
					height: 34px;
					position: absolute;
					top: -8px;
					left: -14px;
					background: var(--global_clr_darkred);
					border-radius: 20px;
					padding: 4px 0 0 7px;
					font-size: var(--cmn_icon_font_size_XL);
					color: var(--global_clr_white);

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

				&::after {
					background-image: none;
				}
			}

			/*iOSはサイズに関わらず*/
			_::-webkit-full-page-media,
			_:future,
			.icoMoreValue {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico180_more_value.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;

				.big_text {
					display: none;
				}
			}
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		.viewPc_BoxList {
			.icoType_Passport {
				margin: 5px auto 10px;
			}
		}

		.viewPc_BoxSlide {
			.icoType_Passport {
				margin: 5px auto 10px;
				min-height: 58px;
			}
		}

		.viewPc_WideList {
			.icoType_Passport {
				margin: 5px auto 10px;
			}
		}
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.viewSp_BoxList {
			.icoType_Passport {
				margin: 5px 0 10px auto;
				/* max-width: 210px; */
			}
		}

		.viewSp_BoxSlide {
			.icoType_Passport {
				margin: 5px auto 10px;
			}
		}
	}

	/*----------------------------------------
	 ▼(別案) アイコンGrp）あんパス系（アイコン付）【.icoType_Passport】
	   ※上位 ul.icoType_Passport 配下の li 配下、各 span で個別class付与して配置想定
	----------------------------------------*/
	.icoType_Passport.yellow {
		display: flex;
		flex-wrap: wrap;
		row-gap: 6px;
		column-gap: 6px;

		@media (max-width: 768px) {
			justify-content: start;
		}

		li {
			>span {
				display: flex;
				align-items: center;
				width: 228px;
				height: 28px;
				font-size: var(--cmn_icon_font_size_M);
				font-weight: bold;
				color: #000;
				text-shadow: 0 0 2px #AAA;
				white-space: nowrap;
				padding: 2px 0 0 32px;
				border-radius: 4px;
				position: relative;
				outline: 1px solid var(--global_clr_warmbeige);
				outline-offset: -1px;

				@media (max-width: 768px) {
					width: 208px;
					padding: 3px 0 0 30px;
				}

				&::after {
					content: "";
					position: absolute;
					top: 0;
					right: 0;
					width: 16px;
					height: 16px;
					background: transparent url(/excludes/KEC/common/img/icon/corner_red.png) no-repeat top -2px right -2px;
					border-radius: 4px;
				}
			}

			/*----------------------------------------
			 ■ico) あんしんパスポート会員特典【.icoPassport】
			----------------------------------------*/
			.icoPassport {
				background: var(--global_clr_warmbeige) url(/excludes/KEC/common/img/icon/ico_an_01.svg) no-repeat top 2px left 4px;
				background-size: 20px;
			}

			/*----------------------------------------
			 ■ico) ネットで使えるクーポン対象【.icoCoupon】
			----------------------------------------*/
			.icoCoupon {
				background: var(--global_clr_warmbeige) url(/excludes/KEC/common/img/icon/ico_an_02.svg) no-repeat top 8px left 4px;
				background-size: 21px;
			}

			/*----------------------------------------
			 ■ico) 店頭受取キャンペーン対象【.icoCampaign】
			----------------------------------------*/
			.icoCampaign {
				background: var(--global_clr_warmbeige) url(/excludes/KEC/common/img/icon/ico_an_03.svg) no-repeat top 5px left 2px;
				background-size: 24px;
			}

			/*----------------------------------------
			 ■ico) ネットで使えるクーポン対象（非あんパス系）【.icoStandardCoupon】
			----------------------------------------*/
			.icoStandardCoupon {
				outline: 1px solid var(--global_clr_darkred);
				outline-offset: -1px;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon/ico_an_02_box.svg) no-repeat top 0px left 0;
				background-size: 27px;

				&::after {
					background: transparent url(/excludes/KEC/common/img/icon/corner_red.png) no-repeat top -2px right -2px;
				}
			}

			/*----------------------------------------
			 ■ico) 更にあんしんパスポートでお得【.icoMoreValue】
			----------------------------------------*/
			.icoMoreValue {
				color: var(--global_clr_white);
				outline: 1px solid var(--global_clr_darkred);
				outline-offset: -1px;
				background: var(--global_clr_darkred);
				width: 216px;
				height: 26px;
				margin-left: 12px;
				padding: 2px 0 0 20px;
				border-radius: 6px;

				@media (max-width: 768px) {
					font-size: var(--cmn_icon_font_size_S);
					width: 196px;
					padding: 2px 0 0 22px;
				}

				.big_text {
					width: 34px;
					height: 34px;
					position: absolute;
					top: -8px;
					left: -14px;
					background: var(--global_clr_darkred);
					border-radius: 20px;
					padding: 4px 0 0 7px;
					font-size: var(--cmn_icon_font_size_XL);
					color: var(--global_clr_white);
				}

				&::after {
					background-image: none;
				}
			}
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		.viewPc_BoxList {
			.icoType_Passport2 {
				margin: 5px auto 10px;
			}
		}

		.viewPc_BoxSlide {
			.icoType_Passport2 {
				margin: 5px auto 10px;
				min-height: 58px;
			}
		}

		.viewPc_WideList {
			.icoType_Passport2 {
				margin: 5px auto 10px;
			}
		}
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.viewSp_BoxList {
			.icoType_Passport2 {
				margin: 5px 0 10px auto;
				max-width: 210px;
			}
		}

		.viewSp_BoxSlide {
			.icoType_Passport2 {
				margin: 5px auto 10px;
			}
		}
	}

	/*----------------------------------------
	 ▼アイコンGrp）あんパス系（アイコン付）※詳細専用
	   ※上位ul等【.icoType_PassportDetail】配下、li > span に個別class付与
	----------------------------------------*/
	.icoType_PassportDetail {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: normal;
		margin: 0;
		row-gap: 7px;

		@media (max-width: 768px) {
			justify-content: start;
		}

		.icoPassport,
		.icoCampaign,
		.icoCoupon {
			display: flex;
			flex-direction: column;
			width: 240px;
			height: 38px;
			border-radius: 5px;
			position: relative;
			outline: 1px solid var(--global_clr_darkred);
			outline-offset: -1px;

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

			&::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 28px;
				height: 38px;
				background-color: var(--global_clr_darkred);
				border-radius: 5px 0 0 5px;
			}

			&::after {
				content: "";
				position: absolute;
				top: 0;
				right: 0;
				width: 16px;
				height: 16px;
				background: transparent url(/excludes/KEC/common/img/icon/corner_red.png) no-repeat top -2px right -2px;
				border-radius: 5px;
			}

			.icoHeadText {
				font-size: var(--cmn_icon_font_size_XS);
				font-weight: bold;
				color: var(--global_clr_darkgray);
				text-shadow: 0 0 0px #AAA;
				padding: 2px 0 0 32px;
				text-align: left;
				line-height: 16px;

			}

			.icoMainText {
				font-size: var(--cmn_icon_font_size_S);
				font-weight: bold;
				color: #000;
				text-shadow: 0 0 2px #AAA;
				white-space: nowrap;
				padding: 0 5px 0 32px;
				text-align: left;
				line-height: 18px;
				text-align-last: justify;

				.icoPriceDownFor {
					color: var(--global_clr_darkred);
				}

				a .icoPriceDownFor {
					color: blue;
				}

				.icoPriceDownFix {
					color: var(--global_clr_red);
				}
			}
		}

		/*----------------------------------------
			 ■ico) あんしんパスポート会員特典【.icoPassport】
			----------------------------------------*/
		.icoPassport {
			&::before {
				background: var(--global_clr_darkred) url(/excludes/KEC/common/img/icon/ico_an_01_box.svg) no-repeat top 4px left -1px;
				background-size: 30px;
			}
		}

		/*----------------------------------------
			 ■ico) 店頭受取キャンペーン対象【.icoCampaign】
			----------------------------------------*/
		.icoCampaign {
			&::before {
				background: var(--global_clr_darkred) url(/excludes/KEC/common/img/icon/ico_an_03_box.svg) no-repeat top 4px left 0;
				background-size: 28px;
			}
		}

		/*----------------------------------------
			 ■ico) ネットで使えるクーポン対象【.icoCoupon】
			----------------------------------------*/
		.icoCoupon {
			&::before {
				background: var(--global_clr_darkred) url(/excludes/KEC/common/img/icon/ico_an_02_box.svg) no-repeat top 4px left 0;
				background-size: 28px;
			}
		}

		/*----------------------------------------
		 ■カート画面横幅調整
		----------------------------------------*/
		&.forCart {
			li {
				>p {
					width: 270px;
				}
			}
		}
	}

	/*----------------------------------------
	 ▼アイコンGrp）ステータス系（アイコン無し・背景違いの訴求情報系も含む）【.icoType_Status】
	   ※上位 ul.icoType_Status 配下の li 配下、各 span で個別class付与して配置想定
	----------------------------------------*/
	.icoType_Status {
		display: flex;
		flex-wrap: wrap;
		justify-content: start;
		row-gap: 5px;
		column-gap: 2px;

		@media (max-width: 768px) {
			justify-content: start;
			column-gap: 3px;
		}

		li {

			>span {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 71px;
				height: 26px;
				font-size: var(--cmn_icon_font_size_S);
				letter-spacing: -1px;
				color: #222;
				font-weight: bold;
				white-space: nowrap;
				padding: 2px 0 0 0;
				border-radius: 2px;
				background: var(--global_clr_darkbeige);

				@media (max-width: 768px) {
					width: 98px;
					font-size: var(--cmn_icon_font_size_M);
				}
			}

			/*----------------------------------------
			 ■ico) 店頭受取可【.icoBopis】
			----------------------------------------*/
			.icoBopis {
				background: var(--global_clr_warmbeige);
			}

			/*----------------------------------------
			 ■ico) 特選良品【.icoSpecial】
			----------------------------------------*/
			.icoSpecial {
				background: var(--global_clr_warmbeige);
			}

			/*----------------------------------------
			 ■ico) 特別提供品【.icoSpOffers】
			----------------------------------------*/
			.icoOriginal {}

			/*----------------------------------------
			 ■ico) Web限定【.icoWebLimited】
			----------------------------------------*/
			.icoWebLimited {}

			/*----------------------------------------
			 ■ico) 在庫限り【.icoStockOnly】
			----------------------------------------*/
			.icoStockOnly {}
		}
	}

	/* 表示タイプ毎の独自補正（PC）*/
	@media (min-width: 769px) {
		.viewPc_BoxList {
			.icoType_Status {
				margin: 7px auto 10px;
				max-width: 218px;
			}
		}

		.viewPc_BoxSlide {
			.icoType_Status {
				margin: 7px auto 10px;
				max-width: 218px;
			}
		}

		.viewPc_WideList {
			.icoType_Status {
				margin: 7px auto 10px;
			}
		}
	}

	/* 表示タイプ毎の独自補正（SP）*/
	@media (max-width: 768px) {
		.viewSp_BoxList {
			.icoType_Status {
				margin: 5px 0 10px auto;
				/* max-width: 210px; */
			}
		}

		.viewSp_BoxSlide {
			.icoType_Status {
				margin: 5px auto 10px;
			}
		}
	}

	/*----------------------------------------
	 ▼(別案) アイコンGrp）ステータス系（アイコン無し・背景違いの訴求情報系も含む）【.icoType_Status】
	   ※上位 ul.icoType_Status 配下の li 配下、各 span で個別class付与して配置想定
	----------------------------------------*/
	.icoType_Status2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: start;
		row-gap: 5px;
		column-gap: 6px;

		@media (max-width: 768px) {
			justify-content: start;
			column-gap: 8px;
		}

		li {

			>span {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 111px;
				height: 26px;
				font-size: var(--cmn_icon_font_size_M);
				letter-spacing: 0;
				color: #222;
				font-weight: bold;
				white-space: nowrap;
				padding: 2px 0 0 0;
				border-radius: 2px;
				background: var(--global_clr_darkbeige);

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

			/*----------------------------------------
			 ■ico) 店頭受取可【.icoBopis】
			----------------------------------------*/
			.icoBopis {
				background: var(--global_clr_warmbeige);
			}

			/*----------------------------------------
			 ■ico) 特選良品【.icoSpecial】
			----------------------------------------*/
			.icoSpecial {
				background: var(--global_clr_warmbeige);
			}

			/*----------------------------------------
			 ■ico) Ksオリジナル【.icoOriginal】
			----------------------------------------*/
			.icoOriginal {
				background: var(--global_clr_warmbeige);
				font-size: 11px;
			}

			/*----------------------------------------
			 ■ico) 特別提供品【.icoSpOffers】
			----------------------------------------*/
			.icoOriginal {}

			/*----------------------------------------
			 ■ico) Web限定【.icoWebLimited】
			----------------------------------------*/
			.icoWebLimited {}

			/*----------------------------------------
			 ■ico) 在庫限り【.icoStockOnly】
			----------------------------------------*/
			.icoStockOnly {}
		}
	}

	/* 表示タイプ毎の独自補正（PC） */
	@media (min-width: 769px) {
		.viewPc_BoxList {
			.icoType_Status2 {
				margin: 5px auto 10px;
			}
		}

		.viewPc_BoxSlide {
			.icoType_Status2 {
				margin: 5px auto 10px;
			}
		}

		.viewPc_WideList {
			.icoType_Status2 {
				margin: 5px auto 10px;
			}
		}
	}

	/* 表示タイプ毎の独自補正（SP） */
	@media (max-width: 768px) {
		.viewSp_BoxList {
			.icoType_Status2 {
				margin: 5px 0 10px auto;
				max-width: 210px;
			}
		}

		.viewSp_BoxSlide {
			.icoType_Status2 {
				margin: 5px auto 10px;
			}
		}
	}
}

/* Androidハック */
.android #fwCms_wrapper {
	.icoType_Passport {
		li {
			.icoPassport {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_passport.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;
			}

			.icoCampaign {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_campaign.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;
			}

			.icoCoupon {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_coupon.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;
			}

			.icoMorePassport {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico200_coupon.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;

				.big_text {
					display: none;
				}
			}

			.icoMoreValue {
				text-indent: -9999px !important;
				background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico180_more_value.svg) no-repeat top 0px left 0px !important;
				background-size: 190px !important;

				.big_text {
					display: none;
				}
			}
		}
	}

	.neoSwiperProd[cp_slide_width="M"],
	.neoSwiperProd[cp_slide_width="S"] {
		.itemBlockBody {
			.itemIcoInfo {
				.icoType_Passport {
					li {
						.icoPassport {
							width: 142px !important;
							background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico156_passport.svg) no-repeat top 7px left 5px !important;
							background-size: 130px !important;
						}

						.icoMorePassport {
							width: 142px !important;
							/* letter-spacing: -1.8px;
							padding: 2px 0 0 2px;
							margin-left: 2px; */
							/*SP時SVG化*/
							/* text-indent: -9999px; */
							background: var(--global_clr_darkred) url(/excludes/KEC/common/img/icon_sp/ico156_more_passport.svg) no-repeat top 5px left 5px !important;
							background-size: 130px !important;
							padding: 0;
							margin-left: 0;
							height: 26px;
							margin-top: 0;

							.big_text {
								display: none;
							}
						}

						.icoMoreValue {
							width: 142px !important;
							/* letter-spacing: -2.0px;
							padding: 2px 0 0 16px;
							margin-left: 2px; */
							/*SP時SVG化*/
							/* text-indent: -9999px; */
							background: var(--global_clr_darkred) url(/excludes/KEC/common/img/icon_sp/ico156_more_value.svg) no-repeat top 5px left 5px !important;
							background-size: 130px !important;
							padding: 0;
							margin-left: 0;
							height: 26px;
							margin-top: 0;

							.big_text {
								display: none;
							}
						}

						.icoCampaign {
							width: 142px !important;
							background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico156_campaign.svg) no-repeat top 7px left 5px !important;
							background-size: 130px !important;
						}

						.icoCoupon {
							width: 142px !important;
							background: var(--global_clr_white) url(/excludes/KEC/common/img/icon_sp/ico156_coupon.svg) no-repeat top 7px left 5px !important;
							background-size: 130px !important;
						}

					}
				}
			}
		}
	}
}


/*------------------------------------------------------------
	共通ボタン定義
------------------------------------------------------------*/
#fwCms_wrapper,
.jBox-wrapper {

	/*----------------------------------------------------------
	  ■共通ボタン[一括定義]
	----------------------------------------------------------*/
	.cmnBtnSubmit,
	.cmnBtnCancel,
	.cmnBtnCommon,
	.cmnBtnFunction,
	.cmnBtnAddCart,
	.cmnBtnCheckStore {
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 40px;
		height: 40px;
		width: 250px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
		font-size: var(--global_font_size_large1);
		font-weight: bold;
		text-decoration: none;
		text-align: center;

		/*
		background: var(--global_clr_white);
		border: 1px solid var(--global_clr_white);
		outline: 1px solid #ff4c5d;
		color: var(--global_clr_black);
		text-shadow: 1px 1px 1px #666;
		box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.35);
*/
		&:focus {
			text-decoration: none;
		}

		&:hover {
			text-decoration: none;
		}

		&[disabled],
		&.disabled {
			cursor: default;
			text-decoration: none;
			opacity: 1.0;

			&:hover {
				opacity: 1.0;
			}
		}
	}

	/*----------------------------------------------------------
	  ■共通ボタン[個別上書]：汎用・確定・進む・メイン機能など（button/a 両用：色調以外は各所でOverWride想定）
	----------------------------------------------------------*/
	.cmnBtnSubmit {
		background: var(--global_clr_red);
		border: 1px solid var(--global_clr_red);
		outline: 1px solid #ff5e6d;
		color: var(--global_clr_white);
		text-shadow: 1px 1px 1px #666;
		box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.35);

		&:focus {
			background: var(--global_clr_red);
		}

		&:hover {
			opacity: 0.7;
		}

		&[disabled],
		&[disabled="disabled"],
		&.disabled {
			background: #f17e89;
			border: 1px solid #eb9199;
			outline: 1px solid #eb9199;
			color: #ffc0c0;
			text-shadow: 0px 0px 1px #000;
			box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.25);
		}
	}

	/*----------------------------------------------------------
	  ■共通ボタン[個別上書]：汎用・キャンセル・閉じる・戻るなど（button/a 両用：色調以外は各所でOverWride想定）
	----------------------------------------------------------*/
	.cmnBtnCancel,
	.cmnBtnCancel:focus {
		background: var(--global_clr_bluegray);
		border: 1px solid var(--global_clr_coolgray);
		outline: 1px solid #98a2b1;
		color: var(--global_clr_white);
		text-shadow: 1px 1px 1px #333;
		box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.35);

		&:focus {
			background: var(--global_clr_bluegray);
		}

		&:hover {
			opacity: 0.8;
		}

		&[disabled],
		&[disabled="disabled"],
		&.disabled {
			background: #98a2b1;
			border: 1px solid #98a2b1;
			outline: 1px solid #98a2b1;
			color: #dddddd;
			text-shadow: 0px 0px 1px #000;
			box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.25);

			&:hover {
				opacity: 1.0;
			}
		}
	}

	/*----------------------------------------------------------
	  ■共通ボタン[個別上書]：汎用・サブ機能など（button/a 両用：色調以外は各所でOverWride想定）
	----------------------------------------------------------*/
	.cmnBtnFunction {
		background: var(--global_clr_green);
		border: 1px solid var(--global_clr_green);
		outline: 1px solid #77a799;
		color: var(--global_clr_white);
		text-shadow: 1px 1px 1px #0d290d;
		box-shadow: 1px 1px 4px 2px rgba(0, 0, 0, 0.25);

		&:focus {
			background: var(--global_clr_green);
		}

		&:hover {
			opacity: 0.8;
		}

		&[disabled],
		&[disabled="disabled"],
		&.disabled {
			background: #77a799;
			border: 1px solid #77a799;
			outline: 1px solid #77a799;
			color: #d5e1cf;
			text-shadow: 0px 0px 1px #000;
			box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
		}
	}

	/*----------------------------------------------------------
	  ■共通ボタン[個別上書]：汎用・その他機能系（button/a 両用：色調以外は各所でOverWride想定）
	----------------------------------------------------------*/
	.cmnBtnCommon {
		background: var(--global_clr_brightgray);
		border: 1px solid var(--global_clr_white);
		outline: 1px solid #b0bfd3;
		color: var(--global_clr_black);
		text-shadow: 0 0 1px #BBB;
		box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.15);

		&:focus {
			background: var(--global_clr_brightgray);
			outline: 2px solid rgb(2, 167, 212);
		}

		&:hover {
			background-color: var(--global_clr_lightblue);
		}

		&[disabled],
		&[disabled="disabled"],
		&.disabled {
			background: var(--global_clr_gray);
			border: 1px solid #AAA;
			outline: 1px solid #DDD;
			color: #7e7e7e;
			text-shadow: 0 0 1px #BBB;
			box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.15);
		}
	}

	/*----------------------------------------------------------
	  ■共通ボタン[個別上書]：カートに入れる（button/a 両用：色調・利用アイコン以外は各所でOverWride可）
	----------------------------------------------------------*/
	.cmnBtnAddCart {
		background: var(--global_clr_red) 54px 11px url(/excludes/KEC/common/img/icon/ico_cart_2_w.svg) no-repeat;
		background-size: 22px;
		padding-left: 20px;
		border: 1px solid var(--global_clr_red);
		outline: 1px solid #ff5e6d;
		color: var(--global_clr_white);
		text-shadow: 1px 1px 1px #666;
		box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.35);

		&:focus {
			background: var(--global_clr_red) 54px 11px url(/excludes/KEC/common/img/icon/ico_cart_2_w.svg) no-repeat;
			background-size: 22px;
		}

		&:hover {
			opacity: 0.7;
		}

		&[disabled],
		&[disabled="disabled"],
		&.disabled,
		&[disabled]:hover,
		&[disabled="disabled"]:hover,
		&.disabled:hover {
			background: #f17e89 54px 11px url(/excludes/KEC/common/img/icon/ico_cart_2_g.svg) no-repeat;
			background-size: 22px;
			border: #eb9199;
			outline: #eb9199;
			color: #ffc0c0;
			text-shadow: 0px 0px 1px #000;
			box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.25);
			opacity: 0.8;
		}
	}

	/*----------------------------------------------------------
	  ■共通ボタン[個別上書]：お近くの店舗在庫を確認する（button/a 両用：色調・利用アイコン以外は各所でOverWride可）
	----------------------------------------------------------*/
	.cmnBtnCheckStore {
		font-size: var(--global_font_size_normal);
		background: var(--global_clr_brightgray) 14px 12px url(/excludes/KEC/common/img/icon/ico_an_03.svg) no-repeat;
		background-size: 20px;
		padding-left: 20px;
		border: 1px solid #DDD;
		outline: 1px solid #b0bfd3;
		color: var(--global_clr_black);
		text-shadow: 0 0 1px #BBB;
		box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.15);

		&:focus {
			background: #dcf5ff 14px 12px url(/excludes/KEC/common/img/icon/ico_an_03.svg) no-repeat;
			background-size: 20px;
		}

		&:hover {
			background: var(--global_clr_lightblue) 14px 12px url(/excludes/KEC/common/img/icon/ico_an_03.svg) no-repeat;
			background-size: 20px;
		}

		&[disabled],
		&[disabled="disabled"],
		&.disabled {
			background: var(--global_clr_gray) 14px 12px url(/excludes/KEC/common/img/icon/ico_an_03_g.svg) no-repeat;
			background-size: 20px;
			border: 1px solid #AAA;
			outline: 1px solid #DDD;
			color: #7e7e7e;
			text-shadow: 0 0 1px #BBB;
			box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, 0.15);
		}
	}


	/*----------------------------------------
	  ●共通 小丸ボタン[一括定義]
	----------------------------------------*/
	.cmnBtnCircleDelete,
	.cmnBtnCircleToggle,
	.cmnBtnCircleWay {
		display: inline-block;
		width: 24px;
		height: 24px;
		border-radius: 12px;

		/*
		background: var(--global_clr_white) center 100% url(/excludes/KEC/common/img/icon/ico_circle_x.svg) no-repeat;
*/
		span {
			display: none;
		}
	}

	/*----------------------------------------
	 ●共通 小丸ボタン[個別上書]：x 削除【button.cmnBtnCircleDelete】
	----------------------------------------*/
	.cmnBtnCircleDelete {
		background: var(--global_clr_white) center center url(/excludes/KEC/common/img/icon/ico_circle_x.svg) no-repeat;
		background-size: 100% !important;
		opacity: 0.8;

		&:focus {
			background: var(--global_clr_iceblue) center center url(/excludes/KEC/common/img/icon/ico_circle_x.svg) no-repeat;
			opacity: 0.8;
		}

		&:hover {
			background: var(--global_clr_lightblue) center center url(/excludes/KEC/common/img/icon/ico_circle_x.svg) no-repeat;
			opacity: 1.0;
		}

		&[disabled],
		&.disabled {
			background: var(--global_clr_gray) center center url(/excludes/KEC/common/img/icon/ico_circle_x.svg) no-repeat;
			opacity: 0.4;

			&:hover {
				opacity: 0.4;
			}
		}
	}

	/*----------------------------------------
	 ●共通 小丸ボタン) + - 開閉【button.cmnBtnCircleToggle（.toOpen .toClose）】
	----------------------------------------*/
	.cmnBtnCircleToggle {
		background: var(--global_clr_white) center center url(/excludes/KEC/common/img/icon/ico_circle_plus.svg) no-repeat;
		background-size: 120% !important;
		background-position: center !important;
		opacity: 0.5;

		&:focus {
			background: var(--global_clr_iceblue) center center url(/excludes/KEC/common/img/icon/ico_circle_plus.svg) no-repeat;
			opacity: 0.5;
		}

		&:hover {
			background: var(--global_clr_lightblue) center center url(/excludes/KEC/common/img/icon/ico_circle_plus.svg) no-repeat;
			opacity: 0.7;
		}

		&[disabled],
		&.disabled {
			background: var(--global_clr_gray) center center url(/excludes/KEC/common/img/icon/ico_circle_plus.svg) no-repeat;
			opacity: 0.3;

			&:hover {
				opacity: 0.3;
			}
		}

		&.toOpen {
			background-image: url(/excludes/KEC/common/img/icon/ico_circle_plus.svg);
		}

		&.toClose {
			background-image: url(/excludes/KEC/common/img/icon/ico_circle_minus.svg);
		}
	}

	/*----------------------------------------
	 ●共通 小丸ボタン) 上下右【button.cmnBtnCircleWay（.toDown .toUp .toRight）】
	----------------------------------------*/
	.cmnBtnCircleWay {
		background: var(--global_clr_white) center center url(/excludes/KEC/common/img/icon/ico_circle_down.svg) no-repeat;
		background-size: 100% !important;
		opacity: 0.8;

		&:focus {
			background: var(--global_clr_iceblue) center center url(/excludes/KEC/common/img/icon/ico_circle_down.svg) no-repeat;
			opacity: 0.8;
		}

		&:hover {
			background: var(--global_clr_lightblue) center center url(/excludes/KEC/common/img/icon/ico_circle_down.svg) no-repeat;
			opacity: 1.0;
		}

		&[disabled],
		&.disabled {
			background: var(--global_clr_gray) center center url(/excludes/KEC/common/img/icon/ico_circle_down.svg) no-repeat;
			opacity: 0.4;

			&:hover {
				opacity: 0.4;
			}
		}

		&.toDown {
			background-image: url(/excludes/KEC/common/img/icon/ico_circle_down.svg);
		}

		&.toUp {
			background-image: url(/excludes/KEC/common/img/icon/ico_circle_up.svg);
		}

		&.toRight {
			background-image: url(/excludes/KEC/common/img/icon/ico_circle_right.svg);
		}

		&.toLeft {
			background-image: url(/excludes/KEC/common/img/icon/ico_circle_right.svg);
			transform: scale(-1, 1);
		}
	}

	/*----------------------------------------
	 ★共通 メモ/ガイド) 【.cmnNoticeMemoText】【.cmnNoticeMemoIcon】
	----------------------------------------*/
	.cmnNoticeMemoText,
	.cmnNoticeMemoIcon {
		display: inline-block;
		font-size: var(--global_font_size_small1);
		color: var(--global_clr_darkblue);
		/*
		font-weight: bold;
		*/
	}

	.cmnNoticeMemoIcon {
		display: inline-block;
		padding-left: 20px;
		background: url(/excludes/KEC/common/img/icon/ico_circle_info.svg) no-repeat top 0px left 1px;
		background-size: 17px;
	}


	/*----------------------------------------
	 ★共通 画面下部ボタン配置枠） 【ul.cmnScreenBottomButtonsWrap】各<li>内にボタンを配置
	----------------------------------------*/
	.cmnScreenBottomButtonsWrap {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-evenly;
		flex-wrap: wrap;
		column-gap: 20px;
		row-gap: 20px;
		margin: 20px auto;
		padding: 20px;
	}

}


/*------------------------------------------------------------
	メニュー系共通配色定義
------------------------------------------------------------*/
#fwCms_wrapper {
	/*メニュー系基本背景色*/
	--global_bck_color: #F6F6F6;
	--global_bdr_color: #dddddd;
	--global_bck_color_hover: #F0F0F0;

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


/*------------------------------------------------------------
	header（領域定義）
------------------------------------------------------------*/
#fwCms_wrapper header,
#fwCms_wrapper header.MK4PFRDH000_01 {
	/*幅の共通定義*/
	--header_width_L: 300px;
	--header_width_C: auto;
	--header_width_R: 30%;
	/*高の共通定義*/
	--header_height_line: 22px;
	--header_height_main: 56px;
	--header_height_srch: 46px;
	--header_height_menu: 46px;

	@media (max-width: 990px) {
		--header_width_R: 230px;
	}

	@media (min-width: 1520px) {
		--header_width_R: 450px;
	}

	@media (max-width: 768px) {
		--header_height_main: 46px;
		--header_height_srch: 46px;
		--global_menu_height: 58px;
	}

	width: 100%;
	/* margin-bottom: 24px; */
    padding-bottom: 24px;
	box-sizing: border-box;
	background-color: var(--global_clr_white);
	border-bottom: 1px solid var(--global_clr_lightgray);

	@media (max-width: 768px) {
		/* SP時は下部固定化 */
		display: grid;
		grid: var(--header_height_main) var(--header_height_srch) 20px / auto;
		margin-bottom: 18px;
		border-bottom: 0px solid var(--global_clr_lightgray);

		.header_main {
			grid-area: 1 / 1 / 2 / 1;
		}

		.header_srch {
			grid-area: 2 / 1 / 3 / 1;
		}

		.header_sub {
			grid-area: 3 / 1 / 4 / 1;
		}
	}

	/* 固定化 class */
	&.fixed {
		z-index: 9999;
		position: fixed;
		top: 0;
		left: 0;
	}

	/*【最上部帯】（PC Only）L：サイト紹介 / R：外部リンク */
	.header_line {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		height: var(--header_height_line);
		background-color: #444;
		font-size: var(--global_font_size_small1);
		line-height: 1.0;
		color: #f0f0f0;
		padding: 5px 8px 0;
		min-height: 22px;

		@media (max-width: 768px) {
			/* SP非表示 */
			display: none;
		}

		/* 左：サイト紹介文 */
		.header_lineL {}

		/* 右：外部リンク */
		.header_lineR {
			.header_line_link {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;

				li {
					margin: 0 0 0 18px;

					a {
						color: #fff;
					}
				}
			}
		}
	}

	/*【２段目・ヘッダメイン】L：Hメニュー・ロゴ / C： / R：ヘッダリンク */
	.header_main {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		box-sizing: border-box;
		display: grid;
		grid: var(--header_height_main) / var(--header_width_L) auto auto;

		@media (max-width: 768px) {
			grid: var(--header_height_main) / calc(var(--header_width_L) - 40px) auto 0;
			height: auto;
			padding: 2.4vw 0 1.6vw;
		}

		/* 左：Hamburgerメニュー＆ロゴ */
		.header_mainL {
			grid-area: 1 / 1 / 2 / 2;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			padding-top: 8px;
			padding-left: 8px;
		}

		/* 中：ログイン・新規会員登録（SP only） */
		.header_mainC {
			grid-area: 1 / 2 / 2 / 3;
			display: none;

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

		/* 右：ヘッダリンク（PC only） */
		.header_mainR {
			grid-area: 1 / 3 / 2 / 4;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			padding-right: 8px;

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

	/*【３段目・ヘッダサブ】L： / C：サービスバナー / R： */
	.header_sub {
		width: 100%;
		/* header_mainの高さ分、上へ */
		margin: calc(0px - var(--header_height_main)) auto 0;
		padding: 0;
		box-sizing: border-box;
		display: grid;
		grid: var(--header_height_main) / var(--header_width_L) auto auto;

		/* SP */
		@media (max-width: 768px) {
			height: auto;
			padding: 2.4vw 0 1.6vw;
		}

		.header_subL {
			grid-area: 1 / 1 / 2 / 2;
			display: none;
		}

		.header_subR {
			grid-area: 1 / 3 / 2 / 4;
			display: none;
		}

		/* 中：バナー */
		.header_subC {
			grid-area: 1 / 2 / 2 / 3;
			padding-top: 5px;
			margin: 0 auto 0 0;

			@media (max-width: 990px) {
				/* 990pxで重ならない限界 */
				display: none;
			}

			@media (max-width: 768px) {
				grid-area: 1 / 1 / 1 / 3;
				/* 基本は非表示 */
				display: none;
			}

			/* あんパスバナー */
			img {
				width: 250px;
				height: 50px;
				max-width: 250px;
				max-height: 50px;
			}
		}
	}

	/*【４段目・ヘッダメイン下】L： / C：キーワード検索 / R：Welcomeメッセージ */
	.header_srch {
		display: grid;
		grid: var(--header_height_srch) / var(--header_width_L) auto var(--header_width_R);

		@media (max-width: 768px) {
			/*
			grid: var(--header_height_srch) / var(--header_width_L) auto 0;
			*/
			padding: 10px 6px 10px 6px;
			display: flex;
			flex-direction: column;
		}

		.header_srchL {
			grid-area: 1 / 1 / 2 / 2;
			display: none;
		}

		.header_srchR {
			grid-area: 1 / 3 / 2 / 4;
			/*
			display: none;
			*/
			margin-top: 50px;
			position: relative;

			@media (max-width: 768px) {
				margin-top: 4px;
			}

			.header_welcome {
				margin: 0 0 0 auto;
				padding-right: 10px;
				font-size: 1.4rem;
				text-align: right;
				white-space: nowrap;
				positIon: absolute;
				right: 2px;
				max-width: 98vw;
				overflow: hidden;

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

				li {
					display: flex;
					flex-direction: row;
					justify-content: right;
					flex-wrap: nowrap;
					column-gap: 0;

					/*ログイン時表示用設定*/
					span {
						display: inline-block;

						&.header_username {
							max-width: calc(100vw - 120px);
							overflow: hidden;
							text-overflow: ellipsis;
							-webkit-box-orient: vertical;
							padding: 0 4px 0 8px;

							@media (max-width: 768px) {
								max-width: calc(100vw - 140px);
							}
						}
					}
				}
			}
		}

		.header_srchC {
			grid-area: 1 / 2 / 2 / 3;

			/* 中：検索 */
			@media (max-width: 768px) {
				grid-area: 1 / 1 / 2 / 3;
			}
		}
	}

	/* 【５段目・Gメニュー】L：Categoryメニュー / C： / R：ヘッダメニュー */
	.global_menu {
		display: grid;
		/* header_srchの高さ分、上へ */
		margin: calc(0px - var(--header_height_srch)) auto 0;
		/* 高さ・横幅サイズはheader_srchと合わせる */
		grid: var(--header_height_srch) / var(--header_width_L) auto var(--header_width_R);

		.global_menuL {
			grid-area: 1 / 1 / 2 / 2;


			@media (max-width: 768px) {
				background-color: var(--global_clr_white);
			}
		}

		.global_menuC {
			grid-area: 1 / 2 / 2 / 3;
		}

		.global_menuR {
			grid-area: 1 / 3 / 2 / 4;
		}

		.global_menu_hr_top,
		.global_menu_hr_bottom {
			display: none;
		}

		@media (max-width: 768px) {
			/* SP時は下部固定化 */
			grid: var(--global_menu_height) / 25vw 0 75vw;
			height: calc(var(--global_menu_height));
			position: fixed;
			bottom: 0;
			transition: 0.5s;
			background-color: #FFF;
			z-index: 11000;

			border-top: 1px solid #666;
			border-bottom: 1px solid #666;

			&.cMenuOpen {
				z-index: 12000 !important;
			}

			.global_menu_hr_top {
				display: block;
				width: 100vw;
				position: absolute;
				top: -1px;
				border-color: #666;
				z-index: 12000;
			}

			.global_menu_hr_bottom {
				display: block;
				width: 100vw;
				position: absolute;
				border-color: #666;
				bottom: -2px;
				border-width: 1px;
				z-index: 12000;
			}
		}

		/* 左：Cメニュー＆ロゴ */
		.global_menuL {}

		.global_menuC {
			display: none;
		}

		/* 右：ナビメニュー */
		.global_menuR {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			position: relative;

			@media (max-width: 768px) {
				z-index: 11000;
				width: 75vw;
				background-color: #FFF;
			}
		}
	}


	/*----------------------------------------
	header_mainC内記述・ログイン 新規会員登録/ログアウト（SP Only）
	----------------------------------------*/
	.header_main .header_menu_sp {
		display: inline-block;
		background-color: #FFF;
		width: 100%;
		font-size: 2.4vw;
		text-align: left;
		margin: 0 5px 0 auto;

		a {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: horizontal;
			-webkit-box-direction: reverse;
			-ms-flex-direction: row-reverse;
			flex-direction: row-reverse;
			/* width: fit-content; */
			margin: 0 0 0 auto;
			padding: 5px 5px 5px 0;
			color: var(--global_clr_black);
			transition: all 0.3s 0s ease;

			&:hover {
				background-color: #fefefe;
				text-decoration: none;
			}

			span {
				display: inline-block;
			}

			.icon {
				/* 20260514 iOS11対策：明示的なサイズ制限 */
				width: 26px;
				height: 26px;
				max-width: 26px;
				max-height: 26px;
				overflow: hidden;
				display: flex;
				align-items: center;
				justify-content: center;

				/* アイコンサイズ */
				img {
					width: 26px;
					height: 26px;
				}
			}

			.text {
				font-size: 12px;
				line-height: 14px;
				font-weight: bold;
				white-space: nowrap;

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

		}

		.header_menu_login {
			.icon {
				margin-right: 4px;
				margin-top: 2px;
			}
		}
	}


	/*■■■■■■■■■■■■■■■■■■■■■■■■
	Hamburgerメニュー関連
	■■■■■■■■■■■■■■■■■■■■■■■■*/
	.header_main {
		/*----------------------------------------
		  Hメニューサイズ定義
		----------------------------------------*/
		--h_menu_width: 260px;
		--h_menu_height: calc(100vh - 80px);
		--h_menu_height_nav: calc(100vh - 140px);

		/* SP */
		@media (max-width: 768px) {
			--h_menu_width: calc(100vw - 15px);
			--h_menu_height: calc(100vh - 78px);
			--h_menu_height_nav: calc(100vh - 130px);
		}

		/*----------------------------------------
		  HメニューBtn
		----------------------------------------*/
		.h_menu_btn {
			transition: opacity .1s;
			margin: 6px 10px 0 6px;
			padding: 0;
			display: block;

			&:focus {
				outline: 2px solid rgb(2, 167, 212) !important;
			}

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

			&:hover {
				opacity: 0.5;
			}

			&::before {
				display: none;
			}

			.line {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;

				.first {
					margin-top: 0;
				}

				span {
					width: 30px;
					height: 4px;
					background-color: #8d8370;

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

					+span {
						margin-top: 9px;
					}
				}
			}
		}

		/*----------------------------------------
		  Hメニュー制御用の隠しcheckboxとoverlay
		----------------------------------------*/
		#h_menu_check {
			display: none;
		}

		.h_menu_overlay {
			z-index: 10010 !important;
			position: fixed;
			top: 0;
			left: 0;
			width: 0;
			height: 100vh;
			background-color: rgba(0, 0, 0, 0);
			transition: background-color .3s, width 0s;
		}

		#h_menu_check:checked~.h_menu_overlay {
			width: 100%;
			background-color: rgba(0, 0, 0, .8);
		}

		input[type='checkbox']+.h_menu_btn::before {
			display: none !important;
		}

		input[type='checkbox']:checked+.h_menu_btn::after {
			display: none !important;
		}

		/*----------------------------------------
		  Hメニュー本体
		----------------------------------------*/
		.h_menu {
			position: fixed;
			top: 22px;
			left: calc(0px - var(--h_menu_width));
			width: var(--h_menu_width);
			z-index: 10011 !important;
			margin-right: 0;
			border: 1px solid #f9f5f2;
			box-sizing: border-box;
			background: #fff;
			transition-property: transform;
			transition-duration: .2s;
			transition-timing-function: ease-out;
			border-radius: 0 5px 5px 0;
			/* ie, edge */
			-ms-overflow-style: none;
			scrollbar-width: none;

			/* chrome, safari */
			&::-webkit-scrollbar {
				display: none;
			}

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

			nav {
				height: var(--h_menu_height_nav);
				margin: 0 auto;
				overflow-y: scroll;
				scrollbar-width: thin;
				scrollbar-gutter: stable;
				border-radius: 0 0 5px 0;
				display: block;

				/* @media (max-width: 768px) {
					padding-bottom: 40px;
				} */

				&::-webkit-scrollbar {
					width: 12px;
				}
			}
		}

		#h_menu_check:checked~.h_menu {
			transform: translate(var(--h_menu_width));
			height: var(--h_menu_height);
		}

		/*----------------------------------------
		  Hメニュー閉じるボタン
		----------------------------------------*/
		.h_menu_close_btn_wrap {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			padding-bottom: 10px;
			border-bottom: 1px solid #CCC;

			.h_menu_close_btn {
				display: block;
				position: relative;
				width: 30px;
				height: 30px;
				margin: 13px 11px 0 12px;
				padding: 0;
				cursor: pointer;

				&:focus {
					outline: 2px solid rgb(2, 167, 212) !important;
				}

				@media (max-width: 768px) {
					margin: 10px 9px 0 12px;
				}

				&:hover {
					opacity: 0.5;
				}

				&::before,
				&::after {
					content: "";
					position: absolute;
					top: 50%;
					left: 50%;
					width: 3px;
					height: 40px;
					background: #FF0000;
					/* バツ印の色 */
				}

				&::before {
					transform: translate(-50%, -50%) rotate(45deg);
				}

				&::after {
					transform: translate(-50%, -50%) rotate(-45deg);
				}
			}

			.logo {
				margin-top: 7px;

				@media (max-width: 768px) {
					margin-top: 11px;
				}
			}
		}

		/*----------------------------------------
		  Hメニュー各メニュー部
		----------------------------------------*/
		.h_menu_box {
			border-top: 1px solid #CCC;
		}

		.h_menu_box.box_category,
		.h_menu_box.box_search {
			border-top: 0 solid #CCC;

		}

		.h_menu_box.box_category {
			@media (min-width: 769px) {
				display: none;
			}
		}


		/* iOS対策：下部余白がつぶれてしまうので表示ダミー行を挿入 */
		.h_menu_box.box_dummy {
			display: none;

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

		.h_menu_box li {
			border-width: 0;

			a {
				display: block;
				padding: 8px 10px;
				color: var(--global_clr_black);
				font-size: var(--global_font_size_normal);
				font-weight: bold;
				border-top: 1px solid #FFF;
				background: #fff;
				position: relative;

				@media (max-width: 768px) {
					padding: 10px 18px;
					font-size: var(--global_font_size_large2);
				}

				&:hover {
					text-decoration: none !important;
					background-color: #DEDEDE;
				}

				&:focus {
					outline-offset: -3px;
				}

				.icon {
					display: inline-block;
					width: 20px;
					height: 20px;
					text-align: center;

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

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

			/*矢印アイコン・外部リンクアイコン*/
			.link_internal::before {
				content: '';
				display: block;
				position: absolute;
				top: 40%;
				right: 8px;
				width: 8px;
				height: 8px;
				border-top: 2px solid #666;
				border-right: 2px solid #666;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
			}

			.link_external::before {
				content: '';
				display: block;
				position: absolute;
				top: 30%;
				right: 3px;
				width: 14px;
				height: 14px;
				background-image: url(/excludes/KEC/common/img/icon_menu/ico_menu_link.svg);
				background-repeat: no-repeat;
			}

		}

		/* 一部色調変更 */
		.h_menu_box.box_category li,
		.h_menu_box.box_search li {
			a {
				color: #FFF;
				background: var(--global_clr_darkgray);

				&:hover {
					text-decoration: none !important;
					background-color: #444;
				}
			}

			.link_internal::before {
				border-top: 2px solid #FFF;
				border-right: 2px solid #FFF;
			}
		}
	}

	/* /.header_main（Hamburgerメニュー関連）*/

	/*----------------------------------------
	  ロゴ画像
	----------------------------------------*/
	.header_main .logo {
		width: 200px;

		a {
			display: inline-block;
		}

		img {
			width: 152px;
			height: 38px;
			max-width: 152px;
			max-height: 38px;
			display: block;

			@media (max-width: 768px) {
				width: 120px;
				height: 30px;
				max-width: 120px;
				max-height: 30px;
				margin-top: -3px;
			}
		}
	}

	/*----------------------------------------
	  ヘッダメイン右・ヘッダリンク（PC Only）
	----------------------------------------*/
	.header_main nav {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.header_main .header_link {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		font-size: var(--global_font_size_small1);
		margin: 8px 0 8px auto;

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

		a {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			margin: 0 0 0 10px;
			transition: all 0.3s 0s ease;
			line-height: 16px;

			&:hover {
				text-decoration: underline;
			}

			span {
				display: inline-block;
			}

			.icon {
				margin-right: 1px;

				img {
					width: 16px;
					height: 16px;
					max-width: 16px;
					max-height: 16px;
				}
			}
		}
	}

	/*■■■■■■■■■■■■■■■■■■■■■■■■
	Categoryメニュー関連
	■■■■■■■■■■■■■■■■■■■■■■■■*/
	.global_menu {
		/*----------------------------------------
		  Hメニューサイズ定義
		----------------------------------------*/

		/*----------------------------------------
		  Cメニュー制御用の隠しcheckbox
		----------------------------------------*/
		#c_menu_check,
		.c_menu_acc_check {
			display: none;
		}
	}

}

/* iPhone8対策 */
@media (max-width: 375px) {

	#fwCms_wrapper header.MK4PFRDH000_01 .header_main .logo {
		img {
			width: 112px;
			height: 27px;
			max-width: 112px;
			max-height: 27px;
		}
	}

	#fwCms_wrapper .header_main .h_menu_close_btn_wrap .logo {
		display: none;
	}

	.neoMenuOpen #fwCms_wrapper .header_main .h_menu_close_btn_wrap .logo {
		display: block;
	}
}





/* /#fwCms_wrapper header（グローバルヘッダ）*/



/*----------------------------------------
	Categoryメニュー（for PC版）
----------------------------------------*/
@media (min-width: 769px) {

	/* ▼Cメニューサイズ定義 */
	#fwCms_wrapper .c_menu_wrap {
		/* height_lv1 は lv0 も共用 */
		--c_menu_width_lv1: calc(var(--header_width_L) - 16px);
		--c_menu_height_lv1: 40px;
		--c_menu_width_lv2: 294px;
		--c_menu_height_lv2: 60px;
		--c_menu_lv2_min_height: calc(var(--c_menu_height_lv1) * 15 + 6px);
	}

	/* Accordion開閉・PC不要 */
	#fwCms_wrapper .c_menu_acc_check_btn {
		display: none;
	}

	/*------------------------------
		lv0：Gメニュー
	------------------------------*/
	@keyframes cMenuFadeIn {
		from {
			opacity: 0;
		}

		to {
			opacity: 1;
		}
	}

	@keyframes cMenuFadeOut {
		from {
			opacity: 1;
		}

		to {
			opacity: 0;
		}
	}

	#fwCms_wrapper .c_menu_wrap .c_menu_lv0 {
		position: relative;
		width: var(--c_menu_width_lv1);
		height: 42px;
		margin: 1px 0 0 5px;
		background-color: var(--global_bck_color);
		border: 1px solid var(--global_bdr_color);
		border-radius: 12px;
		box-shadow: 0 1px 1px 1px rgb(0 0 0 / 15%);
		transition: opacity .1s;

		&:hover,
		&:focus {
			background-color: var(--global_bck_color_hover);
			border-radius: 12px 12px 0 0;
		}

		&::before {
			display: none;
		}

		.c_menu_btn {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			padding: 6px 0 0 10px;
			transition: all 0.3s 0s ease;
			line-height: 30px;
			color: #000;
			height: 100%;

			&:hover,
			&:focus {
				text-decoration: none;
			}

			span {
				display: inline-block;

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

			.icon {
				margin-right: 15px;

				img {
					width: 30px;
					height: 30px;
					max-width: 30px;
					max-height: 30px;
				}

				/*iOS対策*/
				_::-webkit-full-page-media,
				_:future,
				.img {
					width: 30px !important;
					height: 30px !important;
					max-width: 30px !important;
					max-height: 30px !important;
				}
			}
		}
	}

	/* Cメニュー閉じるボタン */
	#fwCms_wrapper .c_menu_close_btn {
		display: none;
	}

	/* lv1・lv2 はデフォルト非表示・ */
	#fwCms_wrapper .c_menu_wrap .c_menu_lv1_wrap {
		z-index: 9996;
		visibility: hidden;
		transition: all 0.1s ease 0.2s;
		max-height: 0;
		overflow: hidden;
		transition-delay: 0.15s;
	}

	#fwCms_wrapper .c_menu_wrap .c_menu_lv2_wrap {
		z-index: 9995;
		visibility: hidden;
		transition: all 0s ease 0s;
		transition: all 0.1s ease 0.2s;
		max-height: 0;
		overflow: hidden;
		transition-delay: 0.15s;
	}

	#fwCms_wrapper .c_menu_wrap .c_menu_lv3_wrap {
		/* lv3 アコーディオン化 */
		z-index: 9997;
		visibility: hidden;
		transition: all 0.1s ease 0.2s;
		max-height: 0;
		overflow: hidden;
		transition-delay: 0.15s;
	}

	#fwCms_wrapper .c_menu_wrap .c_menu_lv0:hover .c_menu_lv1_wrap,
	#fwCms_wrapper .c_menu_wrap .c_menu_lv0:focus-within .c_menu_lv1_wrap {
		display: block;
		visibility: visible;
		max-height: initial;
		overflow: initial;
		transition-delay: 0.1s;
	}

	/* マウスhoverのみでLv2表示（フォーカスでは自動展開しない） */
	#fwCms_wrapper .c_menu_wrap .c_menu_lv0:hover .c_menu_lv1:hover .c_menu_lv2_wrap {
		display: block;
		visibility: visible;
		/* max-height: initial;
		overflow: initial; */
		max-height: 0;
		transition-delay: 0.1s;
		overflow: initial;
		overflow-y: scroll;
		/* scrollbar-width: thin; */
	}

	/* checkboxがcheckedの場合（キーボード操作用）にLv2表示 */
	#fwCms_wrapper .c_menu_wrap .c_menu_lv1 .c_menu_acc_check:checked~.c_menu_lv2_wrap {
		display: block;
		visibility: visible;
		max-height: initial;
		overflow: initial;
		overflow-y: scroll;
	}

	#fwCms_wrapper .c_menu_wrap .c_menu_lv0:hover .c_menu_lv1.box_trend:hover .c_menu_lv2_wrap,
	#fwCms_wrapper .c_menu_wrap .c_menu_lv0:focus-within .c_menu_lv1.box_trend:focus-within .c_menu_lv2_wrap {
		scrollbar-width: thin;
	}

	/* マウスhoverのみでLv3表示（フォーカスでは自動展開しない） */
	#fwCms_wrapper .c_menu_wrap .c_menu_lv0:hover .c_menu_lv1:hover .c_menu_lv2:hover .c_menu_lv3_wrap {
		max-height: 1000px;
		visibility: visible;
		overflow: initial;
		transition-delay: 0.1s;
	}

	/* checkboxがcheckedの場合（キーボード操作用）にLv3表示 */
	#fwCms_wrapper .c_menu_wrap .c_menu_lv2 .c_menu_acc_check:checked~.c_menu_lv3_wrap {
		max-height: 1000px;
		visibility: visible;
		overflow: initial;
		transition-delay: 0.1s;
	}

	/* Cメニュー本体 */
	#fwCms_wrapper .c_menu_lv1_wrap>ul {
		position: relative;
	}

	#fwCms_wrapper .c_menu_lv2_wrap>ul {
		position: relative;
	}

	#fwCms_wrapper .c_menu_lv3_wrap>ul {
		position: relative;
	}

	/*------------------------------
	  Cメニュー lv1
	------------------------------*/
	#fwCms_wrapper .c_menu_lv1_wrap {
		position: absolute;
		top: 42px;
		left: -2px;
		width: var(--c_menu_width_lv1);
		margin-right: 0;
		box-sizing: border-box;
		border-top: 2px solid var(--global_bck_color_hover);
		border-right: 0px solid #f5f5f5;
		border-bottom: 0px solid #cccccc;
		border-left: 2px solid var(--global_bdr_color);
		background-color: var(--global_bck_color_hover);
		box-shadow: 2px 3px 6px 0px rgba(0, 0, 0, 0.35);

		/* ie, edge */
		-ms-overflow-style: none;
		scrollbar-width: none;

		/* chrome, safari */
		&::-webkit-scrollbar {
			display: none;
		}

		.c_menu_lv1 {
			font-size: var(--global_font_size_small1);
			font-weight: bold;
			line-height: 16px;

			&:hover {
				background-color: #FFF;

				.c_menu_lv1_link::before {
					border-top: 1px solid #FFF;
					border-right: 1px solid #FFF;
				}
			}
		}

		.c_menu_lv1_link {
			position: relative;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			align-items: center;
			color: var(--global_clr_black);
			height: var(--c_menu_height_lv1);
			padding: 6px 0 4px 6px;

			&:hover {
				text-decoration: none !important;
				color: var(--global_clr_linkblue);
			}

			.icon {
				width: 20px;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				margin-right: 5px;

				img {
					margin: 0 auto;
					max-height: 20px;
					max-width: 20px;
				}
			}

			.text {
				display: inline-block;
				max-width: calc(var(--c_menu_width_lv1) - 54px);
			}
		}

		.c_menu_lv1_link::before {
			content: '';
			display: block;
			position: absolute;
			top: 40%;
			right: 8px;
			width: 8px;
			height: 8px;
			border-top: 1px solid #CCC;
			border-right: 1px solid #CCC;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
		}

		/* 話題のアイテム */
		.c_menu_lv1.box_trend {
			background: var(--global_clr_gray);
			border-top: 1px solid var(--global_bck_color_hover);

			&:hover {
				text-decoration: none !important;
				background-color: #FFF;
			}

			a {
				color: var(--global_clr_black);

				&:hover {
					text-decoration: none !important;
				}
			}

			.c_menu_lv1_link::before {
				border-top: 1px solid var(--global_bck_color_hover);
				border-right: 1px solid var(--global_bck_color_hover);
			}
		}

		/* ランキングから探す・特集キャンペーンから探す */
		.c_menu_lv1.box_search {
			background: var(--global_clr_darkgray);
			border-top: 1px solid var(--global_bck_color_hover);

			&:hover {
				background-color: #444;

				.c_menu_lv1_link::before {
					border-top: 1px solid #FFF;
					border-right: 1px solid #FFF;
				}
			}

			a {
				color: #FFF;

				&:hover {
					text-decoration: none !important;
				}
			}
		}

		/* iOS対策ダミー行・PC時不要 */
		.c_menu_lv1.box_dummy {
			display: none;
		}
	}

	/*------------------------------
	  Cメニュー lv2
	------------------------------*/
	#fwCms_wrapper .c_menu_lv2_wrap {
		position: absolute;
		top: -3px;
		left: calc(var(--header_width_L) - 18px);
		padding: 3px 3px 3px 10px;
		min-height: var(--c_menu_lv2_min_height);
		max-height: var(--c_menu_lv2_min_height);
		margin-right: 0;
		box-sizing: border-box;
		border-top: 2px solid var(--global_bdr_color);
		border-right: 2px solid var(--global_bdr_color);
		border-bottom: 0 solid #f5f5f5;
		border-left: 0 solid #f5f5f5;
		border-radius: 0 12px 12px 0;
		background-color: #FFF;
		transition-property: transform;
		transition-duration: .2s;
		transition-timing-function: ease-out;
		box-shadow: 6px 6px 6px -4px rgba(0, 0, 0, 0.35);
		/* ie, edge */
		-ms-overflow-style: none;
		scrollbar-width: none;

		/* chrome, safari */
		&::-webkit-scrollbar {
			display: none;
		}

		.c_menu_lv2_title {
			display: block;
			height: 38px;
			font-size: var(--global_font_size_large1);
			font-weight: bold;
			padding: 12px;
		}

		/* 画面幅に合わせて横幅調整 */
		@media (max-width: 980px) {
			overflow-y: scroll;
			scrollbar-width: thin;
		}

		>ul {
			width: calc(var(--c_menu_width_lv2) * 2 + 50px);
			display: inline-block;

			/* 画面幅に合わせて横幅調整 */
			@media (max-width: 980px) {
				width: calc(var(--c_menu_width_lv2) * 1 + 40px);
			}

			.c_menu_lv2 {
				display: inline-block;
				padding: 0;
				border-radius: 8px;
				position: relative;

				&:hover {
					background-color: var(--global_bck_color_hover);
				}
			}
		}

		.c_menu_lv2_link {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			color: var(--global_clr_black);
			width: var(--c_menu_width_lv2);
			height: var(--c_menu_height_lv2);
			padding: 8px 0 8px 10px;

			&:hover {
				color: var(--global_clr_linkblue);
			}

			.icon {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				margin-right: 10px;

				img {
					width: 50px;
					height: 40px;
					min-width: 50px;
					min-height: 40px;
					max-width: 50px;
					max-height: 40px;
					border-radius: 6px;
					box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.25);
				}

			}

			.text {
				width: calc(var(--c_menu_width_lv2) - 80px);
			}
		}

		>ul.c_menu_lv2_banner {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			flex-wrap: wrap;

			li {
				margin: 10px 4px 5px 4px;

				img {
					max-width: 300px;
					max-height: 120px;
				}
			}
		}
	}

	/* ３列タイプ・４列タイプ */
	#fwCms_wrapper .c_menu_lv1.col3 .c_menu_lv2_wrap {

		/* 画面幅に合わせて横幅調整 */
		@media (max-width: 1280px) {
			overflow-y: scroll;
			scrollbar-width: thin;
		}

		>ul {
			width: calc(var(--c_menu_width_lv2) * 3 + 50px);

			/* 画面幅に合わせて横幅調整 */
			@media (max-width: 1280px) {
				width: calc(var(--c_menu_width_lv2) * 2 + 40px);
			}

			@media (max-width: 980px) {
				width: calc(var(--c_menu_width_lv2) * 1 + 40px);
			}
		}
	}

	#fwCms_wrapper .c_menu_lv1.col4 .c_menu_lv2_wrap {

		/* 画面幅に合わせて横幅調整 */
		@media (max-width: 1560px) {
			overflow-y: scroll;
			scrollbar-width: thin;
		}

		>ul {
			width: calc(var(--c_menu_width_lv2) * 4 + 40px);

			/* 画面幅に合わせて横幅調整 */
			@media (max-width: 1560px) {
				width: calc(var(--c_menu_width_lv2) * 3 + 40px);
			}

			@media (max-width: 1280px) {
				width: calc(var(--c_menu_width_lv2) * 2 + 40px);
			}

			@media (max-width: 980px) {
				width: calc(var(--c_menu_width_lv2) * 1 + 40px);
			}
		}
	}

	/*------------------------------
	  Cメニュー lv3
	------------------------------*/
	#fwCms_wrapper .c_menu_lv3_wrap {
		position: absolute;
		top: 50px;
		left: 60px;
		padding: 0;
		border: 1px solid var(--global_bdr_color);
		border-radius: 6px;
		background-color: var(--global_bck_color);
		box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.50);

		>ul {
			min-width: 245px;
			padding-top: 5px;
			padding-bottom: 5px;

			.c_menu_lv3 {

				&:hover {
					background-color: var(----global_clr_gray);
				}
			}
		}

		.c_menu_lv3_link {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			color: var(--global_clr_black);
			width: 260px;
			padding: 6px 0 6px 10px;

			&:hover {
				color: var(--global_clr_linkblue);
			}

			.icon {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				margin-right: 10px;

				img {
					min-width: 50px;
					min-height: 40px;
					border-radius: 6px;
					box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.25);
				}
			}
		}

		>ul.c_menu_lv3_banner {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;

			li {
				margin: 10px 10px 5px 12px;

				img {
					max-width: 320px;
					max-height: 130px;
				}
			}
		}
	}
}


/*----------------------------------------
	Categoryメニュー（for SP版）
----------------------------------------*/
@media (max-width: 768px) {

	/* ▼Cメニューサイズ定義 */
	#fwCms_wrapper .c_menu_wrap {
		--c_menu_width: 100vw;
		--c_menu_height: calc(100vh - var(--global_menu_height) - 20px);
		--c_menu_height_lv0: 40px;
		--c_menu_height_lv1: 46px;
		--c_menu_height_lv2: 46px;
	}

	/* SP時はoverlay利用 */
	#fwCms_wrapper .c_menu_overlay {
		z-index: 10020;
		position: fixed;
		top: 0;
		left: 0;
		width: 0;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0);
		transition: background-color .3s, width 0s;
	}

	#fwCms_wrapper #c_menu_check:checked~.c_menu_overlay {
		width: 100%;
		background-color: rgba(0, 0, 0, .8);
	}

	#fwCms_wrapper input[type='checkbox']+.c_menu_btn::before {
		display: none !important;
	}

	#fwCms_wrapper input[type='checkbox']:checked+.c_menu_btn::after {
		display: none !important;
	}

	/*------------------------------
		lv0：Gメニュー
	------------------------------*/
	#fwCms_wrapper .c_menu_wrap .c_menu_lv0 {
		position: relative;
		width: 25vw;
		height: var(--global_menu_height);
		margin: 0;
		/* background-color: var(--global_bck_color); */
		background-color: transparent;
		border: 0 solid var(--global_bdr_color);
		border-radius: 0;
		box-shadow: 0 0 0 0 rgb(0 0 0 / 15%);
		transition: opacity .1s;

		&:hover,
		&:focus {
			background-color: var(--global_bck_color_hover);
			border-radius: 12px 12px 0 0;
		}

		&::before {
			display: none;
		}

		.c_menu_btn_wrap {
			position: fixed;
			z-index: 10030;
			width: 25vw;
			height: var(--global_menu_height);
			background-color: transparent;
			/* border-top: 1px solid #666;
			border-bottom: 1px solid #666; */
			padding-top: 2px;
			transition: background 3.0s;
		}

		.c_menu_btn {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-around;
			padding: 4px 4px 0 4px;
			transition: all 0.3s 0s ease;
			font-size: 1.3rem;
			line-height: 2.0rem;
			font-weight: bold;
			color: var(--global_clr_black);
			text-align: center;
			position: relative;

			&:hover,
			&:focus {
				text-decoration: none;
			}

			span {
				display: block;
			}

			.icon {
				height: 30px;

				img {
					width: 30px;
					height: 30px;
					max-width: 30px;
					max-height: 30px;
				}

				/*iOS対策*/
				_::-webkit-full-page-media,
				_:future,
				.img {
					width: 30px !important;
					height: 30px !important;
					max-width: 30px !important;
					max-height: 30px !important;
				}

				label {
					display: none;
				}
			}
		}

		/* Only SP メニュータイトル */
		.c_menu_title {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			padding: 8px 0 8px 10px;
			font-size: var(--global_font_size_large3);
			line-height: 28px;
			font-weight: bold;
			color: #FFF;
			background: var(--global_clr_darkgray);

			span {
				display: block;
			}

			.icon {
				margin-right: 10px;

				img {
					width: 30px;
					height: 30px;
					max-width: 30px;
					max-height: 30px;
				}
			}
		}
	}

	/* Cメニュー本体 */
	#fwCms_wrapper .c_menu {
		overflow-y: scroll;
		position: fixed;
		top: 110vh;
		left: 0;
		width: var(--c_menu_width);
		height: var(--c_menu_height);
		padding-bottom: 1px;
		z-index: 10021 !important;
		margin-right: 0;
		background: #FFF;
		transition-property: transform;
		transition-duration: .2s;
		transition-timing-function: ease-out;
	}

	#fwCms_wrapper #c_menu_check:checked~.c_menu_btn_wrap {
		background: #FFF;
		transition: background 0s;
	}

	#fwCms_wrapper #c_menu_check:checked~.c_menu {
		/*一部端末では100vhだと隠し切らないので110vh*/
		transform: translate(0, calc(-110vh + var(--global_menu_height) - 38px));
		/* z-index: 12000 !important; */
	}


	/*------------------------------
	  Cメニュー lv1
	------------------------------*/
	#fwCms_wrapper .c_menu_lv1_wrap {

		>ul {
			position: relative;
		}

		.c_menu_lv1 {
			font-size: var(--global_font_size_large1);
			font-weight: bold;
			line-height: 16px;
		}

		/* SP時はAccordion利用 */
		.c_menu_lv1_block {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;

			.c_menu_acc_check_btn {
				display: inline-block;
				opacity: 0.5;
				cursor: pointer;
				width: 30px;
				min-width: 30px;
				height: 38px;
				background-image: url(/excludes/KEC/common/img/icon/ico_circle_plus.svg);
				background-repeat: no-repeat;
				background-size: 22px;
				background-position: 8px 10px;

				/* ソース記述するが非表示化 */
				span {
					display: none;
				}
			}

			.c_menu_acc_check_btn.hide {
				visibility: hidden;
			}
		}

		/* AccordionOpen時 */
		.c_menu_acc_check:checked~.c_menu_lv1_block {
			.c_menu_acc_check_btn {
				background-image: url(/excludes/KEC/common/img/icon/ico_circle_minus.svg);
			}
		}

		.c_menu_lv1_link {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			position: relative;
			color: var(--global_clr_black);
			height: 40px;
			padding: 6px 0 4px 6px;
			-webkit-box-flex: 1;
			-ms-flex-positive: 1;
			flex-grow: 1;

			&:hover {
				text-decoration: none;
			}

			.icon {
				width: 30px;
				min-width: 30px;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				margin-right: 5px;

				img {
					margin: 0 auto;
					height: 26px;
					width: 26px;
					max-height: 26px;
					max-width: 26px;
				}
			}

			.text {
				padding-right: 20px;
			}
		}

		.c_menu_lv1_link::before {
			content: '';
			display: block;
			position: absolute;
			top: 40%;
			right: 8px;
			width: 8px;
			height: 8px;
			border-top: 1px solid var(--global_clr_darkgray);
			border-right: 1px solid var(--global_clr_darkgray);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
		}

		/* 話題のアイテム */
		.c_menu_lv1.box_trend {
			background: var(--global_clr_gray);
			border-top: 1px solid var(--global_bck_color_hover);

			a {
				color: var(--global_clr_black);

				&:hover {
					text-decoration: none !important;
				}
			}

			.c_menu_lv1_link::before {
				border-top: 1px solid var(--global_clr_gray);
				border-right: 1px solid var(--global_clr_gray);
			}
		}

		/* ランキングから探す・特集キャンペーンから探す */
		.c_menu_lv1.box_search {
			background: var(--global_clr_darkgray);
			border-top: 1px solid var(--global_bck_color_hover);

			&:hover {
				background-color: #444;
			}

			a {
				color: #FFF;

				&:hover {
					text-decoration: none !important;
				}
			}

			.c_menu_lv1_link::before {
				border-top: 1px solid #FFF;
				border-right: 1px solid #FFF;
			}
		}
	}

	/*------------------------------
	  Cメニュー lv2
	------------------------------*/

	/* lv2 アコーディオン化 */
	#fwCms_wrapper .c_menu_lv1 .c_menu_acc_check~.c_menu_lv2_wrap {
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transition: max-height 0.2s, opacity 0.2s;
	}

	#fwCms_wrapper .c_menu_lv1 .c_menu_acc_check:checked~.c_menu_lv2_wrap {
		/* 値指定じゃないと transition効かない */
		max-height: 50000px;
		opacity: 1;
	}

	/* Cメニュー本体 Lv2 */
	#fwCms_wrapper .c_menu_lv2_wrap {
		margin-right: 0;
		box-sizing: border-box;
		border: 1px solid #EEE;
		background: #fff;
		transition-property: transform;
		transition-duration: .2s;
		transition-timing-function: ease-out;
		box-shadow: 0 2px 30px 2px rgb(0 0 0 / 15%);
		padding-left: 8px;

		.c_menu_lv2_title {
			display: none;
			;
		}

		>ul {
			position: relative;
			margin-bottom: 20px;

			.c_menu_lv2 {}
		}

		/* SP時はAccordion利用 */
		.c_menu_lv2_block {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;

			.c_menu_acc_check_btn {
				display: inline-block;
				opacity: 0.5;
				cursor: pointer;
				width: 30px;
				min-width: 30px;
				height: 38px;
				background-image: url(/excludes/KEC/common/img/icon/ico_circle_plus.svg);
				background-repeat: no-repeat;
				background-size: 22px;
				background-position: 6px 10px;

				/* ソース記述するが非表示化 */
				span {
					display: none;
				}
			}

			.c_menu_acc_check_btn.hide {
				visibility: hidden;
			}
		}

		/* AccordionOpen時 */
		.c_menu_acc_check:checked~.c_menu_lv2_block {
			.c_menu_acc_check_btn {
				background-image: url(/excludes/KEC/common/img/icon/ico_circle_minus.svg);
			}
		}

		.c_menu_lv2_link {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			position: relative;
			color: var(--global_clr_black);
			padding: 8px 0 4px 4px;
			-webkit-box-flex: 1;
			-ms-flex-positive: 1;
			flex-grow: 1;

			&:hover {
				text-decoration: none;
			}

			.icon {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				margin-right: 10px;

				img {
					min-width: 25px;
					min-height: 20px;
					max-width: 35px;
					max-height: 28px;
					border-radius: 4px;
					box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.25);
				}
			}

			.text {
				margin-right: 22px;
			}
		}

		.c_menu_lv2_link::before {
			content: '';
			display: block;
			position: absolute;
			top: 40%;
			right: 8px;
			width: 8px;
			height: 8px;
			border-top: 1px solid var(--global_clr_darkgray);
			border-right: 1px solid var(--global_clr_darkgray);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
		}

		>ul.c_menu_lv2_banner {

			li {
				margin: 10px 15px 10px 15px;

				img {
					width: 100%;
				}
			}
		}
	}

	/*------------------------------
	  Cメニュー lv3
	------------------------------*/
	/* lv3 アコーディオン化 */
	#fwCms_wrapper .c_menu_lv1 .c_menu_acc_check~.c_menu_lv3_wrap {
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transition: max-height 0.2s, opacity 0.2s;
	}

	#fwCms_wrapper .c_menu_lv1 .c_menu_acc_check:checked~.c_menu_lv3_wrap {
		/* 値指定じゃないと transition効かない */
		max-height: 50000px;
		opacity: 1;
	}

	/* Cメニュー本体 Lv3 */
	#fwCms_wrapper .c_menu_lv3_wrap {
		margin-right: 0;
		box-sizing: border-box;
		border: 1px solid #EEE;
		background: #fff;
		transition-property: transform;
		transition-duration: .2s;
		transition-timing-function: ease-out;
		box-shadow: 0 2px 30px 2px rgb(0 0 0 / 15%);
		margin-left: 70px;

		>ul {
			position: relative;
		}

		.c_menu_lv3_link {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			position: relative;
			color: var(--global_clr_black);
			padding: 10px 0 10px 9px;

			.icon {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				margin-right: 10px;

				img {
					min-width: 35px;
					min-height: 28px;
					max-width: 35px;
					max-height: 28px;
					border-radius: 4px;
					box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.25);
				}
			}

			.text {
				margin-right: 20px;
			}
		}

		.c_menu_lv3_link::before {
			content: '';
			display: block;
			position: absolute;
			top: 40%;
			right: 8px;
			width: 8px;
			height: 8px;
			border-top: 1px solid var(--global_clr_darkgray);
			border-right: 1px solid var(--global_clr_darkgray);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
		}
	}
}


/*----------------------------------------
	キーワード検索
----------------------------------------*/
/* ▼キーワード検索サイズ定義 */
#fwCms_wrapper .search_wrap {
	--search_height: 38px;
	--search_radius: 12px;

	/* SP */
	@media (max-width: 768px) {
		--search_height: 40px;
	}
}

/*検索一式の箱*/
#fwCms_wrapper .search_wrap {
	background-color: #FFF;
	border-radius: var(--search_radius);
	box-shadow: 0 1px 1px 1px rgb(0 0 0 / 20%);
	margin: 1px auto 3px 0;
	display: grid;
	grid: 42px / 110px auto 42px;

	@media (max-width: 990px) {
		grid: 42px / var(--search_radius) auto 42px;
	}

	.search_select_wrap {
		grid-area: 1 / 1 / 2 / 2;
	}

	.search_keyword_wrap {
		grid-area: 1 / 2 / 2 / 3;
	}

	.search_button_wrap {
		grid-area: 1 / 3 / 2 / 4;
	}

	/* SP */
	@media (max-width: 768px) {
		box-shadow: 0 0 0 0 rgb(0 0 0 / 20%);
	}

	/*カテゴリ選択部*/
	.search_select_wrap {
		position: relative;
		background-color: var(--global_bck_color);
		border: 1px solid var(--global_bdr_color);
		border-radius: var(--search_radius) 0 0 var(--search_radius);

		@media (max-width: 990px) {
			background-color: #FFF;
			border-right-width: 0;
		}

		.search_label {
			display: block;
			line-height: var(--search_height);
			position: relative;
			padding-left: 20px;
			padding-right: 0;
			white-space: nowrap;
			overflow: hidden;
			width: 106px;
			font-size: var(--cmn_icon_font_size_M);

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

		.search_label::before {
			content: '';
			display: block;
			width: 8px;
			height: 6px;
			border-top: 6px solid #888888;
			border-left: 4px solid transparent;
			border-right: 4px solid transparent;
			position: absolute;
			top: 50%;
			left: 7px;
			transform: translateY(-50%);
		}

		select.search_select {
			opacity: 0;
			width: 100%;
			height: var(--search_height);
			position: absolute;
			top: 0;
			left: 0;
			cursor: pointer;
			background-color: #FFF !important;

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

		&:has(.search_select:focus) .search_label {
			outline: 2px solid rgb(2, 167, 212) !important;
		}
	}

	/*キーワード入力部*/
	.search_keyword_wrap {
		border-width: 0;
		border-top: 1px solid var(--global_bdr_color);
		border-bottom: 1px solid var(--global_bdr_color);

		input {
			width: 100%;
			height: var(--search_height);
			padding: 0 2px 0 8px;
			font-size: var(--global_font_size_large1);
			border-width: 0;

			@media (max-width: 990px) {
				font-size: var(--global_font_size_normal);
			}

			/* SP */
			@media (max-width: 768px) {
				height: 38px;
				/*SP時iPhone対策*/
				font-size: 1.6rem;
			}

			&:focus {
				border-width: 0 !important;
			}
		}
	}

	/*ボタン部*/
	.search_button_wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding-right: 3px;
		padding-left: 3px;
		border: 1px solid var(--global_bdr_color);
		border-left-width: 0;
		border-radius: 0 var(--search_radius) var(--search_radius) 0;

		.search_button {
			width: 100%;
			height: 100%;
			text-align: center;
			border-width: 0;
			background: transparent;
			padding: inherit;

			img {
				width: 20px;
				height: 20px;
			}
		}

		&:hover {
			background-color: var(--global_bck_color);
		}
	}
}

/*----------------------------------------
	ヘッダ３段目右メニュー
----------------------------------------*/
#fwCms_wrapper .header_menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: var(--global_font_size_small1);
	line-height: 24px;
	background-color: #f3f3f3;
	border-radius: 12px;
	width: 100%;
	margin: 0 5px 2px 10px;
	white-space: nowrap;

	@media (max-width: 768px) {
		font-size: 2.4vw;
		line-height: 4.6vw;
		font-weight: bold;
		text-align: center;
		-ms-flex-pack: distribute;
		border-radius: 0;
		background-color: var(--global_clr_white);
		margin: 0 40px 0 0;
		padding-top: 3px;
		justify-content: space-between;
	}

	a {
		color: var(--global_clr_black);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		border-radius: 10px;
		padding: 5px 5px 0;
		transition: all 0.3s 0s ease;

		@media (max-width: 990px) {
			flex-direction: column;
			align-items: center;
			padding: 3px 4px 0 4px;

			&.header_menu_login {
				align-items: center;

				.icon {
					width: 18px;
					height: 22px;
					max-width: 18px;
					max-height: 22px;
					margin-top: -4px;
					margin-bottom: 1px;
				}

				.text {
					font-size: 1.2rem;
					text-align: center;
					line-height: 1.0;
				}
			}
		}

		/* SP */
		@media (max-width: 768px) {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-around;
			padding: 4px 4px 0 4px;
			transition: all 0.3s 0s ease;
			font-size: 1.3rem;
			line-height: 2.4rem;
			font-weight: bold;
			color: var(--global_clr_black);
			text-align: center;
			position: relative;
		}

		&:hover {
			background-color: #fefefe;
			text-decoration: none;

			@media (max-width: 768px) {
				background-color: transparent;
			}
		}

		span {
			display: inline-block;
		}

		@media (max-width: 990px) {
			span.text {
				margin-top: -3px;
			}
		}

		.icon {
			/*20260514 iOS11対策：明示的なサイズ制限 */
			width: 32px;
			height: 26px;
			max-width: 32px;
			max-height: 26px;
			overflow: hidden;
			display: flex;
			align-items: center;
			justify-content: center;

			@media (max-width: 990px) {
				/*20260514 iOS11対策：明示的なサイズ制限 */
				width: 30px;
				height: 26px;
				max-width: 30px;
				max-height: 26px;
			}

			@media (max-width: 768px) {
				/*20260514 iOS11対策：明示的なサイズ制限 */
				width: 34px;
				height: 30px;
				max-width: 34px;
				max-height: 30px;
			}

			/* アイコンサイズ */
			img {
				/*20260514 iOS11対策：明示的なサイズ制限 */
				width: 24px;
				height: 24px;
				max-width: 24px;
				max-height: 24px;
				display: block;
				object-fit: contain;

				@media (max-width: 990px) {
					/*20260514 iOS11対策：明示的なサイズ制限 */
					width: 28px;
					height: 24px;
					max-width: 28px;
					max-height: 24px;
				}

				@media (max-width: 768px) {
					/*20260514 iOS11対策：明示的なサイズ制限 */
					width: 32px;
					height: 30px;
					max-width: 32px;
					max-height: 30px;

				}
			}
		}
	}

	.header_menu_login {
		align-items: end;

		.icon {
			margin-right: 3px;
		}

		.text {
			font-size: 1.3rem;
			line-height: 1.05;
		}
	}

	.header_menu_mypage {
		.icon {
			margin-right: -3px;
		}
	}

	.header_menu_cart {
		.icon {
			margin-right: 0;
			position: relative;

			.qty {
				position: absolute;
				top: -4px;
				right: 10px;
				color: var(--global_clr_red);
				font-weight: bold;
				font-size: var(--global_font_size_small2);

				@media (max-width: 990px) {
					top: -3px;
					right: 11px
				}

				@media (max-width: 768px) {
					top: -4px;
					right: 14px;
					font-size: 1.5rem;
				}
			}

			img {
				position: absolute;
				bottom: 0;
				right: 0;
			}
		}

		.text {
			@media (max-width: 990px) {
				margin-top: -4px;
			}
		}
	}


	@media (max-width: 768px) {

		.c_menu_btn_wrap {
			position: fixed;
			z-index: 10030;
			width: 25vw;
			height: var(--global_menu_height);
			background-color: white;
			/* border-top: 1px solid #666;
			border-bottom: 1px solid #666; */
			padding-top: 2px;
		}

		/* Cメニュー閉じるボタン */
		.c_menu_btn {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-around;
			transition: all 0.3s 0s ease;
			font-size: 1.3rem;
			line-height: 2.0rem;
			font-weight: bold;
			color: var(--global_clr_black);
			text-align: center;

			position: absolute;
			top: 6px;
			left: -65px;
			padding: 0;

			&:hover {
				text-decoration: none;
			}

			span {
				display: block;

				&.text {
					margin-top: -0px;
				}
			}

			.icon {
				height: 30px;
				margin: 0 auto;

				img {
					width: 30px;
					height: 30px;
				}
			}

			/* Cメニュー閉じるボタン */
			.c_menu_close_btn {
				display: none;
				position: absolute;
				top: 0;
				width: 36px;
				height: 30px;
				background-color: #FFF;
				cursor: pointer;

				&::before,
				&::after {
					content: "";
					position: absolute;
					top: 50%;
					left: 50%;
					width: 3px;
					height: 40px;
					background: #FF0000;
					/* バツ印の色 */
				}

				&::before {
					transform: translate(-50%, -50%) rotate(45deg);
				}

				&::after {
					transform: translate(-50%, -50%) rotate(-45deg);
				}
			}

			/* メニュー開いたら表示化 */
			&.neoMenuOpen {
				.c_menu_close_btn {
					display: block;
				}
			}
		}
	}
}



/*----------------------------------------------------------
	MK4PFRDH200_01：SCグローバルフッタ（フル）
----------------------------------------------------------*/

#fwCms_wrapper .MK4PFRDH200_01,
#fwCms_wrapper footer.MK4PFRDH200_01 {
	margin-top: 50px;
	margin-bottom: 0;

	/* Accordion制御用の隠しcheckbox */
	.footer_acc_check,
	.footer_acc_check_btn {
		display: none;

		.text {
			display: none !important;
		}
	}

	nav {
		display: flex;
		justify-content: space-around;
		background: var(--global_clr_brightgray);
		margin: 10px 0px 0px;
		padding: 15px 15px 0;

		@media (max-width: 900px) {
			display: inherit;
			background: var(--global_clr_lightgray);
			margin: 10px 0px 0px;
			padding: 10px 5px 0;
		}

		a,
		a:hover {
			color: var(--global_clr_black);
			display: inline-block;
			position: relative;
			padding-right: 10px;
			padding-left: 14px;

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

			@media (max-width: 900px) {
				&::before {
					top: 8px;
					right: 0;
					left: initial;
					width: 10px;
					height: 10px;
					border-top: 2px solid var(--global_clr_darkgray);
					border-right: 2px solid var(--global_clr_darkgray);
				}

				&.link_external::before {
					opacity: 0.8;
					top: 2px !important;
					right: 2px !important;
					left: initial !important;
					border-top: none !important;
					border-right: none !important;
				}
			}

			@media (max-width: 768px) {
				&::before {
					top: 8px;
					right: -8px;
					left: initial;
					width: 8px;
					height: 8px;
					border-top: 2px solid var(--global_clr_darkgray);
					border-right: 2px solid var(--global_clr_darkgray);
				}
			}

			&.link_external::before {
				content: '';
				display: block;
				position: absolute;
				top: 15% !important;
				left: -1px;
				width: 14px;
				height: 14px;
				background-image: url(/excludes/KEC/common/img/icon_menu/ico_menu_link.svg);
				background-repeat: no-repeat;
				opacity: 0.4;
				transform: none;
				border-top: none;
				border-right: none;
			}
		}

		.footerLinkLv2 {
			font-size: var(--global_font_size_small1);
			line-height: 28px;
			margin-bottom: 14px;

			@media (max-width: 900px) {
				font-size: var(--global_font_size_small1);
				line-height: 22px;
				margin-bottom: 14px;
				min-height: 32px;
			}

			.footerLinkLv2_label {

				@media (max-width: 900px) {
					display: grid;
					grid: auto / 40px auto;

					.footer_acc_check_btn {
						grid-area: 1 / 1 / 2 / 2;
					}

					.footerLink_title {
						grid-area: 1 / 2 / 2 / 3;
						position: relative;
					}
				}

				.footerLink_title {
					font-size: var(--global_font_size_large1);
					font-weight: bold;
					margin-left: 0;

					@media (max-width: 900px) {
						font-size: var(--global_font_size_large3);
					}

					a {
						margin-left: -14px;
						width: 100%
					}
				}
			}

			.footerLinkLv3 {
				@media (max-width: 900px) {
					font-size: var(--global_font_size_large1);
					margin-left: 30px;
					display: flex;
					flex-direction: column;
				}

				li {
					margin-bottom: 2px;

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

					a {
						line-height: 18px;
						width: 100%;

						&::before {
							top: 4px;
						}

						@media (max-width: 900px) {
							&::before {
								top: 5px;
								right: 14px;
								left: initial;
								border-top: 2px solid var(--global_clr_darkgray);
								border-right: 2px solid var(--global_clr_darkgray);
							}
						}

						@media (max-width: 768px) {
							&::before {
								top: 5px;
								right: 6px;
								left: initial;
								border-top: 2px solid var(--global_clr_darkgray);
								border-right: 2px solid var(--global_clr_darkgray);
							}
						}
					}
				}
			}
		}
	}

	.copyrightArea {
		display: flex;
		justify-content: center;
		padding: 15px;
		font-size: var(--global_font_size_small3);

		@media (max-width: 768px) {
			padding: 5px 0;
			font-size: var(--global_font_size_small3);
		}
	}

	@media (max-width: 900px) {
		.cpView {
			padding-right: 0px;
			padding-left: 0px;
		}

		nav {

			.footerLinkLv2 {

				/* Accordion開閉アイコン（SP Only） */
				.footerLinkLv2_label .footer_acc_check_btn {
					display: inline-block;
					opacity: 0.7;
					cursor: pointer;
					width: 40px;
					min-width: 40px;
					height: 32px;
					margin-top: 0;
					background-image: url(/excludes/KEC/common/img/icon/ico_circle_large_plus_w.svg);
					background-repeat: no-repeat;
					background-size: 24px;
					background-position: 8px 0;
				}

				/* AccordionOpen時 */
				.footer_acc_check:checked~.footerLinkLv2_label>.footer_acc_check_btn {
					background-image: url(/excludes/KEC/common/img/icon/ico_circle_large_minus_w.svg);
				}

				/* アコーディオン化 */
				.footer_acc_check~.footerLinkLv3 {
					max-height: 0;
					opacity: 0;
					transition: max-height 0.3s, opacity 0.2s;

					li {
						margin-bottom: 0;
						max-height: 0;
						overflow: hidden;
						opacity: 0;
						transition: all 0s;
					}
				}

				.footer_acc_check:checked~.footerLinkLv3 {
					max-height: initial;
					opacity: 1;
					transition: max-height 0.3s, opacity 0.2s;

					li {
						margin-bottom: 2px;
						max-height: initial;
						overflow: initial;
						opacity: 1;
						transition: all 0s;
					}
				}
			}
		}
	}
}



/*----------------------------------------------------------
  MK4PFRDH000_02：SCグローバルヘッダ（シンプル）
----------------------------------------------------------*/
#fwCms_wrapper header.MK4PFRDH000_02 {
	display: block;
	width: 100%;
	margin-bottom: 15px;
	padding-bottom: 0;
	box-sizing: border-box;
	background-color: #FFF;
	border-bottom: 2px solid #E6E6E6;

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

	.header_line {
		display: block;
		height: 22px;
		background-color: #444;
		font-size: var(--global_font_size_small1);
		line-height: 1.0;
		color: #f0f0f0;
		padding: 5px 8px 0;

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

	.header_main {
		display: block;
		width: 100%;
		padding: 0;

		.header_mainL {
			padding: 5px 10px;

			.logo {
				img {
					width: 120px;
					height: 30px;
				}
			}
		}
	}
}



/*----------------------------------------------------------
  MK4PFRDH200_02：SCグローバルフッタ（シンプル）
----------------------------------------------------------*/
#fwCms_wrapper .MK4PFRDH200_02,
#fwCms_wrapper footer.MK4PFRDH200_02 {
	/*
	position: fixed;
	bottom: 0;
*/
	width: 100%;
	background-color: #444;
	padding: 0;
	font-size: var(--global_font_size_small3);
	color: var(--global_clr_white);
	text-align: center;
	margin-bottom: 0;
	z-index: 9990;

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

	.copyrightArea {
		display: flex;
		justify-content: center;
		padding: 5px;
		font-size: var(--global_font_size_small3);

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

/* iOS対策、フッタの position: fixed; はずす */
_::-webkit-full-page-media,
_:future,
#fwCms_wrapper footer.MK4PFRDH200_02 {
	position: initial;
	/* bottom: 0; */
	/* 見た目の余白 + セーフエリアの余白 */
	padding-bottom: calc(0px + env(safe-area-inset-bottom, 0px));
}

/* iOS対策、入力系はFocus時にフォントサイズを16px相当にする */
_::-webkit-full-page-media,
_:future,
input:focus-within,
textarea:focus-within {
	font-size: 1.6rem !important;
}


#fwCms_wrapper,
.order-detail-modal {

	/*----------------------------------------------------------
  クーポンのイメージ
  ----------------------------------------------------------*/
	.coupon-image {
		width: 100px;
		height: 100px;
		border: 1px solid var(--global_clr_lightgray);
		line-height: 1.9rem;

		.main {
			height: 85%;
			background-color: red;
			color: var(--global_clr_white);
			text-align: center;
			font-weight: bold;

			.text {
				border-left: 1px dashed var(--global_clr_white);
				margin-left: 5%;
				padding: 3px 2% 3px 3%;
				font-size: var(--global_font_size_small1);
				height: 100%;
				/* line-height: 2.5rem; */

				>div {
					line-height: 2rem;
					margin-top: 0.3rem;
				}

				.discount-amount {
					margin-top: 0.8rem;

					strong {
						font-size: var(--global_font_size_large9);
						letter-spacing: -0.2rem;
						transform: scale(0.8, 1);
						transform-origin: top left;
						display: inline-block;
						margin-left: -2px;

						&.three-char {
							font-size: 2.0rem;
						}

						&.five-char {
							font-size: var(--global_font_size_large5);
						}
					}

					span.three-char {
						margin-left: -10px;
					}

					span.four-char {
						margin-left: -12px;
					}

					span.five-char {
						margin-left: -12px;
					}
				}
			}
		}

		.attention {
			height: calc(100% - 85%);
			color: red;
			font-size: 0.93rem;
			font-weight: bold;
			text-align: center;
			margin-top: -0.2rem;
		}
	}

	/* レビュー投稿一覧 MK4PFRPM000_06 */
	.MK4PFRPM000_06 {

		/*
		.cpHeadTitle h2 {
			border-bottom: 2px solid var(--global_clr_gray);
			margin-top: 20px;
			margin-bottom: 20px;
			padding: 0 0 5px;
		}
*/
		.cpHeadText {
			margin: 0 0 20px 10px;

			p {
				line-height: 1.5;
				padding: 5px;
				margin: 0 0 10px;

				.darkred {
					color: var(--global_clr_darkred);
					font-weight: bold;
				}
			}
		}

		.reviewRegister,
		.reviewMoreView {
			a {
				display: block;
				width: 180px;
				cursor: pointer;
				font-size: 14px;
				text-align: center;
				margin: 0 0 15px;
				padding-top: 12px;

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

		.reviewMoreView {
			display: flex;
			justify-content: end;

			@media (max-width: 500px) {
				justify-content: center;
			}
		}

		/*
		h2 {
			border-bottom: 2px solid var(--global_clr_brightgray);
			margin: 20px 5px 0;
			padding: 0 0 5px;
		}
*/

		.reviewArea {
			display: flex;

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

			.reviewScoreArea {
				margin: 0 30px 0 0;

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

			.reviewTextArea {
				width: 100%;
				margin: 20px 0 0;

				li {
					.itemBlockName {
						/* width: 75%; */

						.itemNameInfo,
						.itemModelNum {
							min-height: inherit !important;
						}
					}

					.eachReview {
						border-bottom: 1px solid var(--global_clr_darkgray);
						margin: 0 0 30px;
						padding: 0 10px 5px;

						display: grid;
						grid: "grid-top-left grid-top-left grid-top-right"
							"grid-middle-left grid-middle-right grid-middle-right"
							"grid-bottom-left grid-bottom-left grid-bottom-right"
							/ 110px auto auto;
						gap: 10px 0;

						@media (max-width: 768px) {
							grid: "grid-top-left"
								"grid-top-right"
								"grid-middle-left"
								"grid-middle-right"
								"grid-bottom-left"
								"grid-bottom-right";
							gap: unset;
						}

						position: relative;

						li {
							margin: 0 0 10px;
						}

						.grid-top-left {
							grid-area: grid-top-left;
						}

						.grid-top-right {
							grid-area: grid-top-right;

							text-align: right;

							@media (max-width: 768px) {
								text-align: unset;
							}
						}

						.grid-middle-left {
							grid-area: grid-middle-left;
						}

						.grid-middle-right {
							grid-area: grid-middle-right;

							.reviewTitle {
								font-weight: bold;
							}
						}

						.grid-bottom-left {
							grid-area: grid-bottom-left;
						}

						.grid-bottom-right {
							grid-area: grid-bottom-right;

							margin: 0 0 10px auto;

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

							.cmnBtnCommon {
								width: 180px;
								margin: 0 0 0 20px;
								font-size: var(--global_font_size_small1);
								box-shadow: inherit;
								text-shadow: inherit;

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

			.reviewMoreView {
				padding: 0 10px 0 0;

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


/* ------------------------------------ */
/* モーダル(jBox)共通 */
/* ------------------------------------ */
.jBox-wrapper.jBox-Modal {
	.jBox-container {
		border-radius: 8px;
		padding-top: 8px;
		padding-bottom: 8px;

		.jBox-title {
			border-radius: 8px 8px 0 0;
			padding: 13px 18px;
			background: var(--global_clr_lightgray);
			border-bottom: 1px solid var(--global_clr_lightyellow);
			color: var(--global_clr_black);
			font-size: var(--global_font_size_large3);
			font-weight: bold;
			margin-top: -8px;

			.jBox-closeButton svg {
				width: 22px;
				height: 22px;
				margin-top: -10px;
				margin-right: -10px;
			}
		}

		.jBox-content {
			padding: 10px 10px;
			margin-top: 5px;

			&:focus {
				border-width: 0 !important;
			}

			.neo-confirm-content {
				.neo-confirm-message {
					text-align: center;
				}
			}
		}
	}
}


.jBox-wrapper.jBox-Modal.no-title {
	.jBox-container {
		.jBox-title {
			background: transparent;
			border-bottom: none;

			.jBox-closeButton svg {
				margin-top: -6px;
				margin-right: -18px;
			}
		}
	}
}

/* 店舗在庫確認Modal・個別 */
#shopStockModal .jBox-content {
	overflow-y: scroll;
}


/* ------------------------------------ */
/* LINKIDS追記（20250516） */
/* ------------------------------------ */

/* 検索バー */
@media (max-width: 768px) {
	.header_srchC.fixed {
		position: fixed;
		top: 0px;
		left: 6px;
		width: calc(100% - 10px);
		z-index: 100;

		.search_wrap {
			box-shadow: 0px 0px 20px 2px rgb(0 0 0 / 20%) !important;
		}
	}
}

#searchBarPlaceholder {
	flex-shrink: 0;
}

/* グローバルメニュー */
header button.global_menu_menuup,
header button.global_menu_pageup {
	display: none;
}

header button.global_menu {
	transition: all 0.3s ease !important;
}

header button.global_menu_pageup {
	position: fixed !important;
	bottom: 10px;
	z-index: 9995 !important;
	width: 44px !important;
	height: 44px !important;
	appearance: none !important;
	background-color: transparent !important;
	border-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

header button.global_menu_pageup {
	right: 7px !important;
}

@media (max-width: 768px) {

	header button.global_menu_menuup,
	header button.global_menu_pageup {
		position: absolute !important;
		bottom: calc(100% + 10px);
		display: block;
		width: 44px !important;
		height: 44px !important;
		appearance: none !important;
		background-color: transparent !important;
		border-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	header.MK4PFRDH000_02 {

		.global_menu {
			max-height: 0 !important;
		}

		button.global_menu_menuup,
		button.global_menu_pageup {
			bottom: calc(100% + 20px) !important;
		}
	}

	.global_menu_menuup {
		display: none;
		left: 7px !important;
	}
}

/*----------------------------------------------------------
  郵便番号リスト
----------------------------------------------------------*/
.efo-zip-modal {
	.jBox-content {
		padding: 5px 10px;
	}

	ul.zip-list {
		padding-inline-start: 10px;

		li:hover {
			background-color: rgb(253, 242, 85);
		}

		/* マークを非表示 */
		li.list-style-none {
			list-style: none;

			a {
				color: black !important;

				span {
					display: inline-block;
				}
			}

			.postNoWrapper {
				display: inline-block;
				width: 82px;
			}

		}
	}
}

/*----------------------------------------------------------
  住所から郵便番号を探すモーダル
----------------------------------------------------------*/
.zip-search {

	.jBox-content {
		padding: unset !important;

		.modal-contents {
			margin: 10px;

			.customer-form-error {
				background: var(--global_clr_lightyellow);
				border: 1px solid var(--global_clr_red);
				color: var(--global_clr_red);
				font-weight: bold;
				border-radius: inherit;
				line-height: 1.5;
				width: calc(100% - 40px);
				margin: 0 auto 40px;
				padding: 10px 20px;
			}

			.postalcode_search_ui_ {
				margin-bottom: 20px;

				@media screen and (max-width: 768px) {
					label {
						width: 90px;
					}
				}

				.search_prefecture_,
				.search_freeword_ {
					display: inline-block;

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

					select {
						border-radius: 0px;
						height: 28px;
						line-height: 28px;
						padding-left: 0.3em;
						border: 1px solid #c9c9c9;

						@media screen and (max-width: 768px) {
							width: 180px !important;
						}
					}

					input {
						height: 33px;
						margin-bottom: 3px;
						padding-left: 7px;
						border: 1px solid #c9c9c9;
						position: relative;
						font-size: var(--global_font_size_small2);
					}
				}

				.search_button_ {
					float: right;
					padding: 5px 7px;
					width: 130px !important;

					@media screen and (max-width: 768px) {
						float: initial;
						margin-top: 20px !important;
						width: 170px !important;
					}
				}
			}

			.search_result_title_ {
				padding: 3px 3px;
				background-color: rgb(14, 15, 17);
				color: white;
			}

			.search_result_ul_ {
				list-style: none;
				padding: unset;

				.search_result_li_ {
					display: block;
					width: 100%;
					height: 45px;
					border-bottom: 1px solid #e6e6e6;
					vertical-align: middle;
					margin-top: 15px;
					padding-bottom: 15px;

					@media screen and (max-width: 768px) {
						height: auto;
					}

					span {
						display: inline-block;

						@media screen and (max-width: 768px) {
							height: 45px !important;
							vertical-align: middle;
							text-align: unset !important;
							margin: auto 0;
						}
					}

					.postcode_ {
						/* height: 45px; */
						vertical-align: middle;
						/* line-height: 45px; */
						width: 125px;
						text-align: center;
					}

					.postcode_place_ {
						width: 380px;
						vertical-align: middle;
						padding-right: 20px;

						@media screen and (max-width: 768px) {
							vertical-align: middle;
						}
					}

					.postcode_select_ {
						button {
							color: #333333;
							display: inline-block;
							width: 130px !important;
							height: 30px !important;
							line-height: 25px;
							text-align: center;
							border: 1px solid #000000;
							text-decoration: none;
						}
					}

					.select-address {}
				}
			}
		}
	}

	.jBox-closeButton {
		svg {
			width: 15px;
			height: 15px;
			margin-top: -8px;
			margin-right: -8px;
		}
	}
}

/* ------------------------------------ */
/* あんパス登録促進Modal
/* ------------------------------------ */

.jBox-wrapper#modalSwitchAnpassDisp {

	.jBox-container {
		.jBox-title {
			@media screen and (max-width: 768px) {
				padding: 13px 13px;
				font-size: var(--global_font_size_large2);
			}
		}
	}
}

#fwCms_wrapper,
.jBox-wrapper {

	#switchAnpassDisp {
		max-width: 800px;

		.anpsModalWrap {
			display: flex;
			flex-wrap: wrap;
			font-size: var(--global_font_size_large1);
			padding: 5px 15px;

			@media screen and (max-width: 768px) {
				padding: 0 5px 5px;
			}

			.strong {
				font-weight: bold;
			}

			.emphasis {
				color: var(--global_clr_darkred);
				font-weight: bold;
			}

			.anpsModalHead {
				display: flex;
				align-items: center;
				width: 100%;

				@media screen and (max-width: 580px) {
					flex-direction: column;
					align-items: start;

					span {
						display: block;
					}
				}

				.anpsLogo {
					padding-right: 20px;

					img {
						width: 140px;
					}
				}

				p {
					font-size: var(--global_font_size_large5);
					font-weight: bold;
					display: inline-block;
					flex: 1;
				}
			}

			.anpsModalBody {
				display: flex;
				margin-top: 25px;

				@media screen and (max-width: 768px) {
					flex-direction: column;
				}

				.anpsModalBodyL {
					width: 50%;
					border-right: 2px solid var(--global_clr_gray);
					padding-right: 15px;
					margin-right: 20px;

					@media screen and (max-width: 768px) {
						width: 100%;
						border-right: 0 solid var(--global_clr_gray);
						padding-right: 0;
						margin-right: 0;
					}
				}

				.anpsModalBodyR {
					width: 50%;

					@media screen and (max-width: 768px) {
						width: 100%;
						margin-top: 50px;
						margin-bottom: 30px;
					}

					.anpsText {
						flex: 1;
					}

				}

				.anpsLead {
					width: 100%;
					font-size: var(--global_font_size_large3);
					font-weight: bold;
					margin-bottom: 20px;
				}

				.anpsDesc {
					display: flex;
					flex-wrap: wrap;

					.anpsText {
						line-height: 2.0rem;
						margin-bottom: 30px;

						ul {
							margin-bottom: 20px;

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

					.anpsMemo {
						font-size: var(--global_font_size_small1);
					}

					.anpsSide {
						width: 90px;
						float: right;

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

						img {
							width: 80px;
							margin: 0 0 0 auto;
						}
					}
				}

				.anpsBanner {
					width: 100%;
					margin: 10px auto 20px 0;

					img {
						max-width: 320px;
						margin: 0 auto 0 0;
					}
				}
			}

			.anpsModalFoot {
				width: 100%;
				padding: 10px 0;

				img {
					max-width: 200px;
				}
			}
		}

		.cmnScreenBottomButtonsWrap {
			margin-bottom: 0;
			width: 100%;
			column-gap: 10px;

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

			li {
				min-width: 150px;
			}

			.anpsModalCheck {
				padding-top: 8px;
				white-space: nowrap;

				@media (max-width: 768px) {
					width: 100%;
					text-align: center;
					padding-bottom: 5px;
					padding-right: 5px;
					margin-top: 0;
				}
			}
		}
	}
}

/* ------------------------------------ */
/* 欲しいもの登録Modal 
/* ------------------------------------ */

.jBox-wrapper.jBox-Modal.smallModal {
	max-width: 450px;

	.jBox-title {
		padding: 12px 10px 10px;
		font-size: var(--global_font_size_large2);
	}

	.jBox-closeButton-title .jBox-closeButton {
		top: -10px;
		right: 5px;
		bottom: 0;
		width: 50px;
	}

	.cmnScreenBottomButtonsWrap {
		margin: 20px auto 0 !important;
		padding: 20px 15px 5px !important;
	}

	.cmnBtnSubmit,
	.cmnBtnCancel {
		width: 180px !important;
	}
}

/*----------------------------------------------------------
  メール文字列折り返し
----------------------------------------------------------*/
.mailAddressDisp {
	overflow-wrap: break-word;
}

/*----------------------------------------------------------
  STRIGHT・SP時の位置調整
----------------------------------------------------------*/
#cookie_consent_banner_main_app {
	.cookie_consent-persistent-cookie-btn {
		transition: all 0.3s;

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

.cookie_consent-persistent-cookie-btn {
	z-index: 10000 !important;
}


/*----------------------------------------------------------
  商品カスタムタグ対応
----------------------------------------------------------*/
.neoCustomProdInfo {
	opacity: 0.01;
	transition: all 0.3s;
}
.neoCustomProdInfo.neoViewChange {
	opacity: 1;
	transition: all 0.3s;
}
#fwCms_campus {
	.neoCustomProdInfo {
		opacity: 1;
	}
}
