@charset 'UTF-8';

/*変数宣言*/
:root {
	--wrap-width: 1400px;
	/*コンテナをはみ出る物の最大幅*/
	--container-width: 1160px;
	/*全ページ共通コンテナ幅*/


	--container-pad: 24px;
	/*全ページ共通左右の余白*/
	--grid-gap: 16px;
	/*gridのgap*/
	--grid-gap_wide: 32px;
	/*広めのgridのgap*/
	--grid-gap_narrow: 8px;
	/*gridのgap*/
	--container-gap: 45px;
	/*全ページ共通要素間の高さ*/
	--grid-1frof12: calc((var(--container-width) - var(--container-pad))/12);
	/*全ページ共通要素間の高さ*/
	--grid-gap-1frof12: ;


	/*基本のフォントサイズ　15px*/
	--font-size-M: 1.5rem;
	/*基本のフォントサイズ　*/
	--font-size-XXL: 2.4rem;
	--font-size-XL: 2rem;
	--font-size-L: 1.8rem;
	--font-size-SM: 1.3rem;
	--font-size-SS: 1.1rem;


	--mv-height: 70vh;
	/*mainvisualのスライドショーの高さ*/
	--mv-min-height: 670px;
	/*スライドショーの高さ最低値*/

	/*カラー設定*/
	/*メインカラー*/
	--font-color: #222;
	/*基本のフォントカラー　*/
	--main-color: #FF9900;
	--main-colorAA: #EB6C00;

	/*メインカラーフォント用（failなので）　*/
	--main-color-txt: #FF9900;

	/*--main-color-txt: #ff5900;/*メインカラーフォント用（AA18）　*/
	--main-color-aaa: #C65000;
	/*メインカラーフォント用（AAA）　*/
	--middle-gray: #827C78;
	--light-gray: #F7F7F7;
	--light-gray2: #e5e2e0;

	/*警告、エラー　*/
	--conversion-color-txt: #E60012;


	/* 余白設定 */
	--spacing-SS: 8px;
	--spacing-S: 15px;
	--spacing-M: 20px;
	--spacing-L: 30px;
	--spacing-XL: 40px;

}

/* fallback */
@font-face {
	font-family: 'Material Icons';
	font-style: normal;
	font-weight: 400;
	src: url(https://fonts.gstatic.com/s/materialicons/v139/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2');
}



/* フォーカスのスタイル */
*:focus-visible {
	outline: 2px solid var(--main-color);
	outline-offset: 2px;
	overflow: visible;
}

html {
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	/*1rem=10pxに*/
	/* box-sizing: border-box;
	scroll-behavior: smooth;
	scroll-snap-type: y proximity;
	scroll-padding-top: 65px;ヘッダー高さ */
}

body {
	font-family: 'YakuHanJPs', 'Noto Sans JP', sans-serif;
	width: 100%;
	height: 100%;
	color: var(--font-color);
	font-size: 1.5rem;
	/*デフォルトフォントサイズ 15px */
	line-height: 1.6;
	text-size-adjust: auto;
	-webkit-text-size-adjust: auto;
	/*Chrome,Safari*/

}

a {
	cursor: pointer;
	text-decoration-line: underline;
}

a.btn {
	width: 100%;
	text-decoration: none !important;
}

a:hover {
	cursor: pointer;
	opacity: .6;
}

a:visited {
	color: inherit;
}

ul>li>a {
	text-decoration-line: none;
}


/* SPのみ電話番号リンク */

@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		letter-spacing: 0.3rem;
	}
}

main {
	display: flex;
	flex-flow: column wrap;
	margin: 0 auto;
}

p {
	max-height: 100%;
}

.pc {
	display: inherit;
}

.sp {
	display: none;
}


#wrapper {
	flex: 1;
	position: relative;
	min-height: 100%;
	/*	overflow: hidden; stikyが効かなくなる*/
	font-size: var(--font-size);

	background-color: #fff;
}

.pc {
	display: initial;
}

.sp {
	display: none;
}
/*//// 見出し設定 ////*/
h1 {

	font-size: 2.4rem;
	letter-spacing: 0.04em;
	font-weight: 600;
	max-width: var(--container-width);
	padding: 1em 0 0.5em 0;
	color: var(--main-colorAA);

	width: 100%;
	text-align: center;
}

h2 {

	font-size: var(--font-size-L);
	letter-spacing: 0.04em;
	font-weight: 600;
	max-width: var(--container-width);
	padding: 1em 0;
	color: var(--main-colorAA);

	width: 100%;
}

h3 {
	/*color: var(--main-colorAA);*/

	padding: 1em 0;
	font-size: var(--font-size-L);
	letter-spacing: 0.04em;
	font-weight: 600;
	text-align: left;
}

