/*-----------------------------------------------*/
/*-------------------- color --------------------*/
/*-----------------------------------------------*/
@site_color:#c8aa8b;
@white:#ffffff;
@black:#191919;
@l_black:#333333;
@gray:#d9d9d9;
@l_gray:#eeeeee;
@d_gray:#777777;
@dd_gray:#555555;
@red:#d85656;
@d_red:#a53a3a;
@yellow:#e5a82e;
@green:#59b559;
@d_yellow:#bb8210;
@blue:#285ec9;
@d_blue:#163b84;
@l_green:#3cad19;
@green:#063d1d;
@d_green:#287528;
@violet:#8243c4;
@d_violet:#58278c;
@sky:#5ec2d2;
@brown:#926834;
@orange:#DF691E;
@pink:#fdc0c0;
@brown:#865c4a;
@thin_brown:#aa8d5e;
@site_font:'SawarabiMincho';
@site_logo:url(/images/hp_background.webp);


/*----------------------------------------------*/
/*-------------------- font --------------------*/
/*----------------------------------------------*/
@font-face{
	font-family:'gilsan_light';
	src:url('/fonts/GillSansStdLight.otf');
}

@font-face{
	font-family:'gilsan_medium';
	src:url('/fonts/GillSansStd.otf');
}

@font-face{
	font-family:'opensans_regular';
	src:url('/fonts/OpenSans-Regular.ttf');
}
@font-face{
	font-family:'opensans_bold';
	src:url('/fonts/OpenSans-Bold.ttf');
}
@font-face{
	font-family:'YuGothicBold';
	src:url('/fonts/Yu Gothic Bold.otf');
}
@font-face{
	font-family:'Akz_R';
	src:url('/fonts/Akzidenz_Grotesk_Next_Regular.otf');
}

@font-face{
	font-family:'Akz_L';
	src:url('/fonts/Akzidenz_Grotesk_Next_Light.otf');
}
@font-face{
	font-family:'Crim';
	src:url('/fonts/CrimsonText-Regular.ttf');
}
@font-face{
	font-family:'Libre';
	src:url('/fonts/LibreBaskerville-Regular.ttf');
}
@font-face{
	font-family:'Roboto';
	src:url('/fonts/Roboto-Regular.ttf');
}

@font-face{
	font-family:@site_font;
	src:url('/fonts/SawarabiMincho-Regular.ttf');
}

/*------------------------------------------------*/
/*-------------------- common --------------------*/
/*------------------------------------------------*/
html, body{
	width:100%;
	height:100%;
	margin:0 auto;
	padding:0;
	font-family:@site_font;
	font-size:14px;
	color:@black;
	letter-spacing:0.5px;
	touch-action: manipulation;
}
body{
	background-image:@site_logo;
	background-size:contain;
}
*{
    box-sizing:border-box;
}
h1, h2, h3, h4, h5, h6, p, dl, dt, dd{
	margin:0;
}
a{
	font-size:14px;
	color:@black;
	text-decoration:none;
}
a:hover{
	text-decoration:none;
}
img{
	vertical-align:bottom;
}
ul,{
	margin:0;
	padding:0;
	
	li{
		list-style:none
	}
}
.pc{
	display:block;
}
.table_pc{
	display:table-cell;
}
.sp{
	display:none;
}
.sp1000{
	display:block;
}
.error{
	background-color:@pink !important;
	color:#000 !important;
}
.text-center{
	input{
		height:35px !important;
		width:170px !important;
	}
	input[type="button"].error{
		background-image:unset !important;
		border:1px solid @pink !important;
	}
}
.right{
	text-align:right;
}

a, button, select{
	cursor:pointer;
}
address, input{
	font-family:@site_font;
}
input, textarea, select{
	background:@white !important;
}

.thin_brown{
	background-color:@thin_brown;
}
.red{
	background-color:@red;
}
#payjp_checkout_box{
	margin-bottom:10px;
}
#payjp_checkout_box input[type=button]{
	background-color: #198fcc !important;
}
#payjp_checkout_box input[type=button].has-token{
	background-color: #469C46 !important;
}
/*------------------------------------------------*/
/*-------------------- HEADER --------------------*/
/*------------------------------------------------*/
header{
    width:100%;
    transition:0.3s;
    background:@white;
	height:70px;
	position:fixed;
    z-index:999;
    top:0;
    left:0;
	right:0;
}

.header_container{
	position:relative;
	margin:0 auto;
	display:flex;
	align-items:center;;
	justify-content:space-between;
	padding:15px;
	box-sizing:border-box;
	background:@white;
	z-index:3;
	height:100%;

	h1{
		max-width:135px;;
		font-size:30px;
		z-index:2;

		a{
			display:flex;
    		align-items:center;
		}

		img{
			width:100%;
		}
	}

	.hamburger_btn{
		position:relative;
		width:35px;
		height:35px;
		cursor:pointer;

		svg{
			width:45px;
			height:45px;
		}


		span{
			position:absolute;
			left:0;
			width:34px;
			height:2px;
			background-color:@black;
			box-sizing:border-box;
		}
		.top{
			top:10px;
		}
		.middle{
			top:21px;
		}
		.bottom{
			top:31px;
		}
	}
}

.login_action{
	cursor:pointer;

	.login_icon{
		fill:@black;
	}

	ul{
		visibility:hidden;
		opacity:0;
		position:absolute;
		transition:all 0.5s ease;
		right:40px;
		top:36px;
		display:none;
		text-align:center;
		background:#fff;
		z-index:10;
		border-radius:3px;
		margin-top:10px;
		padding:30px 20px 5px;

		li{
			padding-bottom:15px;
			padding-right:0;
			

			a{
				font-size:13px;
			}
			a:hover{
				color:@brown;
				transition:0.3s;
			}
		}
	}

	.login_user{
		right:15px;
	}
}

.login_action:hover{

	ul{
		visibility:visible;
		transition:all 0.5s ease;
		opacity:1;
		display:block;
	}
}


.cart_action{
	position:relative;
	display:block;
}

.cart_count{
	display: block;
	width: 30px;
	height: 20px;
	background-color:@brown;
	color: #fff;
	border-radius: 11px;
	text-align: center;
	font-size: 11px;
	line-height: 21px;
	position: absolute;
	top: -10px;
	right: -23px;
}

.menu_nav{
	position:fixed;
    top:0;
    right:-100%;
    width:100%;
    max-width:250px;
    height:100%;
    z-index:101;
    overflow:auto;
    -webkit-transition:0.3s;
    transition:0.3s;
	background-image:@site_logo;
	background-size:contain;

	h2{
		padding:20px 0;
		text-align:center;

		img{
			width:100px;
		}
	}

	.nav_header{
		height:70px;
	}
	.close_btn{
		position:absolute;
		top:23px;
		right:15px;
		cursor:pointer;
		width:25px;
		height:25px;
	
		.line {
			position:absolute;
			top: 50%;
			left: 50%;
			width:20px;
			height:1px;
			border-radius:2px;
			background:@black;
			transform-origin:center;
			transform:translate(-50%, -50%) rotate(45deg);
			
			&:nth-child(2) {
				transform: translate(-50%, -50%) rotate(-45deg);
			}
		}
	}
	ul{
		margin:0 15px;

		li{
			position:relative;
			margin-bottom:15px;

			a{
				position:relative;
				display:block;
				font-size:16px;
				transition:0.3s;
				padding-left:10px;
			}

			.child::before{
				content:'';
				width:4px;
				height:1px;
				position:absolute;
				bottom:50%;
				left:0;
				transition:.3s;
				transform:translateY(50%);
				background:@black;
			}
			.child:hover::before{
				width:100%;
			}

			ul{
				li{
					a{
						font-size:14px;
					}
				}
			}
		}
		.down_btn{
			position:absolute;
			right:5px;
			top:8px;
			width:20px;
			text-align:center;
			cursor:pointer;
			border:none;
    		background:none;
		}
	}
}
body.over_hidden{
	overflow:hidden;
}
.cover_bg{
	position:fixed;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:rgba(0, 0, 0, 0.3);
    z-index:100;
	transition:0.3s;
}
.cover_bg.open{
	right:0;
	transition:.3s;
}
.menu_nav.active{
	right:0;
	transition:.3s;
}
.visible{
	display:block !important;
	transition: all .4s ease-out;
	height:100%;
	overflow:hidden;
}


