:root {
	--colorSub: rgb(249, 187, 78);
	--colorMain: rgb(3, 116, 72);
	--colorMain2: rgb(229, 240, 234);
	--colorMain3: rgb(89, 165, 136);
	--colorText: rgb(66, 66, 66);
	--colorW: rgb(255, 255, 255);
	--colorG1: rgb(204, 204, 204);
	--colorG2: rgb(247, 247, 247);
}

@font-face {
	font-family: "Local Noto Sans JP";
	src: local("Noto Sans JP");
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Local Noto Sans JP", "Noto Sans JP", sans-serif;
	color: var(--colorText);

	.c-button-submit,
	.c-button {
		color: var(--colorText);
		background-color: var(--colorSub);
	}

	&>header {
		&>div.body {
			margin-inline: auto;
			padding: 16px 0;
			width: 1100px;
			display: flex;
			align-items: center;
			@media screen and (max-width: 959px) {
				/* padding: 10px 0; */
				padding: 1.23vw 0;
				width: 100%;
			}
			@media screen and (max-width: 599px) {
				max-width: none;
				width: auto;
				padding: 0;
				height: 12.5vw;
				position: relative;
				box-shadow: 0px 1.5vw 1.5vw -1.5vw rgba(0,0,0,0.3);
			}
			&>div.__toggle-open {
				@media screen and (max-width: 599px) {
					display: table-cell;
				    width: 12.5vw;
					position: absolute;
					top: 0;
					right: 0;
				}
				& label {
					@media screen and (max-width: 599px) {
						display: block;
						text-align: center;
						width: 12.5vw;
						height: 12.5vw;
						padding: 2.75vw;
						background-color: var(--colorMain);
					}
					& span:before {
						@media screen and (max-width: 599px) {
							color: var(--colorW);
							font-size: 7vw;
							font-family: 'Material Icons';
							font-weight: normal;
							font-style: normal;
							display: inline-block;
							line-height: 1;
							text-transform: none;
							letter-spacing: normal;
							word-wrap: normal;
							white-space: nowrap;
							direction: ltr;
							-webkit-font-smoothing: antialiased;
							text-rendering: optimizeLegibility;
							-moz-osx-font-smoothing: grayscale;
							font-feature-settings: 'liga';
							content: "";
						}
					}
				}
			}
			& h1,
			& p,
			& ul,
			& li,
			& img {
				margin: 0;
				padding: 0;
				vertical-align: top;
				line-height: 1.0;
			}
			&>h1 {
				width: 247px;
				@media screen and (max-width: 959px) {
					box-sizing: border-box;
					/* width: 190px;
					padding-left: 15px; */
					width: 23.45vw;
					padding-left: 1.85vw;

				}
				@media screen and (max-width: 599px) {
					width: 40.5vw;
					padding: 2vw;
				}
				& img {
					width: 100%;
					height: auto;
				}
			}
			&>p.copy {
				margin-left: 13px;
				font-size: 16px;
				font-weight: bold;
				@media screen and (max-width: 959px) {
					/* font-size: 13px; */
					font-size: 1.60vw;
				}
				@media screen and (max-width: 599px) {
					font-size: 3.25vw;
				}
				&>span {
					display: block;
					margin-top: 3px;
					padding: 3px;
					border-radius: 10px;
					font-size: 14px;
					font-weight: bold;
					background-color: var(--colorSub);
					text-align: center;
					@media screen and (max-width: 959px) {
						/* font-size: 11px; */
						font-size: 1.35vw;
					}
					@media screen and (max-width: 599px) {
						font-size: 2.75vw;
						padding: 0.75vw;
						border-radius: 2.5vw;
					}
				}
			}
			&>p.tel {
				margin-left: 55px;
				width: 228px;
				text-align: center;
				@media screen and (max-width: 959px) {
					/* margin-left: 25px;
					width: 120px; */
					margin-left: 3.08vw;
					width: 14.81vw;
				}
				@media (max-width: 599px) {
					display: none;
				}
				& img {
					margin-bottom: 4px;
					width: 100%;
					height: auto;
				}
				& span {
					font-size: 13px;
					@media screen and (max-width: 959px) {
						/* font-size: 10px; */
						font-size: 1.23vw;
					}
					&>br {
						display: none;
						@media screen and (max-width: 959px) {
							display: inline-block;
						}
					}
				}
			}
			&>ul.header-nav {
				margin-left: auto;
				display: grid;
				grid-template-columns: repeat(5, 1fr);
				grid-template-rows: 1fr;
				gap: 0;
				@media (max-width: 599px) {
					display: none;
				}
				&>li {
					list-style-type: none;
					&:not(:first-child) {
						border-left: solid 1px rgb(217, 217, 217);
					}
					&>a {
						display: block;
						padding: 33px 7px 4px;
						font-size: 12px;
						text-align: center;
						width: 100%;
						height: 100%;
						background-image: url(../../uploads/next/images/common/header/icon-catalog.svg);
						background-size: 26px 19px;
						background-repeat: no-repeat;
						background-position: center top 6px;
						font-weight: bold;
						@media screen and (max-width: 959px) {
							/* font-size: 10px; */
							font-size: 1.23vw;
						}
						&:hover {
							text-decoration: none;
						}
					}
					&.new>a {
						background-image: url(../../uploads/next/images/common/header/icon-reg.svg);
						background-size: 12px 26px;
						background-position: center top 2px;
						&:nth-child(2) {
							background-image: url(../../uploads/next/images/common/header/icon-mypage.svg);
							background-size: 30px 21px;
							background-position: center top 6px;
						}
					}
					&.login>a {
						background-image: url(../../uploads/next/images/common/header/icon-login.svg);
						background-size: 19px 25px;
						background-position: center top 2px;
						&:nth-child(2) {
							background-image: url(../../uploads/next/images/common/header/icon-logout.svg);
							background-size: 25px;
							background-position: center top 6px;
						}
					}
					&.contact>a {
						background-image: url(../../uploads/next/images/common/header/icon-contact.svg);
						background-size: 21px 15px;
						background-position: center top 8px;
					}
					&.cart>a {
						background-image: url(../../uploads/next/images/common/header/icon-cart.svg);
						background-size: 22px 21px;
						background-position: center top 5px;
					}
					&.calc>a {
						background-image: url(../../uploads/next/images/common/header/icon-calc.svg);
						background-size: 20px 26px;
						background-position: center top 3px;
					}
				}
			}
		}
		&>nav {
			& li {
				list-style-type: none;
			}
			&.gnav-pc {
				color: var(--colorW);
				background-color: var(--colorMain);
				min-width: 1100px;
				@media screen and (max-width: 959px) {
					min-width: 0;
				}
				@media screen and (max-width: 599px) {
					min-width: 0;
				}
				& * {
					margin: 0;
					padding: 0;
				}
				&>div.__menu {
					width: 1100px;
					@media screen and (max-width: 1279px) {
						max-width: none;
					}
					@media screen and (max-width: 959px) {
						width: 100%;
					}
					@media screen and (max-width: 599px) {
						max-width: 100%;
						width: auto;
					}
					transition: none;
					&>ul {
						display: flex;
						@media screen and (max-width: 959px) {
							display: grid;
							grid-template-columns: repeat(4, 1fr);
							gap: 0;
						}
						&>li {
							flex: 1;
							border-left: solid 1px var(--colorW);
							&:last-child {
								border-right: solid 1px var(--colorW);
							}
							@media screen and (max-width: 959px) {
								border-left: 0;
								&:last-child {
									border-right: none;
								}
								&:not(:nth-child(4n)) {
									border-right: solid 1px var(--colorW);
								}
								&:nth-child(-n+4) {
									border-bottom: solid 1px var(--colorW);
								}
							}
							& a {
								display: block;
								padding: 17px 0;
								color: var(--colorW);
								font-weight: bold;
								font-size: 14px;
								text-align: center;
								text-transform: uppercase;
								&:hover {
									text-decoration: none;
									background-color: rgba(255, 255, 255, 0.137);
								}
							}
						}
					}
				}
			}
			&.gnav-sp {
				& div.__drawer {
					& input.__check:checked ~ .__menu {
						opacity: 1.0;
					}
					& div.__menu {
						padding-top: 12.5vw;
						transition: none;
						opacity: 0;
						transition: opacity .2s ease-in-out;
						&::before {
							content: "";
							display: block;
							width: 36.499vw;
							height: 7.436vw;
							background-image: url(../../uploads/next/images/common/header/logo.svg);
							background-size: contain;
							background-repeat: no-repeat;
							position: absolute;
							top: 2.4vw;
							left: 2vw;
						}
						& div.__toggle-close {
							position: absolute;
							top: 0;
							right: 0;
							left: auto;
							width: 12.5vw;
							height: 12.5vw;
							background-color: var(--colorMain);
							& label {
								position: relative;
								padding: 0;
								width: 100%;
								height: 100%;
								& span {
									&::before {
										color: var(--colorW);
										font-size: 8.125vw;
										position: absolute;
										top: 50%;
										left: 50%;
										transform: translateX(-50%) translateY(-50%);
									}
								}
							}
						}
					}
					& div.__content {
						&>div.__page {
							padding: 10vw 2.5vw 3.75vw;
							&>ul {
								margin: 0;
								padding: 0;
								&.nav {
									margin-bottom: 12.5vw;
									padding: 0 1.25vw;
									display: grid;
									grid-template-columns: repeat(2, 1fr);
									grid-template-rows: repeat(4, 1fr);
									row-gap: 10vw;
									&>li {
										&>a {
											font-weight: bold;
											font-size: 4.5vw;
											text-transform: uppercase;
										}
									}
								}
								&.header-nav {
									margin-bottom: 10vw;
									display: grid;
									grid-template-columns: repeat(5, 1fr);
									grid-template-rows: 1fr;
									gap: 0;
									&>li {
										list-style-type: none;
										&:not(:first-child) {
											border-left: solid 1px rgb(217, 217, 217);
										}
										&>a {
											display: block;
											padding: 8.25vw 1.5vw 1vw;
											font-size: 2.5vw;
											text-align: center;
											width: 100%;
											height: 100%;
											background-image: url(../../uploads/next/images/common/header/icon-catalog.svg);
											background-size: 26px 19px;
											background-repeat: no-repeat;
											background-position: center top 6px;
											font-weight: bold;
											&:hover {
												text-decoration: none;
											}
										}
										&.new>a {
											background-image: url(../../uploads/next/images/common/header/icon-reg.svg);
											background-size: 12px 26px;
											background-position: center top 2px;
											&:nth-child(2) {
												background-image: url(../../uploads/next/images/common/header/icon-mypage.svg);
												background-size: 30px 21px;
												background-position: center top 6px;
											}
										}
										&.login>a {
											background-image: url(../../uploads/next/images/common/header/icon-login.svg);
											background-size: 19px 25px;
											background-position: center top 2px;
											&:nth-child(2) {
												background-image: url(../../uploads/next/images/common/header/icon-logout.svg);
												background-size: 25px 26px;
												background-position: center top 6px;
											}
										}
										&.contact>a {
											background-image: url(../../uploads/next/images/common/header/icon-contact.svg);
											background-size: 21px 15px;
											background-position: center top 8px;
										}
										&.cart>a {
											background-image: url(../../uploads/next/images/common/header/icon-cart.svg);
											background-size: 22px 21px;
											background-position: center top 5px;
										}
										&.calc>a {
											background-image: url(../../uploads/next/images/common/header/icon-calc.svg);
											background-size: 20px 26px;
											background-position: center top 3px;
										}
									}
								}
								&.sub-nav {
									display: grid;
									grid-template-columns: repeat(2, 1fr);
									grid-template-rows: repeat(2, 1fr);
									row-gap: 4vw;
									&>li {
										&>a {
											font-size: 3vw;
											font-weight: bold;
										}
									}
								}
							}
							&>p.tel {
								margin: 0 0 7.5vw 1.25vw;
								width: 57.6vw;								
								& img {
									margin-bottom: 0.5vw;
									width: 100%;
									height: auto;
									vertical-align: top;
								}
								& span {
									font-size: 3.25vw;
									font-weight: bold;
								}
							}
						}
					}
				}
			}
		}
	}
	&.__is-guest {
		&>header {
			&>div.body {
				&>ul.header-nav {
					&>li.new {
						&>a {
							&:nth-child(2) {
								display: none;
							}
						}
					}
					&>li.login {
						&>a {
							&:nth-child(2) {
								display: none;
							}
						}
					}
				}
			}
			&>nav.gnav-sp {
				& div.__drawer {
					& div.__menu {
						& div.__content {
							&>div.__page {
								&>ul.header-nav {
									&>li.new {
										&>a {
											&:nth-child(2) {
												display: none;
											}
										}
									}
									&>li.login {
										&>a {
											&:nth-child(2) {
												display: none;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		&>div.wrapper {
			&>div.__inner {
				&>div.main {
					&.main--cart {
						&>section.__content-top {
							& div.message {
								margin: 20px 0;
								padding: 15px;
								text-align: center;
								background-color: #f5adad;
								border-radius: 3px;
								font-weight: bold;
								font-size: 18px;
								& a {
									text-decoration: underline;
									&:hover {
										opacity: 0.7;
									}
								}
							}
						}
					}
					&.main--product-list {
						&>section.__control {
							margin-top: 0;
							& div.__select {
								& form#sortForm {
									& select {
										& option {
											&[value="min_unit_price-ASC"],
											&[value="max_unit_price-DESC"] {
												display: none;
											}
										}
									}
								}
							}
						}
						& section.__list {
							& ul {
								& li {
									& div.__description {
										& dl.__price {
											display: none;
										}
									}
								}
							}
						}
					}
					&.main--product-detail {
						& section.__set {
							& div.__spec {
								& dl.__jodai {
									display: none;
								}
							}
						}
						& section.__common-content-bottom {
							& div.item-contact {
								& p.member {
									display: none;
								}
								& ul.member {
									display: none;
								}
							}
						}
					}
					&.main--page-detail {
						& section.__content {
							& div.custom-page {
								&.catalog {
									& div.member {
										display: none;
									}
								}
							}
						}
					}
				}
			}
		}
		&>footer {
			&>div.body {
				&>ul {
					&>li {
						&.regist {
							&>a+a {
								display: none;
							}
						}
						&.login {
							&>a+a {
								display: none;
							}
						}
					}
				}
			}
		}
	}
	&.__is-member {
		&>header {
			&>div.body {
				&>ul.header-nav {
					&>li.new {
						&>a {
							&:first-child {
								display: none;
							}
							&:nth-child(2) {
								display: block;
							}
						}
					}
					&>li.login {
						&>a {
							&:first-child {
								display: none;
							}
							&:nth-child(2) {
								display: block;
							}
						}
					}
				}
			}
			&>nav.gnav-sp {
				& div.__drawer {
					& div.__menu {
						& div.__content {
							&>div.__page {
								&>ul.header-nav {
									&>li.new {
										&>a {
											&:first-child {
												display: none;
											}
											&:nth-child(2) {
												display: block;
											}
										}
									}
									&>li.login {
										&>a {
											&:nth-child(1) {
												display: none;
											}
											&:nth-child(2) {
												display: block;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		&>div.wrapper {
			&>div.__inner {
				&>div.main {
					&.main--cart {
						&>section.__content-top {
							& div.message {
								display: none;
							}
						}
					}
					&.main--product-detail {
						& section.__common-content-bottom {
							& div.item-contact {
								& p.no-member {
									display: none;
								}
								& ul.no-member {
									display: none;
								}
							}
						}
					}
					&.main--page-detail {
						& section.__content {
							& div.custom-page {
								&.catalog {
									& div.non-member {
										display: none;
									}
								}
							}
						}
					}
				}
			}
		}
		&>footer {
			&>div.body {
				&>ul {
					&>li {
						&.login {
							&>a:first-child {
								display: none;
							}
							&>a+a {
								display: inline;
							}
						}
						&.regist {
							&>a:first-child {
								display: none;
							}
							&>a+a {
								display: inline;
							}
						}
					}
				}
			}
		}
	}
	&>div.wrapper {
		position: relative;
		& div.__inner {
			&>div.main {
				padding-top: 40px;
				@media (max-width: 959px) {
					padding-top: 30px;
				}
				@media (max-width: 599px) {
					padding: 5.333vw 0 0;
				}
				&>section.__heading {
					&>h1 {
						padding: 0 0 40px;
						@media screen and (max-width: 959px) {
							padding: 30px 0;
						}
						@media (max-width: 599px) {
							padding: 5.333vw 4vw;
						}
					}
				}
			}
		}
		&.wrapper--home {
			&::before {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				min-width: 1100px;
				height: 395px;
				background-color: var(--colorMain2);
			}
			@media screen and (max-width: 959px) {
				&::before {
					display: none;
				}
			}
			@media screen and (max-width: 599px) {
				&::before {
					display: none;
				}
			}
		}
		&.wrapper--column-2 {
			&>div.__inner {
				position: relative;
				z-index: 10;
				max-width: none;
				width: 1100px;
				@media screen and (min-width: 1280px) {
					max-width: none;
				}
				@media screen and (max-width: 1279px) {
					max-width: none;
				}
				@media screen and (max-width: 959px) {
					width: 100%;
				}
				@media screen and (max-width: 599px) {
					max-width: 100%;
					width: auto;
				}
				&>div.__content-home-top {
					background-color: transparent;
					&>div.visual {
						@media screen and (max-width: 959px) {
							background-color: var(--colorMain2);
						}
						@media screen and (max-width: 599px) {
							background-color: var(--colorMain2);
						}
						&>div.search {
							&>p.copy {
								margin-top: 20px;
								margin-bottom: 13px;
								color: var(--colorMain);
								font-weight: bold;
								font-size: 20px;
								text-align: center;
								line-height: 1.4;
								@media screen and (max-width: 959px) {
									/* font-size: 18px; */
									margin-top: 0;
									padding: 20px 20px 0;
									font-size: 2.22vw;
								}
								@media screen and (max-width: 599px) {
									margin-top: 0;
									margin-bottom: 2.5vw;
									padding: 3.75vw 3.75vw 0;
									font-size: 4.5vw;
									text-align: left;
									line-height: 1.3;
								}
							}
							&>div.search-container {
								display: grid;
								grid-template-columns: 430px 1fr;
								grid-template-rows: auto auto;
								grid-template-areas: "search category" "price category";
								gap: 10px;
								align-items: start;
								@media screen and (max-width: 959px) {
									/* grid-template-columns: 300px 1fr; */
									grid-template-columns: 37.03vw 1fr;
									align-items: stretch;
									padding: 0 20px 20px;
								}
								@media screen and (max-width: 599px) {
									display: block;
									padding: 0 3.75vw 3.75vw;
								}
								&>dl {
									margin: 0;
									padding: 20px;
									background-color: var(--colorW);
									@media screen and (max-width: 959px) {
										/* padding: 15px; */
										padding: 1.85vw;
									}
									@media screen and (max-width: 599px) {
										padding: 3.75vw;
									}
									&:not(:last-child) {
										@media screen and (max-width: 599px) {
											margin-bottom: 2.5vw;
										}
									}
									&.search-word {
										grid-area: search;
									}
									&.search-price {
										grid-area: price;
									}
									&.search-category {
										grid-area: category;
									}
									&>dt {
										font-weight: bold;
										color: var(--colorText);
										font-size: 18px;
									}
									&>dd {
										margin-left: 0;
										&>ul {
											padding-left: 0;
											list-style-type: none;
											display: grid;
											grid-template-columns: repeat(3, 1fr);
											column-gap: 15px;
											@media screen and (max-width: 959px) {
												/* column-gap: 10px; */
												column-gap: 1.23vw;
											}
											@media screen and (max-width: 599px) {
												grid-template-columns: repeat(2, 1fr);
												column-gap: 3.75vw;
											}
											&>li {
												position: relative;
												font-size: 13px;
												border-bottom: solid 1px var(--colorG1);
												@media screen and (max-width: 959px) {
													/* font-size: 10px; */
													font-size: 1.23vw;
												}
												@media screen and (max-width: 599px) {
													font-size: 2.5vw;
												}
												&::after {
													content: "";
													display: block;
													width: 10px;
													height: 10px;
													border-right: solid 1px var(--colorText);
													border-bottom: solid 1px var(--colorText);
													transform: rotate(-45deg) translateY(-50%);
													position: absolute;
													top: 50%;
													right: 10px;
													@media screen and (max-width: 959px) {
														right: 0;
														/* width: 7px;
														height: 7px; */
														width: 0.86vw;
														height: 0.86vw;
													}
													@media screen and (max-width: 599px) {
														width: 1.5vw;
														height: 1.5vw;
														right: 1vw;
													}
												}
												&.text-m {
													font-size: 12px;
													@media screen and (max-width: 959px) {
														/* font-size: 10px; */
														font-size: 1.23vw;
													}
													@media screen and (max-width: 599px) {
														font-size: 2.5vw;
													}
												}
												&>a {
													text-decoration: none;
													display: block;
													padding: 8px;
													@media screen and (max-width: 959px) {
														/* padding: 5px; */
														padding: 0.61vw;
													}
													@media screen and (max-width: 599px) {
														padding: 2.5vw;
													}
													&:hover {
														text-decoration: underline;
													}
													&>br {
														display: none;
														@media screen and (max-width: 959px) {
															display: inline-block;
														}
														@media screen and (max-width: 599px) {
															display: none;
														}
													}
												}
											}
										}
										&>form {
											position: relative;
											width: 100%;
											&>input[type="text"] {
												width: calc(100% - 30px);
												height: 26px;
												border: 1px solid var(--colorG1);
												border-radius: 13px;
												box-sizing: border-box;
												padding: 2px 5px;
											}
											&>button.c-button {
												position: absolute;
												top: 50%;
												right: 0;
												transform: translateY(-50%);
												width: 26px;
												height: 26px;
												padding: 0;
												border-radius: 50%;
												border: none;
												background-color: var(--colorMain);
												background-image: url(../../uploads/next/images/common/other/icon-search.svg);
												background-repeat: no-repeat;
												background-position: center;
												background-size: 12px 12px;
												&:hover {
													opacity: 0.8;
												}
												&>span {
													display: inline-block;
													overflow: hidden;
													text-indent: 100%;
													white-space: nowrap;
												}
											}
										}
									}
								}
							}
						}
					}
				}
				&>div.main {
					padding-left: 0;
					@media (min-width: 1280px) {
						width: 830px;
					}
					@media (min-width: 960px) {
						width: 830px;
					}
					@media screen and (max-width: 959px) {
						padding: 0 30px;
					}
					@media screen and (max-width: 599px) {
						padding: 0 3.75vw;
					}
					&>section {
						&.__block {
							@media screen and (max-width: 959px) {
								margin-top: 30px;
								padding: 0 20px;
							}
							@media screen and (max-width: 599px) {
								margin-top: 10vw;
								padding: 0 3.75vw;
							}
							&>h2.c-heading-main {
								margin-bottom: 30px;
								padding: 0;
								border: 0;
								font-size: 30px;
								display: flex; 
								align-items: baseline;
								gap: 20px;
								width: 100%;
								background-color: transparent;
								@media screen and (max-width: 599px) {
									gap: 3.75vw;
									margin-bottom: 6.25vw;
									font-size: 5.5vw;
								}
								&::after {
									font-size: 16px;
									font-weight: normal;
									position: relative;
									display: inline-block;
									background-image: 
									linear-gradient(var(--colorText), var(--colorText)),
									linear-gradient(var(--colorText), var(--colorText));
									background-size: 30px 1px;
									background-repeat: no-repeat;
									background-position: left center, right center;
									padding: 0 40px;
									transform: translateY(-2px);
									@media screen and (max-width: 599px) {
										padding: 0 5vw;
										background-size: 3.75vw 1px;
										font-size: 3vw;
									}
								}
							}
							&>div.__body {
								&>ul.__product {
									padding: 0;
									display: grid;
									grid-template-columns: repeat(4, 1fr);
									gap: 30px 15px;
									@media screen and (max-width: 599px) {
										grid-template-columns: repeat(2, 1fr);
									}
									&>li {
										padding: 0;
										width: auto;
										& div.__photo  {
											aspect-ratio: 1 / 1;
											& img {
												width: 100%;
												height: auto;
												display: block;
												object-fit: cover;
												background-color: #ddd;
												border: solid 1px var(--colorG1);
												aspect-ratio: 1 / 1;
												max-height: none;
											}
										}
										& div.__description {
											display: none;
										}
									}
								}
							}
						}
						&.__block--feature {
							&>h2.c-heading-main {
								display: none;
							}
							&>div.__body {
								&>div.js-carousel-wrapper {
									position: relative;
									width: 100%;
									overflow: hidden;
									padding: 0 40px;
									&>div.js-carousel-track-container {
										overflow: hidden;
										width: 100%;
										&>ul.js-carousel-track {
											display: flex;
											list-style: none;
											width: 100%;
											margin: 0;
											padding: 0;
											&>li.js-carousel-slide {
												flex-shrink: 0;
												padding: 0 5px;
												list-style: none;
												&>a {
													text-decoration: none;
													&>img {
														width: 100%;
														height: auto;
														display: block;
														object-fit: cover;
														background-color: #ddd; 
														aspect-ratio: 15/7; 
													}
												}
											}
										}
									}
									&>button.js-carousel-button {
										position: absolute;
										top: 50%;
										transform: translateY(-50%);
										background-color: var(--colorMain);
										border: none;
										color: white;
										width: 30px;
										height: 30px;
										border-radius: 50%;
										cursor: pointer;
										z-index: 10;
										display: flex;
										align-items: center;
										justify-content: center;
										font-size: 14px;
										transition: opacity 0.3s;
									}
									& .js-carousel-button:hover {
										opacity: 0.8;
									}
									& .js-carousel-button--left {
										left: 0;
									}
									& .js-carousel-button--right {
										right: 0;
									}
								}
								& ul {
									padding: 0;
								}
							}
						}
						&.__block--pro-new {
							&>h2.c-heading-main {
								&::after {
									content: "New Arrivals";
								}
							}
						}
						&.__block--pro-recommend {
							&>h2.c-heading-main {
								&::after {
									content: "Featured Items";
								}
							}
						}
						&.__block--news {
							padding: 25px;
							background-color: var(--colorG2);
							&>h2.c-heading-main {
								&::after {
									content: "NEXT News";
								}
							}
							&>div.__body {
								&>ul {
									&>li {
										font-size: 16px;
									}
								}
							}
						}
						&.__block--free-1 {
							&>h2 {
								&::after {
									content: "User guide";
								}
							}
							&>div.__body {
								padding-right: 150px;
								background-image: url(../../uploads/next/images/top/illust.svg);
								background-repeat: no-repeat;
								background-position: right center;
								@media screen and (max-width: 599px) {
									padding-right: 0;
									background-image: none;
								}
								&>dl {
									display: grid;
									grid-template-columns: 105px 1fr;
									gap: 30px 25px;
									&>dt {
										color: var(--colorMain);
										font-size: 32px;
										font-weight: bold;

										&>span {
											display: block;
											border-radius: 10px;
											font-size: 40.625%;
											width: 100%;
											box-sizing: border-box;
											padding: 2px 6px;
											text-align: center;
											color: var(--colorText);
											background-color: var(--colorSub);
											line-height: 1.0;
										}
									}
									&>dd {
										margin-left: 0;
									}
								}
							}
						}
						&.__block--free-2 {
							margin-top: 65px;
							&>div.__body {
								padding: 35px 0;
								@media screen and (max-width: 599px) {
									padding: 5.333vw;
								}
								background-color: var(--colorMain2);
								&>p {
									margin-top: 0;
									text-align: center;
								}
								&>ul {
									margin-bottom: 0;
									padding-left: 0;
									list-style-type: none;
									text-align: center;
									&>li {
										display: inline-block;
										vertical-align: top;
										@media screen and (max-width: 599px) {
											display: block;
										}
										&:first-child {
											@media screen and (max-width: 599px) {
												margin-bottom: 15px;
											}
										}
										&>a {
											border-radius: 30px;
											display: block;
											background-color: var(--colorSub);
											width: 300px;
											box-sizing: border-box;
											padding: 20px 0;
											font-weight: bold;
											&:hover {
												text-decoration: none;
												opacity: 0.8;
											}
											@media screen and (max-width: 599px) {
												width: 100%;
											}
										}
									}
								}
							}
						}
						&.__content {
							& div.local-nav {
								background-color: var(--colorG2);
								padding: 20px;
								@media screen and (max-width: 599px) {
									padding: 15px;
								}
								& ul {
									list-style: none;
									margin: 0;
									padding: 0;
								}
								&>ul {
									display: grid;
									grid-template-columns: repeat(3, 1fr);
									gap: 0 25px;
									@media screen and (max-width: 599px) {
										grid-template-columns: 1fr;
										gap: 10px;
									}
									&>li {
										padding-bottom: 8px;
										margin-bottom: 0;
										&:not(:has(ul)) {
											border-bottom: 1px solid var(--colorG1);
										}
										&.noline{
											border-bottom: 0;
										}
										&>a {
											display: flex;
											justify-content: space-between;
											align-items: center;
											font-weight: bold;
											text-decoration: none;
											color: var(--colorText);
											padding: 12px 0;
											@media screen and (max-width: 599px) {
												padding: 10px 6px;
											}
										}
										& ul {
											& li {
												border-top: 1px solid var(--colorG1);
												& a {
													display: flex;
													justify-content: space-between;
													align-items: center;
													padding: 12px 0 12px 8px;
													font-size: 14px;
													color: #666;
													text-decoration: none;
													@media screen and (max-width: 599px) {
														padding: 10px 6px;
														font-size: 12px;
													}
												}
											}
										}
									}
								}
								& a::after {
									content: "";
									width: 10px;
									height: 10px;
									border-right: 1px solid var(--colorText);
									border-bottom: 1px solid var(--colorText);
									transform: rotate(45deg);
									margin-bottom: 4px;
								}
							}
							& div.custom-page {
								& h2 {
									margin-top: 50px;
									padding-left: 15px;
									font-size: 24px;
									font-weight: bold;
									position: relative;
									&::before {
										content: "";
										display: block;
										width: 6px;
										height: 30px;
										border-radius: 3px;
										position: absolute;
										top: 3px;
										left: 0;
										background-color: var(--colorMain);
									}
								}
								& h3 {
									margin-top: 1.6em;
									font-size: 20px;
								}
								& ul.list {
									margin-top: 0;
									padding-left: 0;
									list-style-type: none;
									& li {
										margin-bottom: 0.4em;
										display: grid;
										grid-template-columns: 1.5em 1fr;
										align-items: start;
										&::before {
											content: "";
											grid-column: 1;
											width: 1em;
											height: 1em;
											border-radius: 50%;
											background-color: var(--colorMain);
											margin-top: 0.35em;
										}
										&>* {
											grid-column: 2;
										}
										& span.note {
											margin-top: 0;
										}
									}
								}
								&.print {								
									& ol {
										&.flow {
											display: flex;
											align-items: center;
											gap: 20px; /* ステップ間の隙間 */
											list-style: none;
											padding: 0;
											@media screen and (max-width: 599px) {
												flex-wrap: wrap;
												gap: 4.267vw;
											}
											& li {
												position: relative;
												display: flex;
												flex-direction: column;
												align-items: center;
												justify-content: center;
												width: 120px;
												height: 120px;
												background-color: var(--colorMain2);
												border-radius: 50%;
												text-align: center;
												@media screen and (max-width: 599px) {
													width: 24.533vw; 
													height: auto;
													aspect-ratio: 1 / 1;
												}
												&:not(:last-child)::after {
													content: "";
													position: absolute;
													right: -15px;
													top: 50%;
													transform: translateY(-50%);
													border-style: solid;
													border-width: 10px 0 10px 10px;
													border-color: transparent transparent transparent var(--colorMain);
													z-index: 1;
													@media screen and (max-width: 599px) {
														right: -3.2vw;
														border-width: 2.0267vw 0 2.0267vw 2.0267vw;
													}
												}
												& dl {
													& dt {
														font-size: 24px;
														font-weight: bold;
														color: var(--colorMain);
														line-height: 1;
														@media screen and (max-width: 599px) {
															font-size: 5.6vw;
														}
													}
													& dd {
														margin-top: 5px;
														margin-left: 0;
														font-size: 14px;
														font-weight: bold;
														line-height: 1.4;
														@media screen and (max-width: 599px) {
															font-size: 3.2vw;
														}
													}
												}
											}
											&+p {
												line-height: 1.6;
												& em {
													font-style: normal;
													background: linear-gradient(transparent 55%, rgba(249, 186, 78, 0.7) 0%);
												}
											}
										}
									}
									& div.intro {
										display: grid;
										gap: 20px;
										align-items: center;
										grid-template-columns: 400px 1fr;
										grid-template-areas: "text image";
										@media screen and (max-width: 599px) {
											grid-template-columns: auto;
											grid-template-areas: "text" "image";
										}
										& div.intro-text {
											grid-area: text;
										}
										& figure.intro-image {
											grid-area: image;
											margin: 0;
											width: 100%;
											& img {
												width: 100%;
												height: auto;
												display: block;
												object-fit: cover;
											}
										}
									}
									& ul {
										&.item {
											display: grid;
											gap: 45px 25px;
											list-style-type: none;
											padding-left: 0;
											@media screen and (max-width: 599px) {
												gap: 8vw 4vw;
											}
											& li {
												& p.photo {
													margin: 0 0 0.3em;
													& img {
														aspect-ratio: 3 / 2;
														object-fit: cover;
														vertical-align: top;
														border: solid 1px #CCCCCC;
													}
												}
												& dl {
													& dt {
														font-weight: bold;
													}
													& dd {
														margin-left: 0;
														& p {
															margin-top: 0;
															margin-bottom: 0.3em;
															@media screen and (max-width: 599px) {
																font-size: 3.467vw;
															}
															&.note {
																margin-bottom: 0.3em;
																@media screen and (max-width: 599px) {
																	font-size: 2.933vw;
																}
															}
															&.excerpt {
																padding: 10px;
																background-color: #F7F7F7;
																font-size: 12px;
																@media screen and (max-width: 599px) {
																	font-size: 2.933vw;
																}
																& span {
																	display: block;
																	font-size: 14px;
																	font-weight: bold;
																	@media screen and (max-width: 599px) {
																		font-size: 3.467vw;
																	}
																}
															}
														}
													}
												}
											}
											&.item1 {
												margin-bottom: 45px;
												grid-template-columns: repeat(2, 1fr);
											}
											&.item2 {
												grid-template-columns: repeat(3, 1fr);
												@media screen and (max-width: 599px) {
													grid-template-columns: repeat(2, 1fr);
												}
											}
										}
									}
									& dl.submit {
										& dt {
											padding-bottom: 5px;
											margin-bottom: 5px;
											font-weight: bold;
											border-bottom: solid 1px #CCCCCC;
											max-width: 590px;
										}
										& dd {
											margin-left: 0;
											display: grid;
											gap: 15px;
											align-items: center;
											grid-template-columns: 590px 1fr;
											grid-template-areas: "text image";
											@media screen and (max-width: 599px) {
												grid-template-columns: 53.33vw 1fr;
											}
											& div.text {
												grid-area: text;
												& p {
													margin: 0;
												}
											}
											& figure.image {
												grid-area: image;
												margin: 0;
												width: 100%;
												& img {
													width: 100%;
													height: auto;
													display: block;
													object-fit: cover;
												}
											}
										}
										&.submit1 {
											& dd {
												& figure.image {
													& img {
														width: 50%;
														@media screen and (max-width: 599px) {
															width: 100%;
														}
													}
												}
											}
										}
									}
									& .note {
										margin-top: -1em;
										font-size: 87.5%;
										padding-left: 1em;
										text-indent: -1em;
										&::before {
											content: "※";
											color: var(--colorMain);
										}
									}
								}
								&.company {
									& div.message {
										display: grid;
										grid-template-columns: 300px 1fr;
										grid-template-areas: "image text";
										gap: 40px;
										@media screen and (max-width: 599px) {
											grid-template-columns: auto;
											grid-template-areas: "image" "text";
											gap: 5.333vw;
										}
										& div.message-text {
											grid-area: text;
											& p {
												margin-top: 0;
											}
										}
										& figure {
											margin: 0;
											grid-area: image;
										}
									}
									& table {
										margin-bottom: 40px;
										border-top: solid 1px var(--colorG1);
										& th {
											padding: 20px 15px;
											border-bottom: solid 1px var(--colorG1);
											vertical-align: top;
											text-align: left;
											font-weight: bold;
											white-space: nowrap;
										}
										& td {
											padding: 20px 15px 20px 0;
											border-bottom: solid 1px var(--colorG1);
										}
									}
									& div.access {
										display: grid;
										grid-template-columns: 1fr 1fr;
										gap: 60px;
										@media screen and (max-width: 599px) {
											grid-template-columns: auto;
											gap: 9.333vw;
										}
										& dl {
											& dd {
												margin-left: 0;
											}
										}
										&>dl {
											&>dt {
												margin-bottom: 0;
												display: grid;
												grid-template-columns: 1.5em 1fr;
												align-items: start;
												font-weight: bold;
												&::before {
													content: "";
													grid-column: 1;
													width: 1em;
													height: 1em;
													border-radius: 50%;
													background-color: var(--colorMain);
													margin-top: 0.35em;
												}
											}
											&>dd {
												& p {
													margin: 0;
												}
												& dl {
													margin-top: 1em;
													& dt {
														margin-bottom: 0.2em;
														font-weight: bold;
														display: flex;
														gap: 5px;
													}
												}
											}
										}
										& p.map {
											margin-top: 1em;
											text-align: right;
											& img {
												border: solid 1px var(--colorG1);
												border-radius: 5px;
												margin-bottom: 0.2em;
											}
											& a {
												text-decoration: underline;
												color: var(--colorMain);
											}
										}
									}
								}
								&.catalog {
									& p.catalog {
										margin-inline: auto;
										max-width: 400px;
										& img {
											border: solid 1px var(--colorG1);
											vertical-align: top;
											&:hover {
												opacity: 0.8;
											}
										}
									}
									& p.image {
										text-align: center;
									}
									& div.member {
										& ul.catalog {
											display: grid;
											grid-template-columns: 1fr 1fr;
											gap: 40px;
											list-style-type: none;
											padding-left: 0;
											@media screen and (max-width: 599px) {
												grid-template-columns: auto;
												gap: 8vw;
											}
											& li {
												font-weight: bold;
												& img {
													margin-top: 8px;
													border: solid 1px var(--colorG1);
													vertical-align: top;
													&:hover {
														opacity: 0.8;
													}
												}
											}
										}
									}
								}
								&.strength {
									&>h3 {
										&::before {
											content: "●";
											color: var(--colorMain);
										}
									}
									& div.card-wrapper {
										display: grid;
										grid-template-columns: 1fr 1fr;
										gap: 50px;
										@media screen and (max-width: 599px) {
											grid-template-columns: auto;
											gap: 8vw;
										}
										& article {
											background-color: rgb(255, 253, 234);
											border: 1px solid rgb(229, 240, 234);
											border-radius: 8px;
											padding: 30px 20px;
											display: flex;
											flex-direction: column;
											align-items: center;
											@media screen and (max-width: 599px) {
												padding: 4vw;
												flex-direction: row;
												align-items: flex-start;
												gap: 4vw;
											}
											& div.icon {
												width: 100px;
												height: 100px;
												background-color: var(--colorMain2);
												border-radius: 50%;
												display: flex;
												justify-content: center;
												align-items: center;
												padding: 20px;
												box-sizing: border-box;
												@media screen and (max-width: 599px) {
													width: 12vw;
													height: 12vw;
													flex-shrink: 0;
													padding: 2.667vw;
												}
												& img {
													width: 100%;
													height: 100%;
													object-fit: contain;
													@media screen and (max-width: 599px) {
														width: 8vw;
													}
												}
											}
											& h3 {
												margin: 15px 0 7px;
												color: var(--colorMain);
												font-weight: bold;
												font-size: 19px;
												text-align: center;
												@media screen and (max-width: 599px) {
													margin-top: 0;
													font-size: 4.267vw;
													text-align: left;
												}
											}
											& div.text {
												text-align: left;
												& p {
													margin: 0;
													&:not(:last-child) {
														margin-bottom: 1em;
													}
													@media screen and (max-width: 599px) {
														font-size: 3.467vw;
													}
												}
											}
										}
									}
									&>p.image {
										@media screen and (max-width: 599px) {
											max-width: 100%;
											overflow-y: scroll;;
											&>img {
												max-width: none;
												width: auto;
												height: 80vw;
											}
										}
									}
								}
								&.faq {
									& dl {
										& dd {
											margin-left: 0;
										}	
									}
									& div.faq-list {
										& a {
											text-decoration: underline;
											color: var(--colorSub);
										}
										&>dl {
											&>dt {
												font-weight: bold;
												padding-left: 30px;
												text-indent: -30px;
												font-size: 18px;
												&::before {
													content: "Q";
													display: inline-block;
													margin-right: 4px;
													border-radius: 50%;
													width: 26px;
													height: 26px;
													font-size: 16px;
													box-sizing: border-box;
													color: var(--colorW);
													background-color: var(--colorMain);
													text-align: center;
													text-indent: 0;
												}
											}
											&>dd {
												& dl {
													& dt {
														margin-bottom: 0.3em;
														font-weight: bold;
													}
													& dd {
														margin-bottom: 1.4em;
													}
												}
											}
										}
									}
								}
								&.rule {
									& ol {
										&>li {
											margin-bottom: 0.3em;
										}
									}
								}
							}
						}
					}
					&.main--news-detail {
						& p {
							margin-bottom: 1em;
							line-height: 1.6;
						}
						& p.button {
							&>a {
								display: inline-block;
								margin-bottom: 0.4em;
								padding: 10px 20px;
								border-radius: 15px;
								color: var(--colorText);
								background-color: var(--colorSub);
								text-decoration: none;
								line-height: 1.0;
								&:hover {
									text-decoration: none;
									opacity: 0.7;
								}
							}
						}
						& section.__to-list {
							text-align: right;
						}
					}
					&.main--howto {
						& h2 {
							margin-top: 50px;
							padding-left: 15px;
							font-size: 24px;
							font-weight: bold;
							position: relative;
							&::before {
								content: "";
								display: block;
								width: 6px;
								height: 30px;
								border-radius: 3px;
								position: absolute;
								top: 3px;
								left: 0;
								background-color: var(--colorMain);
							}
						}
						& h3 {
							&::before {
								content: "●";
								color: var(--colorMain);
							}
						}
					}
					&.main--product-list {
						&>section.__control {
							margin-top: 0;
							& div.__select {
								& form#sortForm {
									& select {
										& option {
											&[value="jyodai-ASC"],
											&[value="jyodai-DESC"] {
												display: none;
											}
										}
									}
								}
							}
						}
						&>section.__child {
							margin-top: 0;
							margin-bottom: 30px;
						}
						&>section.__list {
							&.p-product-block {
								padding-top: 30px;
								@media screen and (max-width: 959px) {
									padding: 30px 20px;
								}
								@media screen and (max-width: 599px) {
									padding: 4.333vw 4vw;
								}
								&>ul.__product {
									padding: 0;
									display: grid;
									grid-template-columns: repeat(4, 1fr);
									gap: 30px 15px;
									@media screen and (max-width: 599px) {
                                        grid-template-columns: repeat(2, 1fr);
                                    }
									&>li {
										padding: 0;
                                        width: auto;
										& div.__photo {
											aspect-ratio: 1 / 1;
											& img {
												width: 100%;
												height: auto;
												display: block;
												object-fit: cover;
												background-color: #ddd;
												border: solid 1px var(--colorG1);
												aspect-ratio: 1 / 1;
												max-height: none;
											}
										}
									}
								}
							}
						}
						&.main--product-list-category {
							&>section.__breadcrumb {
								&>ul.__list {
									&>li {
										&:nth-child(2) {
											pointer-events: none;
											text-decoration: none;
										}
									}
								}
							}
						}
					}
					&.main--product-detail {
						& form[action*="product.php"] {
							& section {
								&.__add-cart {
									& button.__submit {
										font-size: 0;
										padding: 12px 20px;
										border-radius: 6px;
										min-width: 234px;
										&::before {
											font-size: 20px;
											content: "商品を選択";
										}
										@media screen and (max-width: 599px) {
											min-width: 54.08vw;
											padding: 2.667vw 4.533vw;
											&::before {
												font-size: 4.533vw;
											}
										}
									}
								}
							}
						}
						& section.__common-content-bottom {
							margin-top: 40px;
							@media screen and (max-width: 599px) {
								margin-top: 10.667vw;
							}
							& div.item-contact {
								&>p {
									margin-top: 0;
									text-align: center;
								}
								padding: 35px 0;
								background-color: var(--colorMain2);
								@media screen and (max-width: 599px) {
									padding: 5.333vw;
								}
								&>ul {
									margin-bottom: 0;
									padding-left: 0;
									list-style-type: none;
									text-align: center;
									&>li {
										display: inline-block;
										vertical-align: top;
										@media screen and (max-width: 599px) {
											display: block;
										}
										&:first-child {
											@media screen and (max-width: 599px) {
												margin-bottom: 15px;
											}
										}
										&>a {
											border-radius: 30px;
											display: block;
											background-color: var(--colorSub);
											width: 300px;
											box-sizing: border-box;
											padding: 20px 0;
											font-weight: bold;
											&:hover {
												text-decoration: none;
												opacity: 0.8;
											}
											@media screen and (max-width: 599px) {
												width: 100%;
											}
										}
									}
								}
							
							}
						}
					}
					& section.__to-home {
						margin-top: 30px;
						text-align: right;
					}
				}
				&>aside.aside {
					padding-top: 40px;
					padding-right: 0;
					@media (min-width: 1280px) {
						width: 230px;
					}
					@media (min-width: 960px) {
						width: 230px;
					}
					&>section {
						& h3 {
							&.__heading.__heading--default {
								margin-bottom: 20px;
								padding: 12px 18px;
								border-radius: 20px;
								color: var(--colorW);
								background-color: var(--colorMain);
								border: none;
								font-size: 16px;
								line-height: 1.0;
								@media screen and (max-width: 959px) {
									border-radius: 0;
								}
								@media screen and (max-width: 599px) {
									font-size: 3.5vw;
									border-radius: 0;
								}
							}
						}
						&.__block {
							@media screen and (max-width: 959px) {
								margin: 30px 0;
							}
							@media screen and (max-width: 599px) {
								margin: 6.12vw 0;
							}
							&>div.__body {
								@media screen and (max-width: 599px) {
									padding: 0 3.846vw;
								}
							}
						}
						&.__block--category {
							@media screen and (max-width: 599px) {
								display: none;
							}
							& h3 {
								display: none;
							}
							&>div.__body {
								&>ul.__tree {
									&>li {
										&.__item--text {
											border-top: 0;
											border-bottom: 0;
										}
										&.__item--text+li.__item--text {
												margin-top: 30px;
										}
										&.__item--has-children {
											@media screen and (max-width: 959px) {
												pointer-events: none;
											}
											&>span.__js-toggle {
												@media screen and (max-width: 959px) {
													pointer-events: none;
													display: none;
												}
											}
											&>ul {
												@media screen and (max-width: 959px) {
													padding: 0 20px;
													display: block;
													pointer-events: auto;
												}
											}
										}
										&>a {
											margin-bottom: 10px;
											padding: 12px 18px;
											border-radius: 20px;
											color: var(--colorW);
											background-color: var(--colorMain);
											border: none;
											font-size: 16px;
											font-weight: bold;
											line-height: 1.0;
											pointer-events: none;
											@media screen and (max-width: 959px) {
												border-radius: 0;
											}
											@media screen and (max-width: 599px) {
												font-size: 3.5vw;
											}
										}
										&>ul {
											padding-left: 0;
											&>li {
												font-size: 13px;
												&:not(:last-child) {
													border-bottom: solid 1px var(--colorG1);
												}
												&>a {
													border-top: 0;
													padding: 10px;
													&::after {
														content: "";
														display: block;
														width: 10px;
														height: 10px;
														border-right: solid 1px var(--colorText);
														border-bottom: solid 1px var(--colorText);
														transform: rotate(-45deg) translateY(-50%);
														position: absolute;
														top: 50%;
														right: 10px;
														@media screen and (max-width: 959px) {
															right: 0;
															/* width: 7px;
															height: 7px; */
															width: 0.86vw;
															height: 0.86vw;
														}
														@media screen and (max-width: 599px) {
															width: 1.5vw;
															height: 1.5vw;
															right: 1vw;
														}
													}
												}
											}
										}
									}
								}
							}
						}
						&.__block--search {
							@media screen and (max-width: 599px) {
								display: none;
							}
						}
						&.__block--login {
							@media screen and (max-width: 599px) {
								display: none;
							}
						}
						&.__block--cart {
							@media screen and (max-width: 599px) {
								display: none;
							}
						}
						&.__block--feature {
							&>h3.__heading.__heading--default {
								margin-bottom: 10px;
							}
							&>div.__body {
								&>ul {
									padding-left: 0;
									&>li {
										font-size: 13px;
										&:not(:last-child) {
											border-bottom: solid 1px var(--colorG1);
										}
										&>a {
											border-top: 0;
											padding: 10px;
											display: block;
											position: relative;
											&::after {
												content: "";
												display: block;
												width: 10px;
												height: 10px;
												border-right: solid 1px var(--colorText);
												border-bottom: solid 1px var(--colorText);
												transform: rotate(-45deg) translateY(-50%);
												position: absolute;
												top: 60%;
												right: 10px;
												@media screen and (max-width: 959px) {
													right: 15px;
													/* width: 7px;
													height: 7px; */
													width: 0.86vw;
													height: 0.86vw;
												}
												@media screen and (max-width: 599px) {
													width: 1.5vw;
													height: 1.5vw;
													right: 1vw;
												}
											}
										}
									}
								}
							}
						}
						&.__block--calendar {
							&::before {
								content: "営業日カレンダー";
								padding: 12px 18px;
								border-radius: 20px;
								color: var(--colorW);
								display: block;
								background-color: var(--colorMain);
								border: none;
								font-size: 16px;
								font-weight: bold;
								line-height: 1.0;
								@media screen and (max-width: 959px) {
									border-radius: 0;
								}
								@media screen and (max-width: 599px) {
									font-size: 3.5vw;
									border-radius: 0;
								}
							}
							&>ul {
								@media screen and (max-width: 959px) {
									padding: 0 20px;
									display: grid;
									grid-template-columns: repeat(2, 1fr);
									grid-template-rows: 1fr;
									gap: 15px;
								}
								@media screen and (max-width: 599px) {
									padding: 0 3.846vw;
								}
								&::before {
									@media screen and (max-width: 959px) {
										display: none;
									}
								}
								&::after {
									@media screen and (max-width: 959px) {
										display: none;
									}
								}
								&>li {
									margin-top: 0;
									margin-bottom: 0;
									padding: 0;
									@media screen and (max-width: 959px) {
										float: none;
										width: 100%;
									}
									&>table.cal {
										border-collapse: collapse;
										&>thead {
											&>tr {
												&>th {
													padding-top: 15px;
													padding-bottom: 6px;
													font-size: 14px;
													text-align: left;
												}
											}
										}
										&>tbody {
											background-color: rgb(247, 247, 247);
											&>tr {
												&:nth-child(2) {
													&>td {
														padding-top: 8px;
													}
												}
												&>th {
													padding: 6px 0;
													font-size: 12px;
													&:nth-child(1) {
														color: rgb(221, 154, 131) !important;
													}
													&:nth-child(7) {
														color: var(--colorMain3) !important;
													}
												}
												&>td {
													padding: 6px 0;
													border: 0;
													color: var(--colorText);
													font-size: 12px;
													/* font-weight: bold; */
													@media screen and (max-width: 599px) {
														font-size: 3.467vw;
													}
													&.w0 {
														&>span {
															color: rgb(221, 154, 131) !important;
														}
													}
													&.w6 {
														&>span {
															color: var(--colorMain) !important;
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		&.wrapper--column-1 {
			&>div.__inner {
				&>div.main {
					@media screen and (max-width: 959px) {
						padding: 0 30px 30px;
					}
					&.main--cart {
						&>section {
							&.__heading {
								& h1 {
									font-size: 0;
									&::before {
										font-size: 27px;
										content: "現在選択中の商品";
									}
									@media (max-width: 599px) {
										&::before {
											font-size: 6.24vw;
										}
									}
								}
							}
							&.__shipping-wrap {
								& div.__shipping {
									& div.__shipping-cost-alert {
										display: none;
									}
									& h2.__shipping-title {
										display: none;
									}
									& div.__control {
										& ul {
											& li {
												&.__to-estimate {
													& button.__button {
														border-color: var(--colorSub);
														color: var(--colorText);
														& span {
															font-size: 0;
															&::before {
																font-size: 15px;
																content: "仮見積りへ進む";
															}
														}
													}
												}
												&.__add-bookmark,
												&.__to-order {
													display: none;
												}
											}
										}
									}
								}
							}
						}
					}
					&.main--order-confirm {
						& form[action$="estimate_confirm.php"] {
							& section.__submit {
								& span {
									font-size: 0;
									&::before {
										font-size: 20px;
										content: "仮見積りを作成する";
									}
								}
							}
						}
					}
					&.main--mypage {
						& nav.__menu {
							& ul {
								& li.__item--bookmark-list {
									display: none;
								}
							}
						}
					}
					&.main--mypage-estimate-detail {
						& form[action*="my_estimate"] {
							&>section.__order {
								display: none;
							}
						}
					}
					&.main--mypage-order-reorder {
						& form[action*="reorder"] {
							&>section.__add-cart {
								& span {
									font-size: 0;
									&::before {
										font-size: 20px;
										content: "商品を選択する";
									}
								}
							}
						}
					}
					&.main--mypage-bookmarklist-index {
						& form[action*="bookmark_list"] {
							& div.__submit {
								& span {
									font-size: 0;
									&::before {
										font-size: 20px;
										content: "商品を選択する";
									}
								}
							}
						}
					}
				}
			}
		}
	}
	&>footer.footer {
		padding-top: 40px;
		padding-bottom: 15px;
		color: var(--colorW);
		background-color: var(--colorText);
		min-width: 1100px;
		@media screen and (max-width: 959px) {
			min-width: 0;
			padding: 15px;
		}
		@media (max-width: 599px) {
			padding-top: 7.5vw;
			padding-bottom: 3.25vw;
			min-width: 0;
		}
		& * {
			margin: 0;
			padding: 0;
		}
		&>div.body {
			margin-inline: auto;
			width: 1100px;
			display: flex;
			@media screen and (max-width: 959px) {
				width: 100%;
			}
			@media screen and (max-width: 599px) {
				max-width: 100%;
				width: auto;
			}
			justify-content: space-between;
			@media (max-width: 599px) {
				display: block;
				padding-left: 5vw;
			}
			&>dl {
				@media (max-width: 599px) {
					margin-bottom: 7.5vw;
				}
				&>dt {
					max-width: 300px;
					@media (max-width: 599px) {
						margin-bottom: 2.75vw;
					}
					&>img {
						width: 100%;
						height: auto;
						@media (max-width: 599px) {
							vertical-align: top;
						}
					}
				}
				&>dd {
					font-size: 15px;
					list-style: 1.4;
					@media (max-width: 599px) {
						font-size: 3.75vw;
					}
				}
			}
			&>ul {
				margin-left: auto;
				padding-top: 5px;
				display: grid;
				grid-template-rows: repeat(4, auto);
				grid-template-columns: repeat(4, 1fr);
				grid-auto-flow: column;
				column-gap: 20px;
				list-style-type: none;
				@media screen and (max-width: 959px) {
					grid-template-rows: none;
					grid-template-columns: repeat(2, 1fr);
					grid-auto-flow: unset;
				}
				@media (max-width: 599px) {
					display: none;
				}
				&>li {
					margin-bottom: 1em;
					break-inside: avoid;
					font-size: 14px;
					@media screen and (max-width: 959px) {
						font-size: 12px;
					}
					&:nth-last-child(-n + 4) {
						font-size: 12px;
					}
					&>a {
						color: var(--colorW);
					}
				}
			}
		}
		&>p.copyright {
			margin-inline: auto;
			max-width: 1100px;
			font-size: 10px;
			@media (max-width: 599px) {
				padding-left: 5vw;
				font-size: 2.5vw;
			}
		}
	}

	div.jconfirm {
		& div.jconfirm-box {
			&.jconfirm-type-green {
				& div.jconfirm-title-c {
					& span.jconfirm-title {
						font-size: 0;
						&::before {
							font-size: 22px;
							content: "商品を選択しました";
						}
						@media screen and (max-width: 599px) {
							font-size: 5.867vw;
						}
					}
				}
				& div.jconfirm-content-pane {
					& div.jconfirm-content {
						& a.__link {
							font-size: 0;
							&:hover {
								opacity: 0.8;
								text-decoration: none;
							}
							&::before {
								font-size: 18px;
								content: "選択内容を確認する";
								text-decoration: underline;
								color: var(--colorMain);
							}
							@media screen and (max-width: 599px) {
								font-size: 3.467vw;
							}
						}
					}
				}
			}
		}
	}
}