h4 {
	padding: 0.5em 0;

}
.wrap_container {
	max-width: var(--wrap-width);
}

.vw_container {
	width: 100vw;
}

.vw_container img {
	width: 100%;
}

.main_container {
	display: flex;
	flex-flow: column;
	justify-content: center;
	/*align-items: center;*/
	width: 100%;
	max-width: var(--container-width);
	/*margin-bottom:  60px ;*/

	margin: 0 auto;


}

.main_container a {
	color: var(--main-colorAA);

}

.main_container p {
	font-size: 14px;
}

.section {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	flex-shrink: 0;
	justify-content: center;
	width: 100%;
	padding: var(--container-gap) 0;
	position: relative;
}

.section+.section {
	padding-top: 0;
	padding-bottom: var(--container-gap);
}

.section:first-child, *:not(section)+.section {
	padding: var(--container-pad) 0 var(--container-gap) 0;
}

.section:last-child {}

.container {
	display: flex;
	flex-direction: column;
	position: relative;
	flex-grow: 1;
	width: auto;
	max-width: var(--container-width);
	margin: 0 var(--container-pad);
	justify-content: center;
	word-break: break-all;
}


h3+.container {
	padding-bottom: 20px;
}

.center {
	margin: 0 auto;
}

.cont_100w {
	width: 100%;
}

.cont_90w {
	width: 90%;
	max-width: calc(var(--container-width) * 0.9);
	/*90%*/
	margin: 0 auto;
}

.cont_80w, .cont_80w_pc {
	width: 100%;
	max-width: calc(var(--container-width) * 0.8);
	/*80%*/
	margin: 0 auto;
}

.cont_100vw, .cont_100vw_pc {
	padding: 0;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.cont_100vw_sp {}

/*////　 配置に関する設定　////*/
.indent-l {
	margin: 0 4% 0 8%;
}

.indent-l_pc {
	margin: 0 4% 0 8%;

}

.mt_0 {
	/*section等の上マージンを0にしたい時%*/
	padding-top: 0;
}

.mb_0 {
	/*section等の下マージンを0にしたい時%*/
	padding-bottom: 0;
}

.flex-end {
	display: flex;
	justify-content: flex-end;

}

/*pdding*/
.pb_spacing-s {
	padding-bottom: var(--spacing-S);
}

.pb_spacing-m {
	padding-bottom: var(--spacing-M);
}

.pb_spacing-l {
	padding-bottom: var(--spacing-L);
}



/*////　アイコン　////*/
/* Google font Icon */
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

.material-symbols-outlined {
	font-family: "Material Symbols Outlined";
	font-variation-settings:
		'FILL'0,
		'wght'400,
		'GRAD'0,
		'opsz'48
}

a[target=_blank]::after {
	font-family: 'Material Icons';
	content: '\e89e';
	display: inline;
	vertical-align: middle;

}

/*blankアイコン除外*/
.footer_list_sns {
	a[target=_blank]::after {
		content: '';
	}
}

/*////文字のデコレーション////*/
/*テキストセンター*/
.tx_center {
	text-align: center;

}

/*下線 1px*/
.em_bd01 {
	border-bottom: 1px solid;
	margin: auto .4em;
}

/*下線 蛍光マーカー*/
.em_bd02 {
	background: linear-gradient(transparent 70%, #ffee66 0%);
}

/*強調 サイズ大きめ*/
.em_szL {
	padding: 0.5rem 0;
	font-size: 1.8rem;
}

/*注釈など サイズ小さめ*/
.em_szS {
	font-size: 90%;
}

/*ボールド*/
.bold {
	font-weight: 600;
}

/*一文字インデント*/
.proviso,.indent {
	padding-left: 1em;
	text-indent: -1em;
}

ul, ol {
	&.proviso {
		padding-left: inherit;
		text-indent: inherit;

		& li {
			padding-left: 1em;
			text-indent: -1em;
		}
	}
}


/*コンバージョンカラー*/
.conversion {
	color: var(--conversion-color-txt);

}

/*////レイアウト////*/
.column {
	display: flex;
	flex-direction: column;
}

.row-item {
	display: flex;
	flex-direction: row;
	gap: 1rem;
}

.row-item_auto-fit {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, auto));
	grid-auto-columns: 1fr;
	gap: 1rem;
}

.row-item_auto-fill {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, auto));
	/*grid-auto-columns: 1fr;*/
	gap: 1rem;
}

/*12グリッドレイアウト */
.grid-col {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--grid-gap);
	place-content: center;

}