/**/
.nav_icon{
	display:flex;
    align-items:center;
    gap:40px;

	li{
		i{
			color:#575757;
		}
		.hamburger{
			position:relative;
			cursor:pointer;
			width:16px;
			height:16px;
		}
	}
}

.mb_search_area{
	display:none;
}

.line {
	position:absolute;
	left:0;
	width:15px;
	height:1px;
	background-color:#575757;
	top:0px;
  }
  
  .line:nth-child(2){
	top: 7px;
  }
  
  .line:nth-child(3){
	/* width: 15px; */
	top:14px;
  }

  .hamburger.active .line{
	background-color: #000;
  }
  
  /*アニメーション*/
  .animation {
	transition: all .6s;
  }

.header_center_contens{
	display:flex;
    align-items:center;
    gap:30px;
}

.search_area{
	display:flex;
	justify-content:space-between;
	align-items:center;
	overflow:hidden;
	border:1px solid #575757;
	border-radius:3px;
	background:@white;

	input{
		width: 250px;
		height: 30px;
		padding: 5px 15px;
		border: none;
		box-sizing: border-box;
		font-size: 1em;
		outline: none;
	}

	input::placeholder{
		color:#575757;
	}

	button{
		display:flex;
		justify-content: center;
		align-items: center;
		width:40px;
		height:34px;
		border:none;
		background-color:#575757;
		cursor:pointer;
	}
	button::after{
		content:'';
		width:15px;
		height:15px;
		background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
		background-repeat:no-repeat;
	}
}
.mb_search, .mb_search_area{
	display:none;
}
/*-------------------------------------------------*/
/*-------------------- TOPPAGE --------------------*/
/*-------------------------------------------------*/
main{
	width:100%;
	/* max-width:1200px; */
	margin:70px auto 0;
	text-align:center;
}

.top_mv{
	img{
		width:100%;
	}
	/* margin:100px auto 0;
	width:350px;
	height:500px; */
	/* background:url('/images/mv.webp') center no-repeat;
	background-size:contain; */


	svg{
		position:absolute;
		left:0;
		top:50%;
		transform:translate(0,-50%);
		padding:0 20px;
		width:350px;

		text{
			fill:@black;
			stroke:@white;
			stroke-width:1;
			font-family:@site_font;
			font-size:135px;
			font-weight:normal;
			
			stroke-dasharray:500;
			stroke-dashoffset:500;
			-webkit-animation:draw 3s forwards;
			-moz-animation:draw 3s forwards;
			-o-animation:draw 3s forwards;
			-ms-animation:draw 3s forwards;
			animation:draw 5s forwards;
		}
	}
	@-webkit-keyframes draw{
		0%{
			fill:@black;
			stroke-dashoffset:500;
		}
		90%{
			fill:@black;
			stroke-dashoffset:0;
		}
		100% {
			fill:@white;
			stroke-dashoffset:0;
		}
	}
	@-moz-keyframes draw{
		0%{
			fill:@black;
			stroke-dashoffset:500;
		}
		90%{
			fill:@black;
			stroke-dashoffset:0;
		}
		100% {
			fill:@white;
			stroke-dashoffset:0;
		}
	}
	@-o-keyframes draw{
		0%{
			fill:@black;
			stroke-dashoffset:500;
		}
		90%{
			fill:@black;
			stroke-dashoffset:0;
		}
		100% {
			fill:@white;
			stroke-dashoffset:0;
		}
	}
	@-ms-keyframes draw{
		0%{
			fill:@black;
			stroke-dashoffset:500;
		}
		90%{
			fill:@black;
			stroke-dashoffset:0;
		}
		100% {
			fill:@white;
			stroke-dashoffset:0;
		}
	}
	@keyframes draw{
		0%{
			fill:@black;
			stroke-dashoffset:500;
		}
		90%{
			fill:@black;
			stroke-dashoffset:0;
		}
		100% {
			fill:@white;
			stroke-dashoffset:0;
		}
	}

	#name{
		position:relative;
		left:50%;
		top:50%;
		transform:translate(-50%, -50%);
		animation:fill 1.5s ease forwards 0.5s;
		width:459px;
		height:60px;
		stroke:white; 
		stroke-width:3;
		opacity:0.7;
	}
	/* .cls-1{
		fill:#ffffff;
	} */
	
	#name path{
		stroke-dasharray:1500;
		stroke-dashoffset:1500;
		-webkit-animation:line-anim 2.5s ease forwards;
			/* -moz-animation:line-anim 2s ease forwards;
			-o-animation:line-anim 2s ease forwards;
			-ms-animation:line-anim 2s ease forwards;
			animation:line-anim 2s ease forwards; */
		/* animation:line-anim 2s ease forwards; */
	}

	#name path:nth-child(5){
		stroke-dasharray:1500;
		stroke-dashoffset:1500;
		animation:line-anim 1s ease forwards 0.1s;
	}
	#name path:nth-child(6){
		stroke-dasharray:1500;
		stroke-dashoffset:1500;
		animation:line-anim 2s ease forwards 0.5s;
	}

	@-webkit-keyframes line-anim{
		0%{
			stroke-dashoffset:1500;
		}
		90%{
			stroke-dashoffset:0;
		}
		100% {
			stroke-dashoffset:0;
		}
	}

	
	@keyframes fill{
		0%{
			fill:@black;
		}
		100% {
			fill:@white;
		}
	}
}

.top_meaning{
	padding-top:50px;
	color:@black;
	letter-spacing:3px;
	
	h2{
		font-size:20px;
		font-family:@site_font;
		margin-bottom:15px;
	}

	p{
		font-weight:600;
		font-family:@site_font;
	}
}

.shop_concept{
	padding:130px 20px 100px;
	max-width:1000px;
	margin:0 auto;


	.slick_slide{
		height:600px;
	}

	img{
		width:100%;
		height:100%;
		object-fit:cover;
	}	
		
	.text{
		padding-top:40px;
		color:@black;
	}
}


/*------slider-------*/
.slide{
	opacity:0;
	transition:opacity 0.1s linear;
}
.slide.slick-initialized{
	opacity:1;
}

.slick-slider{
	.slick-list{
		height:100% !important;
		width:100%;
	}

	img{
		width:100%;
		height:100% !important;
		object-fit:cover;
	}
	.slick-dots{
		bottom:-35px !important;

		button:before{
			content:'•';
			font-family: unset !important;
    		font-size: unset !important;
			background:@black !important;
			border-radius:50%;
			width:13px !important;
			height:13px !important;
		}
	}

}


.product_view{
	max-width:1000px;
    margin:100px auto 0;
    padding:0 20px;
    box-sizing:border-box;

	h2{
		padding-bottom:10px;
		font-size:25px;
	}
	span{
		display:block;
		font-size:13px;
    	color:#5f5b5b;
	}
	h2, span{
		text-align:left;
	}

	.wrapper{
		margin-top:50px;

		h3{
			/* padding:20px 0; */
			
		}
		.img_hover{
			display:inline-block;
			position:relative;
			width:100%;
			height:380px;
		}
		img{
			width:100%;
			height:100%;
			object-fit:contain;
			background:@white;
		}

		a{
			margin:15px;
			span{
				width: 70px !important;
				height: 70px !important;
				top: -12px !important;
				left: -12px !important;
				border: 1px solid #646464;
				border-radius: 100%;
				position: absolute;
				z-index:20;
				background:@white;
				padding: 10px;
				font-size: 10px;
				display: flex;
				justify-content: center;
				align-items: center;
				text-align: center;
			}
		}
	}

	.item_grid{
		display:grid;
		grid-template-columns:repeat(2, 1fr);
		gap:30px;
	}

	.non_products{
		grid-column:~"1/5";
		font-size:17px;
		margin:50px 0;
	}


	dl{
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 15px;
		box-sizing: border-box;

		dt{
			h3{
				font-size:15px;
				padding:0;
			}
		}
		span{
			font-weight:600;
			font-family:@site_font;
		}
		dd:nth-child(3){
			font-size:11px;
		}
		dd:last-child{
			font-size:15px;
		}
	}
	.stock_empty{
		margin:0 auto 20px;
		background:#ccc;
		width:fit-content;
		padding:5px;
	}
}

.product_view--search_section{
	p, span{
		text-align:left;
    	font-size:16px;
	}
	span{
		color:unset;
	}
}