/*
.grid-col > * {
	grid-column: 1 / -1;
}
*/
.grid-col>div {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/*12グリッドレイアウト カラム数*/
.col-1 {
	grid-template-columns: repeat(1, 1fr);
}

.col-2 {

	grid-template-columns: repeat(2, 1fr);
}

.col-3 {
	grid-template-columns: repeat(3, 1fr);
}

.col-4 {
	grid-template-columns: repeat(4, 1fr);
}

.col-5 {
	grid-template-columns: repeat(5, 1fr);
}

.col-6 {
	grid-template-columns: repeat(6, 1fr);
}

.col-8 {
	grid-template-columns: repeat(8, 1fr);
}

.col-10 {
	grid-template-columns: repeat(10, 1fr);
}

.col-12 {
	grid-template-columns: repeat(12, 1fr);
}

.w-gap {
	gap: var(--grid-gap_wide);
}

.span {}

.row-reverse_pc {
	direction: rtl;
}

.row-reverse_pc>div {
	direction: initial;
}

/*幅に関するもの 基本センター合わせ spでは100％*/
.col-width_12 {
	max-width: calc(var(--grid-1frof12)*12);
	margin: 0 auto;
}

.col-width_10 {
	max-width: calc(var(--grid-1frof12)*10);
	margin: 0 auto;

	.offset {}
}

.col-width_8 {
	max-width: calc(var(--grid-1frof12)*18);
	margin: 0 auto;

}

.col-width_7 {
	max-width: calc(var(--grid-1frof12)*7);
	margin: 0 auto;
}

.col-width_6 {
	max-width: calc(var(--grid-1frof12)*8);
	margin: 0 auto;
}

.col-span_12 {
	grid-column: 1 / -1;


}

.col-span_10 {
	grid-column: span 10;

	&.offset {
		grid-column: 2/span 10;
	}
}

.col-span_3 {
	grid-column: span 3;

}

.col-span_4 {
	grid-column: span 4;

}

.col-span_7 {
	grid-column: span 7;

}

.col-span_9 {
	grid-column: span 9;

}

.col-center_10 {
	grid-column: 2/span 10;
}

.col-center_8 {
	grid-column: 3/span 8;
}

@media screen and (max-width: 960px) {
	.col-center_8 {
		grid-column: 1 / -1;
	}
}

.t_right {
	text-align: right;
}


/*トップページ */

.mainvisual {
	position: relative;
	width: 100%;
	/*height: var(--mv-height);*/
	max-height: var(--mv-min-height);
	overflow: hidden;
}

.mainvisual img {
	width: 100%;
	/*height: 1024px;*/
}

.mv_img {
	position: absolute;
}

.cap_container {
	width: 100%;
	max-width: var(--container-width);
	position: absolute;
	margin: 0 auto;
	padding: 0 var(--container-pad);

	top: 0;

}

.cap_item01 {
	width: 100%;
	max-width: var(--container-width);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
}

.cap_item01 p {
	width: 100%;
	color: #fff;
	font-size: 30px;
	line-height: 70px;
	font-weight: 600;
	padding: 5% 5%;
	text-shadow: 1px 1px 3px #808080;
	text-align: left;
}

.cap_item02 {
	position: absolute;
	width: 100%;

	max-width: var(--container-width);
	margin: 0 var(--container-pad);

	left: 0;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);

}

.item02_inner {
	position: relative;
	max-width: 40%;
	min-width: 465px;
	background-color: rgba(112, 112, 112, .3);

	& figure {
		position: absolute;
		width: 37%;

		top: auto;
		bottom: 0;
		left: 5.5%;

	}

	& figcaption p {
		font-size: var(--font-size-L);
		padding: 10% 10% 10% 47%;

	}

}