.product_view---act{
	.order_body{
		margin-top:50px;

		dl{
			flex-direction: row;
			padding:0;
			gap:0;

			dd{
				background:@white;
			}
		}
	}
}

.review_contents{
	.review_body{
		.review_top{
			display: grid;
			grid-template-columns:1fr;
			grid-template-rows:200px;
			align-items: start;
			margin:50px 0 20px;
			background:#dfdfdf;
			padding:20px;
	
			img{
				width:100%;
				height:100%;
				object-fit:contain;
				background:@white;
			}
		}
		.input_name{
			input{
				width:100%;
				border:1px solid @gray;
				padding:15px;
			}
		}
		.review_text{
			margin-top:15px;

			textarea{
				width:100%;
				border:1px solid @gray;
				padding:15px;
				resize:none;
			}
		}
		
		p{
			text-align:left;
			margin:50px 0 15px;
			display:flex;
			gap:3px;
			align-items:center;

			strong{
				background:@red;
				color:@white;
				font-size:10px;
				padding:2px 7px;
			}
		}
	}
}

.stars{
	display: flex;
	gap: 5px;
	justify-content: flex-start;

	.star {
		font-size: 50px;
		color:@gray;
		cursor: pointer;
		
	}
	.yellow {
		color: gold;
	}
}

.review_average{
	display:flex;
    align-items:center;
    gap:15px;
    justify-content:center;
	margin-bottom:20px;

	strong{
		font-size:20px;
		span{
			font-size:14px;
    		font-weight:100;
		}
	}
}
.average_stars{
    font-size:24px;
    color:@gray;

	.star.full {
		color:#FFD700;
	}
	
	.star.half {
		position: relative;
		display: inline-block;
	}
	
	.star.half:before {
		content: '\2605'; /* 半分塗りつぶすための星 */
		position: absolute;
		top: 0;
		left: 0;
		width: 50%; /* 半分の幅 */
		overflow: hidden;
		color: #FFD700; /* 半分塗りつぶし（黄色） */
	}
}


.link_area{
	margin-top:30px;
	display:block;

	.link_text{
		position:relative;
		width:180px;
		height:50px;   
		display:inline-flex;
		justify-content:center;
		align-items:center;
		font-size:14px;
		border:1px solid;
		cursor: pointer;
		background:@white;
	}
}



.slider_dots{
	display:flex;
	justify-content:center;
	align-items:center;
	/* grid-gap:10px; */
	margin-top:20px;

	li{
		margin:0 5px;

		button{
			display:block;
			width:10px;
			height:10px;
			padding:0;
			font-size:0;
			line-height:0;
			color:transparent;
			background-color:#888888;
			border-radius:50%;
			border: none;
		}
	}
	li.slick-active{
		button{
			background-color:@brown;
		}
	}
}
/*---浮ぶcss---*/
.product_float{
	transition:.4s;
	display:inline-block;
	position:relative;
	width:100%;

	.img_hover::before {
		content: "";
		width:100%;
		height:100%;
		position:absolute;
		top:0;
		left:0;
		background-color: rgba(255, 255, 255, 0.3);
		opacity:0;
		visibility:hidden;
		transform-origin: top center;
		transform:scale3d(1, 1, 1);
		transition:0.5s;
	}
}

.product_float:hover{
	box-shadow:0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
  	transform:translateY(-2px);
	transition:0.3s;

	.img_hover:before{
		opacity:1;
		transform:scale3d(0, 1, 0);
		visibility:visible;
	}
}


.blog_wrapper{
	display:grid;
    grid-template-columns: 1fr 1fr 1fr;

	.contents{
		a{
			display:flex;
			flex-direction:column;
			gap:20px;
			transition:1s all;

			.img{
				background:@white;
				/* transition: transform 0.3s ease; */
			}

			time{
				text-align:right;
				margin-top:-10px;
			}
		}

		a:hover{
			opacity:0.5;
			img{
				transition:1s all;
				transform:scale(1.2,1.2);
			}
		}
	}
}

/*---active animation---*/
.fade_up_item{
	opacity:0;
	transform:translateX(-50px);
}
/*---文字をfade-Up---*/
.fadeInUpItem{
	animation-name:fadeUpAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}