.mainvisual_gra {
	content: '';
	position: absolute;
	/*bottom: 0;*/
	left: 0;
	width: 100%;
	height: calc(var(--mv-height) + 1px);
	min-height: var(--mv-min-height);
	background-image: linear-gradient(180deg, transparent 0 60%, #155315 100%);
}

.gra_black {
	background-image: linear-gradient(180deg, transparent 0 60%, #000 100%);
}

/* リストスタイル */
p.list {
	padding-left: 1.4em;
	text-indent: -1.4em;
}

p+ol {
	margin-top: 0;
	margin-bottom: 1.8rem;
}

ol+p {}

ol {
	counter-reset: list;
	list-style-type: none;
	margin: 1em 0;
	padding-left: 1.4em;
}

ol>li {
	position: relative;
	line-height: 1.6;
	padding: 0 0 0.8em 4px;
}

ol>li:before {
	counter-increment: list;
	content: counter(list)".";
	text-align: center;
	position: absolute;
	width: 1.8em;
	top: 0;
	left: -2em;
	font-weight: bold;
	color: #827C78;
}

ol.disc>li:before {
	content: "・";
}

ol.firm>li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}

ol.firm>li:before {
	content: "("counter(cnt) ")";
	text-align: right;
}

/*数字付リスト　()*/
ol.cnt {
	& li {
		list-style-type: none;
		counter-increment: cnt;
	}

	& li::before {
		content: "("counter(cnt) ") ";
		color: inherit;
		font-weight: normal;
	}
}


@media only screen and (min-width:1400px) {
	.mainvisua_back {}
}

/* スライドショーCSS*/
.slideshow {
	width: 100%;
	height: auto;

	list-style-type: none;
	position: relative;
	/*z-index: -1;*/
}

.slideshow:before {
	content: "";
	display: block;
	padding-top: 66%;
}

.slideshow>li {
	width: 100%;
	/*opacity: 0;*/
	position: absolute;
	top: 0;
	transition: opacity 2s ease-in-out;
}

.slideshow>li.showSlide {
	opacity: 1;
}

.slideshow>li>picture>img {

	max-width: initial !important;
	/*height: auto;*/
	max-height: 70vh;
	min-height: 670px;
	object-fit: cover;
}


h2.top {
	width: 75%;
	margin: 0 auto;

	font-size: 2.6rem;
	font-weight: 600;
	text-align: center;

}

h2.top span {

	margin: 0 auto;
	padding-left: 16px;
	font-size: 16px;


	color: #9D9D9C;
}

.fade-in {
	opacity: 0;
	transition-duration: 500ms;
	transition-property: opacity, transform;
}

.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

.load-fade {
	opacity: 0;
	visibility: hidden;
	transition: all 1s;
}

.load-fade.is-show {
	opacity: 1;
	visibility: visible;
}

.bg_glay {
	background-color: #eae6e5;
}

/* トップページ */

/* ITEM */
.top_products {}

a.top_products_item {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;

	background: #fff;
	border: var(--middle-gray) 1px solid;
	color: var(--font-color);
	text-decoration-line: none;

}

.top_products_item>img {}

.top_products_item>ul {
	display: flex;
	flex-flow: column wrap;
	padding: 0 2rem 0 1.5rem;


}

.laber {}

.itemname {
	width: 100%;
	font-size: var(--font-size-M);
	margin: 0 0;
	padding: 0 0 1em 0;

}

.price {}

.color_text {}

.item_color {}

.size_text {}

.item_size {}

.color_white {
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	background: #F8F8F8;
	border: #707070 solid 1px;

}




/* ご利用方法 */

.utilize_item {
	padding: 0 var(--grid-gap);
	align-items: center;


}

.utilize_item h3 {
	width: fit-content;
	font-size: var(--font-size-L);
	font-weight: 600;
	text-align: center;
	margin: 1em 1em 2em 1em;
	border-bottom: solid 1px #DCDBDB;

	& span {
		font-size: var(--font-size-XL);
		color: var(--main-colorAA);
		padding: 0 0.6rem 0 0;

	}
}

.utilize_item>.item_container {
	display: grid;
	grid-template-columns: minmax(172px, 1fr) auto;
	gap: var(--grid-gap);

	& .col_img {
		display: flex;
		align-items: center;

	}

	& .col_text {
		display: flex;
		justify-content: center;
		align-items: center;

		& p {
			font-size: var(--font-size-M);
			line-height: 2;
			text-align: center;

		}
	}

}

/* aboutservice */

.aboutservice_item {
	display: grid;
	grid-template-columns: 5fr 5fr;
	gap: var(--grid-gap);
	width: 100%;
	padding: 5rem 0;

}

.aboutservice_item li {
	position: relative;
	display: flex;

	font-size: var(--font-size-XL);
	padding: var(--container-pad);

	width: 100%;
	background: #F5C415;
	border-radius: 1rem;

}

.aboutservice_item li::after {
	content: '>';
	position: absolute;
	left: auto;
	right: var(--container-pad);
}

.aboutservice_item a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* A-02 */
.p_products {
	display: grid;
	grid-template-columns: minmax(350px, 640px) minmax(390px, 450px);
	gap: var(--grid-gap);
	place-content: center;
}

.p_products_cont01 {

	align-items: center;
}

.p_products_cont02 {

	padding: 4rem 6%;

}

/* @media screen and (max-width: 960px) {
	.p_products_cont01 {
		grid-column: span 6;
		align-items: center;
	}
	
	.p_products_cont02 {
		grid-column: span 6;
		padding: 4rem 6%;
	
	}
} */

.p_products_cont01 {}

.products_img_main {
	width: 100%;
	margin-bottom: 15px;
}

.products_img_main img {
	width: 100%;
	object-fit: cover;
	border: #F0F0F0 1px solid;
}

.products_img_thumb {}

.products_img_thumb ul {
	display: flex;
	gap: 14px;

}

.p_products_cont02>div {
	display: flex;

}

.p_products .itemname {
	font-size: clamp(1.8rem, 1.582rem + 1.09vw, 2.4rem);
}

.p_products .item-description {
	margin-bottom: var(--spacing-L);
}

.p_products .color_text {
	align-items: flex-start;
	display: flex;
	gap: 8px;
	margin-bottom: 20px;


	& dd {
		display: inline-block;
		width: 4.4rem;
		font-size: 0;
		text-align: center;
		cursor: pointer;

		& p {
			font-size: 11px;
		}

		& span {
			position: relative;
			display: inline-block;
			width: 3.5rem;
			height: 3.5rem;
			border-radius: 1rem;

		}
	}

	.color_white {
		background-color: #F8F8F8;
		border: #707070 solid 1px;

	}
}

.p_products .color_text .selected {
	border: #333 solid 2px;
}

.p_products .size_text {
	display: flex;
	align-items: flex-start;
	margin-bottom: var(--spacing-M);
	gap: 0.8rem;
}

.p_products .size_text label {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 3.5rem;
	height: 3.5rem;
	margin-right: 8px;
	border: #B7B7B7 solid 1px;
	font-size: 1.8rem;
	text-align: center;
	cursor: pointer;
}

/* Firefox */
@-moz-document url-prefix() {
	.p_products .size_text label {
		padding-bottom: .1rem;
	}
}

.size_text label.selected {
	border: #333 solid 2px;
	background: #F5C415;
}

.size_text label.nostock {
	color: #707070;
	background: #F0F0F0;
	background-image: linear-gradient(to left top, transparent calc(50% - 1px), #c4c4c6 49.5%, #c4c4c6 50%, transparent 50.5%);
	pointer-events: none;

	&::after {
		position: absolute;
		display: inline-block;
		content: "在庫なし";
		font-size: 11px;
		top: auto;
		bottom: -18px;
		left: -8px;
		width: 50px;
	}

}

.size_describe {
	justify-content: flex-end;
	margin-bottom: var(--spacing-S);
}

.size_describe i {
	padding-right: 0.5rem;
}

.p_products .price {
	align-items: baseline;
	font-size: 32px;
	margin-bottom: var(--spacing-M);
	font-weight: 600;

	& span {
		font-size: 18px;
	}

	& i {
		padding-left: 1rem;
		font-size: 18px;
		color: var(--main-colorAA);

	}
}

span.item-price {
	font-size: 32px !important;
}

/*/// A-03 ///*/
.ec-cart_contents {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 46px;

}

@media screen and (max-width: 1025px) {
	.ec-cart_contents {
		grid-template-columns: 100%;
		gap: var(--grid-gap);
	}
}

.ec-cart_contents {
	& h3 {
		padding: 0 0;

	}

	.section {
		padding: 0 0 var(--container-pad) 0;
		margin: 0 0 var(--container-pad) 0;

	}

	.section+.section {
		padding: var(--container-pad) 0 var(--container-pad) 0;
		border-top: 1px solid #dbdbdb;

	}

	.section:last-child {
		padding: var(--container-pad) 0 0 0;
		margin: 0 0 0 0;

	}

}

h2.in_cart {
	font-size: var(--font-size-M);
	text-align: left;
	color: var(--font-color);
	padding: 1rem 0;
	margin-bottom: var(--spacing-SS);
	border-bottom: 1px solid #222;
}

.ec-counter {}

.ec-cart_contents__cont01 {
	border: 1px solid #dbdbdb;
	margin-bottom: var(--container-gap);
	padding: var(--container-pad);

}

.ec-cart_contents__cont02 {

	& .section {
		flex-grow: 0;
	}
}

.fix_section {
	position: sticky;
	top: 85px;
	left: auto;
	right: 0;
	z-index: 1;
}

.ec-cart_proceed {
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-content: center;

}

.ec-counter {

	position: relative;
}

.ec-counter {
	display: flex;
	position: relative;
	overflow: hidden;
	width: 133px;
	/*text-align: center;*/

	border: 1px solid #707070;
	border-radius: 26px;

	margin-bottom: var(--spacing-S);
	padding: 1rem 2rem;
	cursor: pointer;
	z-index: 1;

}

.ec-counter::after {
	position: absolute;
	top: calc(50% - 3px);
	right: 10px;
	width: 0;
	height: 0;
	padding: 0;
	content: "";
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #707070;
	border-radius: 2px;
	pointer-events: none;
	z-index: -1;
}

.ec-counter select {
	user-select: text;
	-moz-user-select: none;
	/* for firefox*/
}

.ec-cart {
	margin-bottom: var(--spacing-L);
}

.ec-cart>button {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: min(350px, 100%);
	min-height: 52px;
	padding: 11px 1em;
	border-radius: 26px;
	background: #EB6C00;

	font-size: var(--font-size-XL);
	font-weight: 600;
	color: #fff;

	cursor: pointer;

}

div.out-of-stock {
	cursor: not-allowed;
}

.ec-cart>button.out-of-stock {
	background: #999999;
	pointer-events: none;
}

div.not-selected {
	cursor: not-allowed;
}

.ec-cart>button.not-selected {
	background: #999999;
	pointer-events: none;
}

div.processing {
	cursor: not-allowed;
}

.ec-cart>button.processing {
	pointer-events: none;
}

.ec-cart>button>i {
	display: flex;
	align-items: center;

	height: var(--spacing-L);
	padding-top: 2px;
	padding-right: 1rem;

}

.section.section-hr {
	margin-bottom: var(--spacing-XL);
	border-bottom: 1px solid #707070;
}


/*フォーム*/
.Form {}

div.Form-Item {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	gap: .8rem;
	/*border-top: 1px solid #ddd;*/
	padding: var(--spacing-SS) 0;
	width: 100%;

	& form {
		display: flex;
		justify-content: center;
		width: 100%;

	}

	& dd {
		width: 100%;
	}

	& h5 {
		font-size: var(--font-size-L);
		text-align: center;
		width: 100%;
	}

}

/* .Form-Item:nth-child(5) {
	border-bottom: 1px solid #ddd;
	意図せぬ挙動をするのでコメントアウトしてます。
	別のスタイル記述にして下さい。
} */

.Form-Item-Label {
	align-items: flex-start;
	position: relative;

	width: 7rem;
	letter-spacing: 0.05em;

	font-size: 18px;

}

.Form-col-2 {}

.Form-col-2 .Form-Item-Label {}

.Form-Item-Label.isMsg {
	margin-top: 8px;
	margin-bottom: auto;
}

.Form-Item-Label-Required::after {
	position: absolute;
	font-weight: normal;

	font-size: var(--font-size-SM);
	content: "※";
	color: var(--conversion-color-txt);
}

.Form-Item .row-item {
	display: flex;
	flex: 1;
	width: 100%;
	gap: 0;
}

.Form-Item-Input {
	border: 1px solid #707070;
	border-radius: 6px;
	margin-left: 1rem;
	padding: 0.5rem 0.5rem;

	flex: 1;
	width: 100%;

	/*background: #eaedf2;*/

}

.Form-Item-Input__error {
	border: 1px solid var(--conversion-color-txt);
}

.Form-Item-suppltext__error {
	width: 100%;
	font-size: var(--font-size-SS);
	color: var(--conversion-color-txt);
	text-align: left;

}

input:focus {
	border: 2px solid var(--main-colorAA);
	outline: none;
	/* フォーカス時の枠線を削除 */
}

.Form-Item-Textarea {
	border: 1px solid #ddd;
	border-radius: 3px;
	margin-left: 40px;
	padding-left: 1em;
	padding-right: 1em;
	height: 216px;
	flex: 1;
	width: 100%;
	max-width: 410px;
	/*background: #eaedf2;*/
	/*font-size: 18px;*/
}

.Form-Btn {
	border-radius: 6px;
	margin-top: 32px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	width: 280px;
	display: block;
	letter-spacing: 0.05em;
	background: #5bc8ac;
	color: #fff;
	font-weight: bold;
	font-size: 20px;
}


/*カート*/
.ec-cart_initems {
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-template-rows: 1fr;
	margin: var(--spacing-S);
	padding-bottom: var(--spacing-S);

	border-bottom: 1px solid #dbdbdb;
}



.ec-cart_initems ul {
	display: grid;

	gap: 0;
	grid-template-areas:
		"itemname itemname"
		"color_text size_text"
		"price price"
		" counter counter"
		"subtotal subtotal"
		"delete_button delete_button";

	.itemname {
		grid-area: itemname;
	}

	.color_text {
		grid-area: color_text;
		justify-self: start;
	}

	.size_text {
		grid-area: size_text;
		justify-self: start;
	}

	.price {
		grid-area: price;
	}

	.ec-counter_container {
		grid-area: counter;
		padding-top: var(--spacing-SS);
	}

	.delete_button {
		grid-area: delete_button;
		justify-self: end;
	}

	.subtotal {
		grid-area: subtotal;


	}

}

.ec-cart_initems.simplified ul {
	display: grid;
	align-content: start;
	gap: 0;
	grid-template-areas:
		"itemname itemname"
		"color_text color_text"
		"size_text size_text"
		"counter counter "
		"subtotal subtotal"
	;

	& .itemname {
		font-size: var(--font-size-M);
		text-align: left;
		max-width: 30rem;
	}

	.color_text, .size_text, .ec-counter_container {
		font-size: var(--font-size-SM);

		padding-top: 0;
	}

}

.simplified .color_text {
	span {}

	.color_white {
		width: inherit;
		height: inherit;
		background: inherit;
		border: none;
		content: "";

	}

}

.simplified .ec-counter_container {
	padding-top: 0;


}

.simplified .ec-counter {
	padding: 0.5rem 1rem;
	overflow: hidden;
	width: inherit;
	width: 10rem;
	margin-bottom: 0;

}

.ec-cart_initems ul .itemname {
	padding: 0 0 0 0;
}

.ec-cart_initems ul li {
	display: flex;
}



.delete_button button {
	justify-content: center;


	padding: 0.5rem 0;
	text-decoration: underline;

	cursor: pointer;

}

.subtotal {
	justify-content: flex-end;
	align-items: flex-end;

	font-size: var(--font-size-L);

	/*border-top: 1px solid #707070;*/
	& dt {
		font-size: var(--font-size-M);
		padding-right: 0.5rem;

	}

	& dd {
		font-size: var(--font-size-L);
	}

}

.ec-cart_total-amount {
	display: flex;
	justify-content: flex-end;
	align-items: end;

	/*border-top: 2px solid #707070;*/
	font-size: var(--font-size-XL);
	padding: 1rem;

	background: #F7F7F7;

	& {
		display: flex;
	}

	& h3 {
		text-align: left;
		margin: 0 0;
		padding: 0 0 1rem 0;
	}

	& dt {
		font-size: var(--font-size-L);
		padding: 0 1rem 0 0;
	}

	& dd {}

}

.ec-cart_total-amount {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;

	border-top: none;
	font-size: var(--font-size-XL);
	padding: var(--container-pad);



	& dl {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: baseline;
	}

	& dt {
		font-size: var(--font-size-L);
		padding: 0 1rem 0 0;
	}

	& dd {}

	& p {
		font-size: var(--font-size-SM);
	}

	& dl+p {
		padding-top: 1rem;

	}

}

.ec-cart_contents .ec-cart_proceed {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--grid-gap);
	/*max-width: 370px;*/
	text-align: center;
}

.ec-cart_consent {}

.ec-cart_consent_inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--grid-gap);
	/*background: #fdf3d0;*/
	padding: 2rem;
	text-align: center;
}


.checkbox01 {
	text-align: left;
}

.checkbox01 input[type="checkbox"] {
	display: none;
}

.checkbox01 input[type="checkbox"]+span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 1.2em;
	margin: 0 .2em 0;
	cursor: pointer;
}

.checkbox01 input[type="checkbox"]+span::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .3);
	border-radius: 2px;
	width: 1em;
	height: 1em;
	display: block;
}

.checkbox01 input[type="checkbox"]:checked+span::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	width: 1em;
	height: .6em;
	margin-top: -.2em;
	display: block;
	border-left: 3px solid #F44336;
	border-bottom: 3px solid #F44336;
}

/* 店舗検索 検索ボックス*/

div>form.search-form-1 {
	display: grid;
	grid-template-columns: auto 38px;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	border: 1px solid #707070;
	border-radius: 3px;
}

.search-form-1 input {
	width: 100%;
	padding: 5px 15px;
	border: none;
	box-sizing: border-box;
	font-size: 1em;
	outline: none;
}

.search-form-1 input::placeholder {
	color: #777777;
}

.search-form-1 button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	/*height: 45px;*/
	border: none;
	background-color: var(--main-colorAA);
	cursor: pointer;
}

.search-form-1 button::after {
	margin-right: 10px;
	font-family: "Material Symbols Outlined";
	content: '\e8b6';
	background-repeat: no-repeat;
	color: #fff;
	font-size: 24px;

}