/*---active animation---*/
.fade_up{
	opacity:0;
	transform:translateX(-10px);
}
/*---文字をfade-Up---*/
.fadeInUp{
	animation-name:fadeUpAnime;
	animation-duration:2.5s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeUpAnime{
	from{
		opacity:0;
		transform:translateY(50px);
	}

	to{
		opacity:1;
		transform:translateY(0);
	}
}


/*----header_on-----*/
.on, .fade_in{
	animation-name:fadeInAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeInAnime{
	from{
		opacity:0;
	}

	to{
		opacity:1;
	}
}

.fadeInTrigger{
    opacity:0;
}

/*------------------------------------------------ß-*/
/*-------------------- PRODUCT --------------------*/
/*-------------------------------------------------*/
.main_item{
	position:relative;
}
.not_item{
	text-align:left;
}
.cucumber{
	text-align:right;
	padding:20px 20px 0 20px;

	li{
		display:inline-block;
	}

	li:nth-child(2):before, li:nth-child(3):before{
		content:" / "
	}
}

.product_wrapper{
	display:grid;
	grid-template-columns:50% 50%;
	align-items:start;
	padding:0 25px 100px;
	margin-top:100px;
	
	.product_slider{
		padding-right:10px;
		position:sticky;
		position:-webkit-sticky;
		top:170px;
	}

	.product_intro{
		padding-left:10px;
	}
}

/*画像選択*/
.multiple_area{
	.category_name{
		display:block;
		text-align:left;
		margin:10px 0;
		font-size:16px;
	}

	ul{
		display:grid;
		grid-template-columns:repeat(3, 1fr);
		gap:20px;



		li{
			border:1px solid @gray;
			background:@white;
			display: flex;
			flex-direction: column;
			gap:15px;
			padding: 10px;
			position:relative;
			/* background-image: url('/images/item_bg.webp');
    		background-size: contain; */

			button.product_open {
				position: absolute;
				right: 5px;
				top: 5px;
				border: 0;
				background-color:rgba(0, 0, 0, 0.6);
				color: @white;
				font-size: 11px;
				display: inline-block;
				width: 80px;
				padding: 3px 8px;
				border-radius: 0px;
				text-align: center;
				cursor: pointer;
				transition: background-color 0.3s ease;
			  
				
				&:hover {
				  background-color: rgba(0, 0, 0, 0.8);
				}
			  
				> span {
				  z-index: 1;
				}
			}
			  

			

			img{
				width:100%;
				height: 200px;
				object-fit: contain;
			}
			.item_detail_content{
				text-align:left;
				p{
					font-size:16px;
				}
				span{
					font-size:12px;
				}
				b{
					display: block;
					font-size:13px;
					color:@red;
				}
			}
		}
	}

	.order_qty{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		
		.qty{
			width:50px;
			font-size:16px;
			font-weight:bold;
			text-align:center;
			background:none;
			border:none;
		}
		input:disabled{
			color:#000 !important;
			-webkit-text-fill-color: #000000;
			opacity: 1;
		}
		button{
			display:flex;
			justify-content:center;
			align-items:center;
			width:30px;
			height:30px;
			font-size:16px;
			color:@white;
			border-radius:50%;
			border:none;
			z-index:5;
	
			&.red{
				background-color:@red;
			}
			&.green{
				background-color:@green;
			}
		}
	}
	strong{
		font-size: 20px;
		display: block;
		text-align: center;
		margin-bottom: 10px;
	}
}




/* product_item cucumber 固定 */
.fixed_box{
	position:sticky;
	position:-webkit-sticky;
	top:75px;
    height:95px;
	z-index:44;
	background:@white;
	margin:0;

	ul{
		padding:30px 20px 0;
	}
}
/* .product_content{
	height:300px;
	overflow:auto;

} */
.product_box{
	margin:30px 0;

	.option_select{
		select{
			height:40px;
		}
	}
	.intro_flex{
		display:flex;
		align-items:center;
		margin-bottom:20px;
	} 
	.p_price{
		font-size:20px;
		margin-bottom:0;
	}
	
	a{
		font-size:18px;
	}
	.intro_img{
		width:100px;
		margin-right:20px;

		img{
			width:100%;
		}
	} 
}
.product_slider{
	.slide{
		height:400px;

		.item {
			position:relative;
			height:100%;

			img{
				position:absolute;
				top:0;
				bottom:0;
				right:0;
				left:0;
				margin:auto;
				width:100%;
				height:100%;
				object-fit:contain;
				background:@white;
			}
		}

		.item:before{
			display:block;
			padding-top:39%;
			content:"";
			position:relative;
			overflow:hidden;
		}

		.slick-list{
			.slick-track{
				height:100% !important;

				.slick-slide{
					div{
						position:relative;
						height:100%;
					}
				}
			}
		}
	}


/* slide-navigation */
	.slide-navigation {
		display:grid;
		grid-template-columns:repeat(4, 1fr);
		grid-gap:15px;
		margin-top:15px;

		.item {
			cursor:pointer;
			overflow:hidden;
			height:100px;
			
			img {
				width:100%;
				height:100%;
				object-fit:contain;
				background:@white;
			}
		}
	}
	.slide_border{
		outline:1px solid #000;
	}
}


.product_intro{
	text-align:left;	

	button{
		background:none;
	}

	h1{
		font-size:30px;
		font-weight:normal;
    	/* font-family:'YuGothicBold'; */
		margin-bottom:15px;
	}

	.pair_content{
		display: flex;
		align-items: baseline;
		gap: 20px;

		a{
			text-decoration:underline;
		}
		i{
			color:#865c4a;
		}
	}

	.p_price{
		font-size:24px;
		margin-bottom:15px;
		color:@black;

		.yen{
			/* font-weight:normal; */
    		/* font-family:'YuGothicBold'; */
		}
	}

	.p_flex{
		display:flex;
		justify-content:space-between;
		align-items:center;
		font-size:24px;
		margin-bottom:15px;

		button{
			border:none;
			font-size:16px;
			color:@black;
		}
		button:hover{
			color:#fa7124;
			transition:0.3s;
		}
	}
	.tax{
		font-size:12px;
		font-weight:600;
    	font-family:@site_font;
	}

	.option_select{
		h4{
			margin-bottom:10px;
		}

		select{
			width:100%;
			height:40px;
			padding:0 10px;
			font-size:16px;
			margin-bottom:25px;
			background:none;
			outline:none;
			-webkit-appearance:none;
   			-moz-appearance:none;
			appearance:none;
			-webkit-border-radius:6px;
			-moz-border-radius:6px;
			border-radius:0px;
			border:1px solid #333;
			color:@black;
			background:url(../images/select_arrow.png) no-repeat right 5px center;
			background-size:14px;
		}
	}

	.btn_wrapper{
		display:flex;
		justify-content:space-between;
		align-items:center;
		margin-bottom:25px;

		.stock_none{
			display:block;
			background:#ccc;
			width:100%;
			height:42px;
			text-align:center;
			padding:10px;
		}

		.p_count{
			width:50%;
			margin-right:5px;
			background:none;
			
			input{
				padding:0 10px;
				border:none;
				width:100%;
				height:42px;
				outline:none;
				font-size:16px;
				font-family:@site_font;
			}

			.quantity{
				outline:none;
				width:100%;
				padding:10px;
				height:42px;
				font-size:16px;
				outline:none;
				-webkit-appearance:none;
				-moz-appearance:none;
				appearance:none;
				-webkit-border-radius:6px;
				-moz-border-radius:6px;
				border-radius:0px;
				background:url(../images/select_arrow.png) no-repeat right 5px center;
				background-size:14px;
				color:@black;
				border:1px solid @green;
			}

			ul{
				padding:3px 5px 0 0;
			}

			.fas{
				color:#333;
				cursor:pointer;
			}
		}

		button{
			border:1px solid @thin_brown;
			padding:5px 10px;
			height:42px;
			color:@black;
		}
		.add_cart{
			width:50%;
			font-size:16px;
			background:@thin_brown;
			color:@white;
			height:44px;
			margin-left:5px;
		}
		.add_cart:hover{
			transition:0.3s;
			color:@black;
			background:@white;
		}
		.buy_now{
			background:#333;
			color:@white;
			width:35%;
			font-size:16px;
		}
		.buy_now:hover{
			background:@white;
			color:@black;
		}
	}

	.shipping_area{
		text-align:center;
		margin-bottom:25px;

		a{
			color:@white;
			background:@black;
			padding:10px 0;
			margin-bottom:25px;
			border:1px solid @white;
			display:block;
		}
		a:hover{
			color:@black;
			background:@white;
			padding:10px 0;
			margin-bottom:25px;
			border:1px solid @black;
		}
	}
	.info_content{
		.content_title{
			display:flex;
			justify-content:space-between;
			border-bottom:1px solid #c5c5c5;
			margin-bottom:25px;
			cursor:pointer;
			
			h3{
				font-size:16px;
				font-weight:bold;
				margin-bottom:5px;
			}

			span{
				cursor:pointer;
			}
		}

		.content_block{
			display:block;
			margin:15px 0 25px;
			font-family:@site_font;
			font-size:14px;

			strong{
				margin-bottom:10px;
			}

			p{
				font-family:@site_font;
			}
			img{
				width:100%;
			}
			/* transition:0.4s; */

		}
	}

}
/*------------------------------------------------*/
/*-------------------- Shop_info -----------------*/
/*------------------------------------------------*/
.shop_page{
	padding:0 20px;

	h2{
		margin-bottom:70px;
		font-size:20px;
	}
	
	/*--shop_concept class--*/
	.concept_img{
		padding-bottom:80px;

		img{
			width:100%;
		}
	}
}

.shop_wrapper{
	/* display:flex;
	justify-content:space-between;
	align-items:center; */
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:20px;
	width:100%;
	padding:100px 70px 80px;
	margin-bottom:100px;
	background:#e7f5ed;

	.shop_flex{
		a{
			margin-left:3px;
		}

		a:hover{
			color:#3cad19;
			transition:.3s;
		}

		h4{
			text-align:left;
			font-size:16px;
			font-weight:400;
			margin-bottom:20px;
		}
		
		p{
			text-align:left;
			margin-bottom:20px;
		}
		span{
			display:block;
			text-align:right;
			margin-top:20px;
		}
	}
	
	.shop_flex_text{
		margin-bottom:20px;
	}
	.shop_flex_img{
		
		img{
			width:100%;
			height:100%;
		}
	}

	/* dl{
		width:50%;
		text-align:left;

		dt{
			font-size:16px;
			margin-bottom:15px;
		}
		dd{
			margin-bottom:15px;

			a{
				margin-left:3px;
			}

			a:hover{
				color:#3cad19;
			}

			span{
				display:block;
				text-align:right;
				padding:40px 0 0 20px;
			}
		}


		dd:last-child{
			width:100%;
			height:400px;
			margin-top:30px;
		}
		img{
			width:100%;
			height:100%;
			object-fit:cover;
		}
	}
	dl:first-child{
		margin-right:15px;
	}
	dl:last-child{
		margin-left:15px;
	} */
}


/*------------------------------------------------*/
/*-------------------- FOOTER --------------------*/
/*------------------------------------------------*/
footer{
	background:@white;
	border-top:1px solid @gray;
	width:100%;
	color:@white;
	padding:20px;
	color:@black;
	margin-top:100px;

	.footer_contens{
		margin:0 auto;
		max-width:1200px;
		display:grid;
		grid-template-columns:repeat(2, 1fr);
		justify-items:stretch;

		> ul{
			display:flex;
			gap:20px;
			justify-content:flex-end;

			li{
				a{
					font-size:13px;
				}
			}
		}
	}

	small{
		display:block;
		text-align:right;
		grid-column:~"2/3";
	}

	address{
		ul{
			display:flex;
			gap:30px;
		}
	}
	/* -------------back_top_btn--------------- */
	.back_top{
		width:45px;
		height:45px;
		position:fixed;
		opacity:0;
		border-radius:50%;
		z-index:3;
		display:block;

		a{
			color:#333;
			position:fixed;
			bottom:24px;
			right:80px;
			text-decoration:none;
			display:block;
			width:100px;
			padding:16px 20px;
			text-align: right;
			transform: rotate(90deg);
			transform-origin: bottom right;
		}
		  
		.arrow1{
			width: 48px;
			height: 1px;
			background: #333;
			position: absolute;
			top: 50%;
			right: 62px;
		}
		  
		.arrow2{
			width: 1px;
			height: 12px;
			background: #333;
			position: absolute;
			top: calc(50% + 1px);
			right: 109px;
			transform: rotate(-130deg);
			transform-origin: top left;
		}
	}

	.back_top:hover{
		cursor:pointer;
		background-color:#eee;
	}
	.back_top:active{
		background-color:#eee;
	}
	.back_top.show{
		opacity:1;
		visibility:visible;
	}
	
	/* .back_top{
		position:absolute;
		right:100px;
		bottom:50px;
		z-index:5;

		a{
			background:@white;
			padding:10px;
			

			.fa-arrow-up{
				color:@green;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}
		}
		a:hover{
			opacity:0.8;
			transition:0.5s;
		}
	}	 */
}




/*---カートコンテンツ--*/
.content_container{
	padding:0 20px;
	margin-top:100px;

	h2{
		margin-bottom:30px;
	}

	.thanks_title{
		letter-spacing:2px;
		font-size:25px;
	}

	/* thanks */
	.toppage{
		padding:10px;
		width:200px;
		display:block;
		color:#fff;
		margin:50px auto 0;
		font-weight:bold;
		letter-spacing:2px;
	}
}

.content_container---thanks{
	a{
		padding:10px;
		display:block;
		max-width:300px;
		margin:50px auto;
		color:@white;
	}
}

.cart_body{
	display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.p_table{
	border:1px solid #ebebeb;
	width:75%;
	border-collapse:collapse;

	th{
		padding:10px;
		font-weight:normal;
		box-sizing:border-box;

	}
	th:first-child{
		text-align:left;
	}
	td{
		padding:10px;
	}

	.qty{
		width:100px;
		border:1px solid #ebebeb;
		display:flex;
		justify-content:space-around;
		margin:0 auto;
		padding:10px 0;
	}
	.cart_btn{
		text-align:left;

		button{
			background:@black;
			padding:10px;
			color:@white;
		}

	}
	button, input{
		outline:none;
		border:none;
		background:none;
		color:@black;
	}
	input{
		width:25px;
		text-align:center;
		font-size:14px;
		font-family:@site_font;
	}
}

/*---cart_body---*/
.p_title, .cart_item, .order_item{
	border-bottom:1px solid #ebebeb;
	background:@white;
}

.order_item{
	ul{
		text-indent:15px;
	}
	
}

.p_option{
	text-align:left;
	margin:10px 0 0;

	span{
		font-size:16px;
	}
}
.p_name{
	display:flex;
	align-items:center;
	gap:20px;

	a{
		font-size:16px;
		text-align:left;

		ul{
			display:flex;
			flex-direction:column;
			align-items:flex-start;
			text-indent:15px;
			font-size:13px;
		}
	}
	
	.product_name{
		text-align:left;
		font-size:16px;

		ul{
			font-size:13px;
			text-indent:15px;
		}
	}

	.p_img{
		width:125px;
		height:85px;
		margin-right:20px;

		img{
			object-fit:contain;
			width:100%;
			height:100%;
		}
	}
}

.cart_sum{
	width:23%;
	background:#f6f6f6;
	
	h3{
		background:#e9e9e9;
		padding:17px;
	}

	dl{
		display:flex;
		justify-content:space-between;
		padding:30px 20px 10px;
    	font-size:16px;
		background:@white;

		dt{
			text-align:left;

			span{
				color:@red;
				font-size:12px;
			}
		}
	}

	#cart_complete{
		background:@thin_brown;
		color:#fff;
		-webkit-transition:0.3s;
		transition:0.3s;
		border:1px solid @thin_brown;
		margin:15px 0;
		padding:10px 20px;
		display:inline-block;
	}

	#cart_complet:hover{
		background:@white;
		color:#063d1d;;
		transition:0.3s;
	}
}

.cart_sum---link{
	background:@white;
}
.note{
	margin-top:15px;
	color:@red;
	display:block;
	text-align:left;
}

/*-----ORDER-----*/
.order_table{
	.qty{
		display:unset;
		width:unset;
		border:unset;
	}
}
.hyphen{
	font-size:11px;
}
.section_adjust{
	max-width:1000px;
    margin:0 auto;
}

.section_inner{
	margin-top:100px;
}
.order_head{
    margin-bottom:10px;

	h2{
		position:relative;
		font-size:24px;
		margin:0;
	}

	p{
		margin-top:50px;
	}
}

/*-------------------------------------------------*/
/*---------------------　POLICY -------------------*/
/*-------------------------------------------------*/
.order_body{
	h2{
		margin-bottom:30px;
	}
	dl{
		display:flex;
		justify-content:flex-start;
		text-align:left;
		border:1px solid #ddd;
		border-bottom:0;

		dt{
			width:25%;
			padding:15px;
			background:#F0F0F0;
		}

		dd{
			width:75%;
			border-left:1px solid #ddd;
			padding:15px;
		}
	}
	dl:last-child{
		border-bottom:1px solid #ddd;
	}
}
.order_table{
	width:100%;
}

.order_input{
	display:flex;
    flex-direction:column;
    gap:10px;

	.d_none{
		display:none;

		ul{
			display: grid;
			grid-template-columns: 1fr;
			gap: 5px;
		}

		label{
			display:flex;
			align-items:center;
			gap:10px;
			border:1px solid @gray;
			background:@white;
			padding:0px 10px;

			.card_detail{
				display:flex;
				gap:5px;

				dl{
					gap:0;
					border:none;
					padding: 0;

					dd{
						border:none;
						padding:0;
						width:100%;
					}
				}
			}
		}
	}

	input[type="text"]{
		width:100%;
		height:35px;
		padding:10px;
		border:none;
		border-radius:0;
		outline:none;
		font-size:14px;
	}
	input[type="date"]{
		width:170px;
		height:35px;
		padding:10px;
		border:none;
		border-radius:0;
		outline:none;
		font-size:14px;
		font-family:@site_font;
	}
	input[type="text"].sm{
		width:170px;
	}
	input[type="text"]:last-child{
		margin:0;
		
	}
	input[type="radio"]:checked{
		appearance:none;
		background:@brown !important;
		border:2px solid #999;
		width:12px;
		height:12px;
		border-radius:50%;
		margin:0;
	}
	input[type="radio"]:not(:checked){
		appearance:none;
		background:#fff;
		border:1px solid #ccc;
		width:12px;
		height:12px;
		border-radius:50%;
		margin:0;
	}

	input[type="password"]{
		width:100%;
		height:35px;
		padding:10px;
		border:none;
		border-radius:0;
		outline:none;
		font-size:14px;
	}

	p{
		display:block;
		margin-top:10px;
	}

	button{
		height:35px;
		padding:5px 10px;
		font-size:14px;
		color:@white;
		vertical-align:top;
		border:none;
	}
	.select_arrow{
		width:170px;
		height:35px;
		background:@white;
		margin-bottom:10px;
	}
	select{
		width:170px;
		height:35px;
		margin-bottom:5px;
		padding:5px 10px;
		font-size:14px;
		border:none;
		outline:none;
		-webkit-appearance:none;
		-moz-appearance:none;
		appearance:none;
		-webkit-border-radius:6px;
		-moz-border-radius:6px;
		border-radius:0px;
		background:url(../images/select_arrow.png) no-repeat right 5px center;
		background-size:14px;
		color:@black;
	}

	textarea{
		width:100%;
		min-height:100px;
		padding:5px 10px;
		font-size:14px;
		border:none;
		border-radius:0;
		outline:none;
		vertical-align:bottom;
		line-height:18px;
		box-sizing:border-box;
		resize:vertical;
		font-family:@site_font;
	}
}
.order_input.b_w{
	input{
		background:@white;
	}
}
.sa_chk{
	label{
		padding-right:15px;
	}
}

.order_form{
	text-align:left;

	li{
		display:table;
		width:100%;
		margin-bottom:5px;
		padding:10px;
		background-color:#eeeeee;
		box-sizing:border-box;
	}

	li > span{
		display:table-cell;
		width:200px;
		vertical-align:middle;

		label{
			display:inline-block;
			margin-left:10px;
			padding:2px 0;
			font-size:10px;
			color:#ca1b1e;
			border-radius:5px;
		}
		button{
			height:35px;
			padding:5px 10px;
			font-size:14px;
			color:@white;
			vertical-align:top;
			border:none;
		}
		.pass_change{
			background:@green;
		}
	}

	.user_password, .close_change{
		display:none;
	}
}

.order_foot{
    margin-top:30px;

	ul{
		display:table;
		width:100%;
		margin-top:30px;

		li{
			display:table-cell;
			width:50%;

			button{
				width:100%;
				padding:10px;
				font-size:18px;
				color:@white;
				border:none;
			}
			
		}
		li:first-child{
			padding-right:5px;
		}
		li:nth-child(2){
			padding-left:5px;
		}
	}
	button{
		padding:10px;
		font-size:18px;
		color:@white;
		border:none;
		width:50%;
	}
	.link_flex{
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	.add_address{
		margin-bottom:30px;
		border:1px #12b326 solid;
		padding:7px;
		width:fit-content;
		text-decoration:unset;
		text-align:right;
		display:block;
	}
	a{
		display:block;
		text-align:right;
		margin:50px 0 0;
		text-decoration:underline;
		color:@red;

		i{
			margin-left:5px;
		}
	}
	
}

.flex_checkbox{
	display:flex;
    justify-content:space-evenly;
    align-items:center;
	margin:30px 0 10px;
	width:100%;
	grid-gap:10px;
}

.check_box{
	display:inline-block;
	border:1px solid #ccc;
    padding:30px;
	width:50%;
	background:@white;

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

		input[type=checkbox]{
			position:relative;
			height:30px;
			width:30px;
			margin:0 10px 0 0;
			/* accent-color:@green; */
			-moz-appearance:none;
			-webkit-appearance:none;
			-o-appearance:none;
			background-color:@white;
			border:1px solid #999;
			border-radius:2px;
		}
		input[type=checkbox]:checked{
			background-color:@blue !important;
			
		}
		input[type=checkbox]:checked::after{
			font-family:"Font Awesome 5 Free";
			font-weight:900;
			content:'\f00c';
			/* content:'<i class="fas fa-check"></i>' */
			display:block;
			position:absolute;
			left:50%;
			top:50%;
			transform:translate(-50%, -50%);
			color:@white;
			font-size:20px;
		}
	}

	a{
		display:inline-block;
		text-align:center;
		color:@brown;
		font-size:14px;
		margin:10px auto 0;
	}
	a:hover{
		transition:0.4s;
	}
}


.address_lists{
	padding-bottom:100px;
}
.info_main{
	width:100%;
	cursor:pointer;
	background:@white;
	padding:10px;
}


.address_cbox{
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid #ccc;
    padding:45px 30px 45px;
	width:50%;
	background:@white;

	input[type=checkbox]{
		position:relative;
		height:30px;
		width:30px;
		margin:0 10px 0 0;
		/* accent-color:@green; */
		-moz-appearance:none;
		-webkit-appearance:none;
		-o-appearance:none;
		background-color:@white;
		border:1px solid #999;
		border-radius:2px;
	}
	input[type=checkbox]:checked{
		background-color:@blue !important;
		
	}
	input[type=checkbox]:checked::after {
		font:var(--fa-font-solid);
		content: '\f00c';
		display:block;
		position:absolute;
		left:50%;
		top:50%;
		transform:translate(-50%, -50%);
		color:@white;
		font-size:20px;
		/* font-weight:500;  */
	}
}


.order_sum{
	td{
		padding:7px 10px;
		text-align:right;
	}
}

.fee_note{
	display:none;
}
/*クレジットカード*/
.pay_area{
	display:none;
}

/*-----alert-----*/
.alertify-cover{
	background-color:#281f1e !important;
    opacity:0.5 !important;
}
.alertify {
    top:10% !important;
    border:5px solid #cfcfcf !important;
    border-radius:3px !important;
}

.alertify-logs{
	font-size:12px;
    bottom:10px !important;
    right:10px !important;
    left:unset !important;
    width:30% !important;
    min-width:200px !important;
}

.alertify-inner p{
    display:table;
    margin:0 auto 15px;
    text-align:left;
    line-height:24px;
}
.alertify-button-cancel, .alertify-button-cancel:hover, .alertify-button-cancel:focus {
    background-color:#ca1b1e !important;
}
.alertify-button{
    background-image:none !important;
    border:none !important;
    border-radius:0 !important;
    text-shadow:none !important;
    box-shadow:none !important;
}

/*------------------------------------------------*/
/*-------------------- User_Profile --------------*/
/*------------------------------------------------*/
.change_tab{
	width: 100%;
	z-index: -1;
	/* padding:0 20px; */

	ul {
		display:flex;
		justify-content:space-around;
		list-style-type:none;
		height:40px;
		background:#fff;
		box-shadow:0px 2px 5px rgba(0, 0, 0, 0.3);

		.tab_switch{
			display:block;
		}

		li{
			padding:10px;
			width:100%;
			cursor:pointer;
			text-align:center;
			transition:all 0.2s ease-in-out;
		}
		li:hover, li.active {
			box-shadow:0px -3px 0px @brown inset;
		}
	}
}

.user_profile--view{
	max-width:1200px;
    margin:100px auto 0;
    padding:0 20px;
}

.profile-body {
	width:100%;
	z-index:-1;
}

.tab {
	display:none;
}

.tab {
	padding:20px 0 0;
	width:100%;
	text-align:center;
}

.user_table{

	.left{
		text-align:left;
	}
	.right{
		text-align:right;
	}
	.border{
		background:#575757;

		dt{
			color:@white;
		}
	}
	dl{
		border:1px solid #eee;
		border-bottom:none;
		display:flex;
		flex-direction:row;
		align-items:center;
	}
	dl:last-child{
		border-bottom:1px solid #eee;
	}
	dt, dd{
		padding:10px;
	}
	.u_orderid, {
		width:15%;
	}
	.u_name{
		width:30%;
	}
	.u_price, .u_qty, .u_subtotal{	
		width:20%;
	}
}
/*----------------------.address_add--------------------------*/
.page_body{
	padding:0 25px;

	p{
		margin:10px 0 30px;
	}

	.order_form{
		margin-bottom:50px;
	}

	.save_address{
		padding:10px;
		font-size:18px;
		color:@white;
		border:none;
		width:50%;
	}
	.save_add{
		display:none;
		padding:10px;
		font-size:18px;
		color:@white;
		border:none;
		width:50%;
		background-color:@green;
	}
}

.new_link{
	display:block;
	text-align:center;
	margin:20px 25px;

	a{
		color:@white;
		background-color:#aa8d5e;
		border:none;
		margin:30px 0;
		display:inline-block;
   		padding:10px 15px;
		width:50%;
		font-size:18px;
	}
}
.new_address{
	display:block;
	text-align:left;
	border:#bbb solid 1px;
	/* padding:10px 0 10px 50px; */
	padding:20px;
	margin:0;
	width:100%;
	height:100%;
	position:relative;
	background:@white;

	a{
		display:block;
		width:100%;
		height:100%;

		span{
			position:absolute;
			top:50%;
			transform:translateY(-50%);
		}
	}
}
.new_address:hover{
	background-color:#eeeeee;
	transition:0.3s;
}

.page_address{
	margin:40px 0 20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    text-align:left;
	grid-gap:15px;
	/* background:@white; */

	input[type=radio]{
		margin-right:15px;
		width:25px;
    	height:25px;
	}

		.added_info{
			border:#bbb solid 1px;
			position:relative;
			background:@white;

			button{
				position:absolute;
				top:10px;
				right:10px;
				color:#fff;
				background:#e64b4b;
				border:1px solid;
				padding:3px 10px;
				cursor:pointer;
			

			.fa{
				font-size:16px;
			}
		}
		
		a{
			position:absolute;
			bottom:10px;
			right:10px;
			color:#fff;
			background:#063d1d;
			padding:5px 10px;
			font-size:12px;
		}

	}

	label{
		padding:10px;
		display:flex;
    	align-items:center;

		.user_mark{
			font-size:11px;
			background:#aee7c4;
			padding:2px;
			margin-bottom:5px;
			display:inline-block;
		}
	}
}
.order_address_btn{
	margin:30px 0 50px;
}


/*------------------------------------------------*/
.form-control:focus {
    box-shadow:none;
    border-color: #BA68C8
}

.profile-button {
    background:rgb(99, 39, 120);
    box-shadow:none;
    border:none
}

.profile-button:hover {
    background:#682773
}

.profile-button:focus {
    background:#682773;
    box-shadow:none
}

.profile-button:active {
    background:#682773;
    box-shadow:none
}

.back:hover{
    color:#682773;
    cursor:pointer
}

.labels{
    font-size:11px
}

.add-experience:hover{
    background:#BA68C8;
    color:#fff;
    cursor:pointer;
    border:solid 1px #BA68C8
}


/*-------------------------------------------------*/
/*-------------------- USER_LOGIN -----------------*/
/*-------------------------------------------------*/

.user_login{
	width:100%;
	/* height:100%; */
	max-width: 400px;
    margin:140px auto 0;

	img{
		width:100%;

	}
	h2{
		/* max-width:135px; */
		margin:25px auto 40px;
		font-size: 19px;
	}

	.border_login{
		border:1px solid @green;
		margin:30px 50px;
	}
	.flex_btn{
		display:flex;
		margin:30px 0;
		grid-gap:20px;

		.new-account{
			margin:unset
		}
	}

	.new-account{
		margin:40px 0 0;
		display:inline-block;
		width:100%;

		.new-account--text{
			margin-bottom:10px;
			font-size:14px;
		}

		a{
			display:block;
			border:1px solid #aa8d5e;
			background:#aa8d5e;
			width:100%;
			padding:15px;
			color:@white;
			font-size:14px;	
			text-align:center;
		}

		a:hover{
			background:@white;
			color:@black;
		}
	}
	.card{

		.pass_reset{
			margin-bottom:20px;
		}

		p{
			padding-bottom:40px;
		}
	}
	.member_cancel{
		p{
			padding-bottom:unset;
			text-align:left;
		}
		.delete{
			margin:40px 0 80px;
			display:block;
		}
	}

	.card-header{
		text-align:center;
		font-size:20px;
		margin-bottom:50px;
	}

	.card-body{
		max-width:400px;
		margin:0 auto;
		font-size:16px;
		

		.login_box{
			text-align:left;
			padding:0 0 15px;

			label{
				margin-bottom:5px;
    			display:block;
			}

			.input-group{
				position:relative;

				.input-group-text{
					position:absolute;
					top:50%;
					transform:translateY(-50%);
					right:10px;
				}
			}

			input{
				padding:15px 10px;
				width:100%;
				font-size:16px;
				border:1px solid @black;
				outline:none;
			}
			.data_check{
				margin-top:10px;
				padding:15px 10px;
				width:100%;
				font-size:16px;
				border:1px solid @black;
				outline:none;
				display:block;
			}

			.invalid-feedback{
				font-size:12px;
				color:@red;
			}

			.pass_note{
				font-size:12px;
			}

		}

		.mt_10{
			margin-top:10px;
		}

		.flex-row{
			display:flex;
			justify-content:space-between;
			padding-bottom:20px;
		}

		.btn-link{
			color:@red;
		}

		
		.green_border{
			margin-top:25px;
		}
	}
	.password-request{
		margin-top:10px;
	}
}
.btn-primary{
	border:1px solid #aa8d5e;
	background:#aa8d5e;
	width:100%;
	padding:15px;
	color:@white;
	font-size:14px;				
}
.btn-primary:hover{
	background:@white;
	color:@black;
}
.login_return{
	display:inline-block;
	padding:10px 20px;
	color:@white;
	background-color:@black;
	transition:0.3s;
}
.login_return:hover{
	opacity:0.7;
}


/*---------- loading ----------*/
.loading{
	display:none;
}	
.loading.active{
	display:block;
	position:fixed;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:rgba(0, 0, 0, 0.5);
	z-index:500;
	
	span{
		position:absolute;
		top:50%;
		transform:translateY(-50%);
		width:100%;
		text-align:center;

		i{
			font-size:50px;
			color:@white;
		}
	}
}

.err_msg{
	margin-bottom:30px;
	padding:10px 5px;
	font-size:14px;
	color:@white;
	background-color:@red;
	border:1px solid @d_red;
}


/*--------------------------------------------------*/
/*-------------------- paginate --------------------*/
/*--------------------------------------------------*/
.pagination{
	display:block;
	margin:30px 0 0;
	font-size:0;
	text-align:center;
	
	li{
		display:inline-block;
		margin:0 5px 5px 0;
		
		span{
			display:block;
			padding:5px 10px;
			font-size:14px;
			color:@black;
			border:1px solid @gray;
			border-radius:5px;
		}
		a{
			display:block;
			padding:5px 10px;
			font-size:14px;
			color:@black;
			border:1px solid @gray;
			border-radius:5px;
			transition:0.3s;
		}
		a:hover{
			background-color:@gray;
		}
	}
	li.disabled{
		/* background-color:@gray; */
	}
	li.active{
		span{
			color:@white !important;
			background-color:@brown!important;
			border:1px solid @brown !important;
			border-radius:5px;
		}
	}
	li:first-child{
		a, span{
			border-radius:5px;
		}
	}
	li:last-child{
		margin-right:0;

		a, span{
			border-radius:5px;
		}
	}
}


/*----------------------------------------------------------*/
/*-------------------- product > modal ---------------------*/
/*----------------------------------------------------------*/
.pro_modal{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, 0.8);
	z-index:100;
}
.pro_modal_box{
	/* position:relative; */
	/* max-width:1000px; */
	max-width:500px;
	/* height:100%; */
	margin:0 auto;
	padding:100px 0;
	text-align:center;
	box-sizing:border-box;
	background:@white;

	position: fixed;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    transform: translateX(-50%);

	img{
		width:100%;
		height:100%;
		object-fit:contain;
	}
}
.pro_modal_close{
	position:absolute;
	/* bottom:20px; */
	top:80px;
	/* left:50%; */
	right:20px;
	/* transform:translateX(-50%); */
	width:40px;
	height:40px;
	font-size:30px;
	color:@black;
	background-color:@white;
	border-radius:50%;
	transition:0.3s;

	i{
		line-height:40px;
		transition:0.3s;
	}
}
.pro_modal_close:hover{
	background-color:@d_gray;

	i{
		color:@white;
	}
}