.ms_icon {
	padding-right: 8px;
	text-decoration-line: none !important;


	&.Location_On::after {
		font-family: "Material Symbols Outlined";
		content: "\e0c8";
		font-size: 24px;
		line-height: 1;
		vertical-align: middle;

	}


}

a:has(+ i) {
	display: flex;

}

/*//// お問い合わせ ////*/
.contact {

	& h2 {
		padding: 0 0 1rem 0;
	}

	& h4 {
		font-size: 1.7rem;
	}
	& p.indent{
		width: 100%;
	}
}

.sub_content {
	position: relative;
	display: flex;
	flex-flow: column;
	gap: 1.2rem;
	padding: 2rem 2rem;
	background: #F7F7F7;
	border: solid 1px #ccc;
	border-radius: .6rem;
	margin-bottom: 1.4rem;
}

.contact_content {
	padding: 2.5rem 2rem;
	border: solid 1px #ccc;
	border-radius: .6rem;
	margin-bottom: 4rem;

}

.contact_content a.link-button {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 1rem;
	margin: 3rem auto 0 auto;
	max-width: 315px;
	background: #F5C415;
	border-radius: .6rem;
	color: #333;
	font-size: 1.7rem;
	text-decoration: none;

	&::before {
		position: absolute;
		left: 1.5rem;
		top: 50%;
		transform: translateY(-50%);
		content: "＞";
		font-weight: 700;
		color: #fff;

	}
}