.modal_view{
	overflow-y:scroll;
	display:flex;
    flex-direction:column;
    gap:20px;

	.modal_detail{
		max-width: 300px;
    	margin: 0 auto;
		height: 300px;
	}
	dl{
		padding:0 20px;
	}

	.product_name{
		h3{
			font-size:20px;
		}
	}
	span{
		font-size:16px;
	}
}

.card_modal{
	.input_area{
		margin:35px 0 0;
		padding:20px;
		border-top:1px solid @gray;
		display: grid;
    	grid-template-columns: 1fr 1fr;
		gap:20px;

		dl{
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 5px;
			padding: 0;

			dd{
				border: 1px solid @gray;
				padding: 10px;
				width: 100%;
				background:@white;
			}
			dd#name{
				border:none;
				padding:0;

				input{
					border: 1px solid @gray;
					padding: 10px;
					width: 100%;
				}
			}
		}
		> button{
			grid-column:~"1/3";
			margin:0 auto;
			width:200px;
			background:@green;
			border:none;
			color:@white;
			padding:7px 10px;
			border-radius:6px;
		}
	}
}
.box_1-2{
	grid-column:~'1/2';
}
.box_1-3{
	grid-column:~'1/3';
}
.box_2-3{
	grid-column:~'2/3';
}



/*-------------------- ブログ一覧 --------------------*/

.blog_section{
	h2{
		margin:0 0 20px;
		font-size:24px;
	}
}
.blog_container{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	grid-gap:30px;
	margin:50px 0 100px;
	padding:0;
	box-sizing:border-box;

	.blog_column{
		background:@white;
	}
}
.blog_lists_box{
	display:block;
	position:relative;
	overflow:hidden;

	.img{
		width:100%;
		height:300px;
		background-position:center;
		background-repeat:no-repeat;
		background-size:cover;
		transition:0.5s;
	}
	.contents{
		position:absolute;
		bottom:0;
		left:0;
		width:100%;
		padding:10px 15px;
		text-align:left;
		background:rgba(0, 0, 0, 0.6);
		box-sizing:border-box;

		time{
			display:block;
			margin-bottom:5px;
			font-size:14px;
			color:@white;

			i{
				margin-right:5px;
			}
		}
		h3{
			font-size:18px;
			color:@white;
		}
	}
}
.blog_lists_box:hover{
	.img{
		transform:scale(1.1);
	}
}

/*---------- ブログ一覧->タグ ----------*/
.tag_section{
	margin:20px 0 50px;
	border-bottom:1px solid @gray;
}
.tag_header{
	display:flex;
	justify-content:left;
	align-items:center;
	padding:15px 0;
	text-align:left;

	h3{
		margin-right:20px;
		padding-right:20px;
		font-size:20px;
		font-weight:bold;
		border-right:1px solid @gray;
	}
	h3:before{
		content:'#';
		padding-right:2px;
		font-size:18px;
		font-weight:bold;
	}
	ul{
		li{
			display:inline-block;
			position:relative;
			margin-right:15px;
	
			a{
				font-size:14px;
				/*font-weight:bold;*/
			}
		}
		li:last-child{
			margin:0;
		}
		li:before{
			content:'#';
			padding-right:2px;
			font-size:14px;
			font-weight:bold;
			color:@green;
		}
		li:after{
			content:'';
			position:absolute;
			bottom:0;
			left:0;
			width:0;
			border-bottom:2px solid @green;
			transition:0.3s;
		}
		li:hover:after{
			width:100%;
		}
	}
}