/*//// モーダル ////*/
/* モーダルの背景 */
.modal {

	position: fixed;
	/* 画面に固定 */
	z-index: 999;
	/* 他の要素の上に表示 */
	left: 0;
	top: 0;
	width: 100%;
	/* 全幅 */
	height: 100%;
	/* 全高さ */
	overflow: auto;
	/* スクロール可能 */
	background-color: rgb(0, 0, 0);
	/* 背景色 */
	background-color: rgba(0, 0, 0, 0.4);
	/* 透過 */
}

dialog::backdrop {
	background: rgba(94, 94, 94, 0.5);
	backdrop-filter: blur(4px);
}

body.is-modal {
	/* 追加 */
	overflow: hidden;
}

dialog::backdrop {
	background: rgba(94, 94, 94, 0.5);
	backdrop-filter: blur(4px);
}

body.is-modal {
	overflow: hidden;
}

dialog {
	/* 追加 */
	padding: 0;
}

.dialog_inner {
	/* 追加 */
	padding: 16px;
}

/* モーダルコンテンツ */
.modal-content {
	display: flex;
	flex-flow: column wrap;

	background-color: #fefefe;
	margin: 8rem auto;
	padding: 20px;
	border: 1px solid #888;
	width: fit-content;
	/* 幅 */
	width: 96%;
	max-width: 768px;
	min-width: 600px;
	height: auto;
	/*height: 100%;*/

	border-radius: 6px;
	z-index: 2;
	/* 他の要素の上に表示 */

	position: relative;

	h1 {
		font-size: var(--font-size-L);

	}

	h2 {
		font-size: var(--font-size-M);
		color: var(--main-colorAA);
		padding: 1rem 0;

	}

	h3 {
		width: 100%;
		text-align: left;
		font-size: var(--font-size-M);

	}

}