/*-------------------- ブログ記事 --------------------*/
.blog_article_area{
	max-width:800px;
	margin:0 auto;
	padding:50px 30px;
	background-color:@white;
	box-sizing:border-box;

	.header{
		margin-bottom:30px;
		text-align:left;

		time{
			font-size:14px;
			color:@dd_gray;

			i{
				margin-right:5px;
			}
		}
		h2{
			font-size:30px;
		}
		ul{
			display:flex;
			justify-content:flex-start;
			align-items:center;
			margin-top:10px;

			li{
				margin-right:15px;
				
				a{
					display:inline-block;
					position:relative;
					font-size:14px;
				}
				a:before{
					content:'#';
					padding-right:2px;
					font-size:12px;
					font-weight:bold;
					color:@green;
				}
				a:after{
					content:'';
					position:absolute;
					bottom:0;
					left:0;
					width:0;
					border-bottom:2px solid @brown;
					transition:0.3s;
				}
				a:hover:after{
					width:100%;
				}
			}
			li:last-child{
				margin:0;
			}
		}
	}
	.thumbnail{
		margin-bottom:100px;
		text-align:center;

		img{
			width:100%;
			max-width:100%;
		}
	}
	.contents{
		margin-bottom:50px;
		text-align:left;

		p{
			margin-bottom:50px;

			img{
				width:100%;
			}
			iframe{
				width:100%;
				height:400px;
			}
		}
		p:last-child{
			margin:0;
		}
		a{
			text-decoration: underline;
			color:#d85656;
			font-weight: bold;
		}
	}
	
}
.footer{
	max-width:300px;
	margin:0 auto;
	margin-top: 50px;

	a{
		display:block;
		position:relative;
		padding:10px;
		border:1px solid @gray;
		text-align:center;

		span{
			position:relative;
			z-index:2;
			transition:0.4s;
		}
	}
	a:before{
		content:'';
		position:absolute;
		top:0;
		left:0;
		width:0;
		height:100%;
		background-color:@brown;
		opacity:0;
		transition:0.4s;
	}
	a:hover{
		span{
			color:@white;
		}
	}
	a:hover:before{
		width:100%;
		opacity:1;
		z-index:1;
	}

	button{
		width:100%;
		display: block;
		position: relative;
		padding: 10px;
		border: 1px solid #d9d9d9;
		text-align: center;
		background:@white;
	}
}
.footer---review{
	margin-top:50px;
}



.review{
	margin: 0 auto;
    padding: 0 25px;

	h3{
		margin-bottom: 15px;
    	font-size: 18px;
	}

	ul{
		display: flex;
		justify-content: space-between;
		margin-bottom: 15px;

		li{
			font-size: 18px;
		}
	}

	.stars{
		text-align: left;
		margin-bottom: 15px;
	}

	.text{
		text-align: left;
		background:#e6e6e6;
		padding: 20px;
		border-radius: 4px;
	}

	button{
		margin-top:20px;
		width:180px;
		height:44px;
		justify-content:center;
		align-items:center;
		font-size:14px;
		border:1px solid;
		cursor:pointer;
		background:@white;
	}
}
.review_area{
	border: 1px solid #ccc;
    padding: 20px;
	background:@white;
}

.review .review_area:nth-of-type(n+3) {
	border-top:none;
}


/*クレジットカード表示*/
.card_lists{
	text-align:left;
    margin-top:20px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:20px;

	.list{
		display:flex;
		justify-content:space-between;
		background:@white;
		padding:10px;
		border:1px solid @gray;
		align-items:center;

		button{
			border:none;
    		color:@white;
			display:flex;
			flex-direction:column;
			padding:8px 14px;
			font-size:12px;
			line-height:1;
			border-radius:5px;
			white-space:nowrap;
			gap:6px;

			i{
				font-size:16px;
			}
		}
	}

	> button{
		grid-column:~"1/3";
		margin:0 auto;
		width:200px;
		background:@green;
		border:none;
		color:@white;
		padding:7px 10px;
    	border-radius:6px;
	}
}

/*-------------------- ブログ記事 update 2025-05-28 --------------------*/
.blog_article_container {
    display: grid;
    gap: 50px;
}
.blog_header{
	padding-bottom:50px;
	border-bottom:1px solid @gray;

	time{
		font-size:16px;
		color:@gray;
	}
	h1{
		font-size:36px;
	}
	ul{
		display:flex;
		flex-wrap:wrap;
		gap:5px 10px;
		margin-top:20px;
		justify-content: center;

		li{
			padding:5px 10px;
			font-size:12px;
			border:1px solid @d_gray;

			a{
				color:@d_gray;
			}
		}
	}
}
.blog_body{
	padding:50px 0;

	> a{
		color:@gray;
		text-decoration:none;
		font-weight:bold;
	}
	> p{
		line-height:2;
	}
	> img{
		text-align:center;
		display:block;
		margin:0 auto 20px;
		width:100%;
		max-width:350px;
	}
	> time{
		float:right;
		padding-top:10px;
	}
	pre{
		margin:20px 0;
		padding:10px;
		background-color:@l_gray;
		border:1px solid @gray;
		border-radius:5px;
	}
	blockquote{
		margin:20px 0;
		padding:2px 0 2px 10px;
		border-left:5px solid @gray;
	}
}

.blog_container{
	display:grid;
	gap:50px;
}
.blog_row{
	display: grid;
    gap: 50px;
    text-align: left;

	&.col2{
		grid-template-columns:repeat(2, 1fr);
	}
	/* &.col3{
		grid-template-columns:repeat(3, 1fr);
	}
	&.col4{
		grid-template-columns:repeat(4, 1fr);
	} */
}
.blog_column{
	h2{
		padding:5px 0 5px 15px;
		font-size:30px;
		border-bottom:1px solid @gray;
		border-left:5px solid @gray;
	}
	h3{
		padding:3px 0 3px 15px;
		font-size:22px;
		border-left:3px solid @gray;
	}
	p{
		font-size:16px;
		line-height:2;
	}
	table {
		border-collapse: collapse;
	}
	  
	table, th, td {
		border: 1px solid black;
	}
	a{
		text-decoration:underline;
	}
	.syntaxhighlighter{
		margin:0 !important;
		padding:10px 0 !important;
		border:1px solid @l_gray;
	}
	img{
		display:block;
		width:100%;
	}
	iframe{
		display:block;
		width:100%;
		height:400px;
	}
	hr{
		margin:50px 0;
		border:none;
		border-top:2px dotted @gray;
	}
}
.blog_footer{
	padding-top:50px;
	border-top:1px solid @gray;

	h2{
		margin-bottom:10px;
		font-size:20px;
	}
}
.related_container{
	display:grid;
	gap:15px;

	a{
		display:flex;
		align-items:center;
		gap:15px;
		padding:15px;
		border:1px solid @d_gray;

		time{
			font-size:13px;
			color:@d_gray;
		}
		h3{
			font-size:16px;
			color:@black;
		}
	}
}

.relate_area{
	.relate_item{
		border:1px solid @gray;
		margin-bottom:15px;
		padding:0 10px 10px;


		h3{
			margin:10px 0;
			white-space:nowrap;
			overflow:hidden;
			text-overflow:ellipsis;
		}

		a{
			color:#000;
		}

		.item{
			li:first-child{
				color:@black;
				border-right:1px solid @gray;
				padding-left:0;
			}

			li{
				display:inline-block;
				padding:0 5px;

				a{
					color:@gray;
				}
			}
		}
	}
}