.modal-content__inner {
	position: relative;
	background-color: #fff;

	& .ec-cart_total-amount {
		padding: 1rem var(--container-pad);

	}

}

.js_modalClose {
	position: absolute;
	top: 20px;
	bottom: auto;
	left: auto;
	right: 20px;
	/*width: 100%;*/

	font-size: var(--font-size-L);
	cursor: pointer;
	z-index: 1001;
}

.modal-content .in_cart {
	max-width: 600px;
	margin: 0 auto;

}

.receiving {

	padding: 3% 4%;

	& ul {
		margin: 0 auto;
		padding-left: inherit;
		text-indent: inherit;

		& li+li {
			padding-top: 1.2rem;
		}
	}
}

/*テーブル*/
table {
	border-collapse: collapse;
	/* セルの線を重ねる */
}

.table {}

th, td {
	border: solid 1px #b8b8b8;
	/* 枠線指定 */
	line-height: 1.5;
}

th {
	background-color: #E5E5E5;
	text-align: center;
	vertical-align: middle;
	padding: 0.3em 0.5em;
}

td {
	padding: 0.5em 0.5em;

}

.SizingChart {
	width: 100%;
	display: flex;
	flex-flow: column wrap;
	gap: var(--spacing-S);
	padding: var(--container-pad);

	& table {
		width: 100%;
		text-align: center;

	}

	& th, td {
		border: none;
	}

	& tr {
		border-bottom: solid 1px #b8b8b8;
	}



}


.alert-message {
	padding: 0.5em;
	border-radius: 15px;
	color: #ffffff;
	background-color: #28A745;
	margin-bottom: 1em;
	text-align: center;
}

/* ///// ページ一番上に戻るボタン ///// */
#topBtn {
	height: 50px;
	position: absolute;
	bottom: 636px;
	right: calc(calc(100vw - 1200px) / 2);
	right: 10px;
	z-index: 2;
	display: none;
	color: #FF9900;
	opacity: 0.7;
}

#topBtn.is-fixed {
	position: fixed;
	bottom: 4px;
}

#topBtn a {}

#topBtn a::before {

	display: inline-block;
	content: url("../images/instore/randing/souzai/top_back.svg");
	line-height: 50px;
	width: 50px;
	height: 50px;

}

.topBtn_box {
	display: inline-block;
	height: 0;
}