
/* --------------------------------------------------------------------------------
RESET
-------------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

ul,
ol {
	padding: 0;
}

body,
h1,
h2,
h3,
h4,
h5,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
	margin: 0;
}

body {
	min-height: 100vh;
	line-height: 1.5;
}

ul[class],
ol[class] {
	list-style: none;
}

a:not([class]) {
	text-decoration-skip-ink: auto;
}

a {
	color: #000;
	text-decoration: none;
	position: relative;
}

img {
	max-width: 100%;
	height: auto;
/* 	display: block; */
	aspect-ratio: attr(width) / attr(height);
}

article > * + * {
	margin-top: 1em;
}

input,
button,
textarea,
select {
	font: inherit;
}

@media (prefers-reduced-motion: reduce) {
	* {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
	}
}



/* --------------------------------------------------------------------------------
 pc_sp
-------------------------------------------------------------------------------- */
.hidden-xs {
	display: block;
}
.visible-xs {
	display: none;
}

@media screen and (max-width: 500px) {
	.hidden-xs {
		display: none;
	}
	.visible-xs {
		display: block;
	}
}

/* --------------------------------------------------------------------------------
 list
-------------------------------------------------------------------------------- */

ul,
ol {
	padding: 0;
	margin: 0;
	list-style: none;
}

/* --------------------------------------------------------------------------------
 FONT text_align color
-------------------------------------------------------------------------------- */

html {
	font-size: 4.26667vw;
	overflow-x: hidden;
}

@media screen and (min-width: 750px) {
	html {
		font-size: 32px;
	}
}

#sleepingmaskcp {
	max-width: 750px;
	margin: 0 auto;
	overflow: hidden;
	font-family: "Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif;
	color: #000;
	font-weight: 200;
	background: white;
	font-feature-settings: "palt";
}



/* --------------------------------------------------------------------------------
 FONT text_align color
-------------------------------------------------------------------------------- */
h1,h2 { text-align: center ;}

.f_maru {
	font-family: "Zen Maru Gothic", sans-serif;
}

/*color*/
.c_pink { color: #ec7e8b; }
.c_red { color: #b10012; }

/* --------------------------------------------------------------------------------
 padding/margin
-------------------------------------------------------------------------------- */
.pL_04 {
	padding-left: 4%
}
.pR_04 {
	padding-right: 4%;
}

/* --------------------------------------------------------------------------------
 marker
-------------------------------------------------------------------------------- */
.js-line {
	padding-bottom: 0.1rem;
	display: inline;
	position: relative;
	z-index: 2;
	&::before {
		content: "";
		width: 100%;
		height: .0625rem;
		position: absolute;
		left: 0;
		bottom: 0;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 2s ease-in-out;
		z-index: -1;
	}
	&.is-inview::before {
		transform: scaleX(1);
	}
}

.js-line-readmore {
	padding-bottom: 0.1rem;
	display: inline;
	position: relative;
	z-index: 2;
	&::before {
		content: "";
		width: 100%;
		height: .0625rem;
		position: absolute;
		left: 0;
		bottom: 0;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 2s ease-in-out;
		z-index: -1;
	}
	&.is-inview::before {
		transform: scaleX(1);
	}
}

#Concept .block_concept .text_concept .js-line::before {
	background: #000;
}
#Attraction {
	.block_1 .text_box .js-line::before {
		background: #000;
	}
	.block_1 .column_box .js-line-rm1 {
		font-weight: 700;
		&::before {
			background: #000;
		}
	}
	.block_1 .column_box .js-line-rm2 {
		font-weight: 700;
		color: #c06d6d;
		&::before {
			background: #c06d6d;
		}
	}
	.block_2 .trouble_head .js-line::before {
		background: #000;
	}
	.block_3 .spatula_box .balloon .js-line::before {
		background: #000;
	}
}

#Qusome {
	.text .js-line.line-black::before {
		background: #000;
	}
	.text .js-line.line-blue::before {
		background: #437fc8;
	}
}


.js-marker {
	padding: .125rem .3125rem;
	display: inline;
	position: relative;
	z-index: 2;
	&::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 2s ease-in-out;
		z-index: -1;
	}
	&.is-inview::before {
		transform: scaleX(1);
	}
}

#Pococe .body .text {
	.js-marker-red::before {
		background: #f3e1db;
	}
	.js-marker-gold::before {
		background: #eeeac5;
	}
}
#Recommend ul li .js-marker::before {
	background: #fff;
}



/* --------------------------------------------------------------------------------
 filter
-------------------------------------------------------------------------------- */
.shadow {
	filter: drop-shadow(0 .5rem .25rem rgba(0,0,0,0.1));
	transform: translateZ(0);
	z-index: 10;
	@media (min-width: 750px) {
		filter: drop-shadow(0 20px 20px rgba(0,0,0,0.125));
	}
}
.shadow_y0 {
	filter: drop-shadow(0 0 .2rem rgba(0,0,0,0.2));
	transform: translateZ(0);
	z-index: 10;
}
.glow {
	filter: drop-shadow(0 0 .25rem rgba(255,255,255,1)) drop-shadow(0 0 .3125rem rgba(255,255,255,1)) drop-shadow(0 0 .375rem rgba(255,255,255,1));
	transform: translateZ(0);
	@media (min-width: 750px) {
		filter: drop-shadow(0 0 .5rem rgba(255,255,255,1)) drop-shadow(0 0 .625rem rgba(255,255,255,1)) drop-shadow(0 0 .75rem rgba(255,255,255,1));
	}
}


/* --------------------------------------------------------------------------------
 .wrap
-------------------------------------------------------------------------------- */

#wrap {
	width: 100%;
	max-width: 750px;
	font-weight: 200;
	font-family: "Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif;
	color: #000;
	font-feature-settings: "palt";
	letter-spacing: .075rem;
	margin: 0 auto;
	background: #fff;
	overflow: hidden;
	img {
		max-width: 100%;
		height: auto;
		display: block;
	}
	a {
		text-decoration: none;
		transition: .25s;
		&::after {
			transition: .25s;
		}
		img {
			transition: .25s;
		}
	}
}

.information {
	width: 100%;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
	padding: 1rem 0 .8rem;
	background: #f2eae2;
	position: relative;
	& .youtube {
		width: 8rem;
		margin: 0 auto .25rem;
		display: block;
	}
	& .info_text {
		padding-left: 1rem;
		position: relative;
		& .fuki {
			width: 5rem;
			position: absolute;
			top: -2.75rem;
			left: -3rem;
		}
	}
}

/* --------------------------------------------------------------------------------
 .cart
-------------------------------------------------------------------------------- */
.cv_area {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	background: #ead8c7;
	position: relative;
	.block_logo {
		padding: 0.5625rem;
		background: #fff;
		position: relative;
		z-index: 5;
		.logo {
			width: 4.6875rem;
			margin: auto;
		}
	}
	.block_banner {
		font-size: 1.125rem;
		font-weight: 700;
		text-align: center;
		padding: .8rem;
		background: #ced1bd;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1.25rem;
		position: relative;
		z-index: 5;
		.f_goth {
			font-size:.875rem;
			font-weight: 400;
		}
		.logo {
			width: 4.3125rem;
		}
		p {
			flex: 1;
		}
	}
	.block_single {
		margin-top: -14rem;
		position: relative;
		z-index: 2;
		.single_head {
			width: 100%;
			text-align: center;
			position: absolute;
			top: 1.25rem;
			left: 0;
			.subtitle {
				font-size: .875rem;
				font-weight: 700;
				margin-bottom: .25rem;
			}
			h1 {
				font-size: 2rem;
				line-height: 1.4;
				margin: 0 0 .25rem;
			}
			.pococe {
				padding: 0 6.67%;
				display: flex;
				flex-direction: column;
				gap: .25rem;
				.pococe_1 { width: 3.75rem; padding: 0.125rem; background: #fbf8f6; border-radius: 50%; position: relative; }
				.pococe_2 { width: 3.75rem; position: relative; }
				.pococe_3 { width: 3.75rem; position: relative; }
			}
		}
		.single_body {
			width: 100%;
			text-align: center;
			position: relative;
			.glow {
				filter: drop-shadow(0 0 1.25rem rgba(255,255,255,1)) drop-shadow(0 0 1.5625rem rgba(255,255,255,1)) drop-shadow(0 0 1.875rem rgba(255,255,255,1)) drop-shadow(0 0 2.1875rem rgba(255,255,255,1)) ;
			}
			.name {
				font-size: 1.125rem;
				font-weight: 700;
				margin-bottom: .25rem;
			}
			.capacity {
				font-size: .75rem;
				margin-bottom: .25rem;
			}
			.price {
				font-size: 1.3125rem;
				margin-bottom: 1.5%;
				.regular {
					font-size: 1.15rem;
					text-decoration: line-through;
				}
				.yen {
					font-size: .75rem;
				}
				.tax {
					font-size: .6875rem;
				}
			}
		}/*single_body*/
	}/*block_single*/
	.block_double {
		width: 92%;
		margin: 1.5rem auto 0;
		padding: 3.5%;
		border: .2rem solid #ec7e8b;
		border-radius: .5rem;
		background: #fff;
		position: relative;
		.double_head {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-bottom: .25rem;
			.left {
				width: 18.67vw;
				max-width: 140px;
				height: 18.67vw;
				max-height: 140px;
				background: #ec7e8b;
				border-radius: 50%;
				display: flex;
				justify-content: center;
				align-items: center;
				p {
					font-size: 1.875rem;
					font-weight: 700;
					color: #fff;
					text-align: center;
					line-height: .6;
					.per {
						font-size: .9375rem;
					}
					.off {
						font-size: 1.125rem;
					}
				}
			}
			.right {
				text-align: center;
				flex: 1;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				gap: 0 1rem;
				.name {
					width: 100%;
					font-size: 1.0625rem;
					font-weight: 700;
				}
				.regular {
					text-align: right;
					flex: 1;
					position: relative;
					&::after {
						content: "";
						width: 1.067vw;
						max-width: 8px;
						height: 2.4vw;
						max-height: 18px;
						background: #000;
						clip-path: polygon(0 0, 0% 100%, 100% 50%);
						position: absolute;
						top: 50%;
						right: -0.5rem;
						transform: translateY(-50%);
					}
					.value {
						font-size: .875rem;
						text-decoration: line-through;
					}
					.yen {
						font-size: .5625rem;
					}
					.tax {
						font-size: .5rem;
					}
				}
				.discount {
					text-align: left;
					flex: 1.25;
					.value {
						font-size: 1.25rem;
						font-weight: 700;
						color: #dc7480;
					}
					.yen {
						font-size: .875rem;
					}
					.tax {
						font-size: .75rem;
					}
				}
			}
		}/*double_head*/
		.double_item {
			width: 80%;
			margin: auto;
		}
		.double_bnr {
			margin: 0 auto 1rem;
		}
		.plus {
			width: 1.875rem;
			height: 1.875rem;
			font-size: 1.5625rem;
			color: #fff;
			text-align: center;
			line-height: 1;
			background: #ec7e8b;
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin: -1.5rem auto .5rem;
			position: relative;
			z-index: 2;
		}
		.cheers {
			font-size: 1rem;
			font-weight: 700;
			color: #ec7e8b;
			text-align: center;
			margin-bottom: .25rem;
			span {
				position: relative;
				&::before {
					content: "";
					width: .09375rem;
					height: 100%;
					background: #ec7e8b;
					position: absolute;
					top: 50%;
					left: -0.75rem;
					transform: translateY(-50%) rotate(-15deg);
				}
				&::after {
					content: "";
					width: .09375rem;
					height: 100%;
					background: #ec7e8b;
					position: absolute;
					top: 50%;
					right: -0.75rem;
					transform: translateY(-50%) rotate(15deg);
				}
			}
		}
	}/*block_double*/
	.cv_btn {
		width: 100%;
		font-size: 1rem;
		font-weight: 700;
		color: #fff;
		text-align: center;
		margin: 0 auto 7%;
		padding: 3% 0 4%;
		background-size: 100% 200%;
		border-radius: .5rem;
		display: block;
		filter: drop-shadow(0 8px 8px rgba(0,0,0,0.1));
		transform: translateZ(0);
		position: relative;
		@media (min-width: 750px) {
			filter: drop-shadow(0 16px 16px rgba(0,0,0,0.1));
		}
		&::after {
			position: absolute;
			content: "";
			width: 2.93vw;
			max-width: 22px;
			height: 3.467vw;
			max-height: 26px;
			clip-path: polygon(0 10%, 0 0, 100% 50%, 0 100%, 0 90%, 80% 50%);
			background: #fff;
			right: 3.5%;
			top: 50%;
			transform: translateY(-50%);
		}
		&:hover {
			color: #fff;
			background-position: 0 0;
			&::after {
				right: 2.75%;
			}
		}
		.balloon {
			width: 100%;
			font-size: .75rem;
			color: #000;
			text-align: center;
			line-height: 1;
			position: absolute;
			bottom: -10%;
			left: 0;
			filter: drop-shadow(0px 4px 2px rgba(0,0,0,0.2));
			transform: translateZ(0);
			span {
				padding: .35rem 1rem;
				border-radius: 50px;
				background: #fff;
			}
		}
		&.single_btn {
			width: 80%;
			background: linear-gradient(to bottom, #dba494, #d2917d 50%, #b07361 100%);
			background-size: 100% 200%;
			background-position: 0 98%;
			&:hover {
				background-position: 0 2%;
			}
		}
		&.double_btn {
			width: 87.25%;
			background: linear-gradient(to bottom, #e1a1a6, #df8c92 50%, #c17379 100%);
			background-size: 100% 200%;
			background-position: 0 98%;
			margin-bottom: 0;
			position: absolute;
			bottom: -2.5rem;
			left: 50%;
			transform: translateX(-50%);
			&:hover {
				background-position: 0 2%;
			}
		}
	}
	.block_spm {
		padding-bottom: 8%;
		position: relative;
		.single_head {
			width: 100%;
			text-align: center;
			position: absolute;
			top: 3%;
			left: 0;
			.subtitle {
				font-size: .875rem;
				font-weight: 700;
				margin-bottom: .25rem;
			}
			h1 {
				font-size: 2rem;
				line-height: 1.4;
				margin: 0 0 .25rem;
			}
			.pococe {
				padding: 0 6.67%;
				display: flex;
				flex-direction: column;
				gap: .5rem;
				.pococe_1 {
					width: 3.75rem;
					padding: 0.125rem;
					background: #fbf8f6;
					border-radius: 50%;
					position: relative;
					.js-shiny {
						width: 100%;
						height: 100%;
						border-radius: 50%;
						display: block;
						position: absolute;
						top: 0;
						left: 0;
						z-index: 20;
					}
				}
				.pococe_2 { width: 3.75rem; position: relative; }
				.pococe_3 { width: 3.75rem; position: relative; }
			}
		}
		.bnr_outer {
			width: 92%;
			position: absolute;
			bottom: 2%;
			left: 50%;
			transform: translateX(-50%);
			.cheers {
				font-size: 1.1875rem;
				font-weight: 700;
				text-align: center;
				margin-bottom: 1rem;
				span {
					position: relative;
					&::before {
						content: "";
						width: .09375rem;
						height: 100%;
						background: #000;
						position: absolute;
						top: 50%;
						left: -0.75rem;
						transform: translateY(-50%) rotate(-15deg);
					}
					&::after {
						content: "";
						width: .09375rem;
						height: 100%;
						background: #000;
						position: absolute;
						top: 50%;
						right: -0.75rem;
						transform: translateY(-50%) rotate(15deg);
					}
				}
				&.glow {
					filter: drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 6px rgba(255,255,255,1)) drop-shadow(0 0 8px rgba(255,255,255,1));
					transform: translateZ(0);
					@media (min-width: 750px) {
						filter: drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 8px rgba(255,255,255,1)) drop-shadow(0 0 12px rgba(255,255,255,1)) drop-shadow(0 0 16px rgba(255,255,255,1));
					}
				}
			}
			.bnr_inner {
				padding: 2rem .5rem .75rem;
				background: #fff;
				position: relative;
				.bnr_label {
					width: 100%;
					text-align: center;
					position: absolute;
					top: -5%;
					left: 0;
					.label {
						font-size: 1rem;
						font-weight: 700;
						color: #fff;
						background: #ec7e8b;
						padding: .35rem 1rem; .35rem 1.5rem;
						line-height: 1;
						margin-left: 8%;
						display: inline-block;
						position: relative;
						.circle {
							width: 2.5rem;
							height: 2.5rem;
							font-size: .575rem;
							font-weight: 700;
							color: #000;
							text-align: center;
							line-height: 1;
							background: #faedab;
							border-radius: 50%;
							display: flex;
							justify-content: center;
							align-items: center;
							position: absolute;
							top: 50%;
							left: -2rem;
							transform: translateY(-50%) rotate(-5deg);
						}
					}
				} /* bnr_label */
				.bnr_body {
					margin-bottom: .5rem;
					position: relative;
					.bnr_name {
						font-size: 1.125rem;
						font-weight: 700;
						color: #ec7e8b;
						text-align: center;
						line-height: 1.25;
						position: absolute;
						top: -6%;
						left: 6%;
					}
					.bnr_kome {
						position: absolute;
						bottom: 0;
						left: 2%;
					}
				}
				.bnr_notice {
					font-size: .625rem;
					font-weight: 700;
					text-align: center;
					line-height: 1;
					padding: .25rem;
					border: .0625rem dotted #000;
				}
			}
		}/*bnr_outer*/
	}
	.double_kome {
		width: 100%;
		text-align: center;
		position: absolute;
		bottom: 1rem;
		left: 0;
	}
	.block_cheers {
		font-size: 1.625rem;
		font-weight: 600;
		text-align:center;
		margin: 1rem 0 .5rem;
		span {
			padding: 0 .75rem;
			position: relative;
			&::before {
				content: "";
				width: .0625rem;
				height: 130%;
				background: #333;
				position: absolute;
				top: 50%;
				left: 0;
				transform: translateY(-50%) rotate(-40deg);
			}
			&::after {
				content: "";
				width: .0625rem;
				height: 130%;
				background: #333;
				position: absolute;
				top: 50%;
				right: 0;
				transform: translateY(-50%) rotate(40deg);
			}
		}
	}/*block_cheers*/
	.block_cart {
		width: 92%;
		letter-spacing: 0;
		margin: 0 auto 1rem;
		padding: 0 .3125rem .3125rem;
		background: #c2a284;
		border-radius: .625rem;
		.head {
			padding: 1rem 0 .5rem;
			background: linear-gradient(to right, #c2a284, #ddcaa8 25%, #fcf3e2 50%, #ddcaa8 75%, #c2a284);
			border-radius: .4125rem .4125rem 0 0;
			.ribbon_outer {
				font-size: 1.125rem;
				font-weight: 700;
				text-align: center;
				line-height: 1;
				position: relative;
				.ribbon {
					padding: .5rem 1.5rem;
					background: linear-gradient(to right, #cd9425, #f5ce50 15%, #f1e1a5 50%, #f5ce50 85%, #cd9425);
					clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%, 10% 50%);
					display: inline-block;
				}
				.kome {
					font-size: .5rem;
					color: #231815;
					position: absolute;
					top: 50%;
					right: 8%;
					transform: translateY(-50%);
				}
			}
			h2 {
				font-size: 1.75rem;
				font-weight: 400;
				.special {
					width: 7.03125rem;
					display: inline-block !important;
					vertical-align: text-top;
				}
			}
		}
		.body {
			padding: 2rem 0 0;
			background: #fff;
			border-radius: 0 0 .3125rem .3125rem;
			.block_title {
				padding-top: 1.75rem;
				margin-bottom: .5rem;
				position: relative;
				.balloon {
					width: 100%;
					font-weight: 700;
					color: #fff;
					text-align: center;
					line-height: 1;
					position: absolute;
					top: -0.5rem;
					left: 0;
					span {
						padding: .5rem .75rem;
						background: #d2917d;
						border-radius: 50px;
						position: relative;
						&::before {
							content: "";
							width: .4375rem;
							height: .4375rem;
							background: #d2917d;
							clip-path: polygon(0 0, 50% 100%, 100% 0);
							position: absolute;
							top: calc(100% - 0.0625rem);
							left: 50%;
							transform: translateX(-50%);
						}
					}
				}
				.text {
					font-size: 1.25rem;
					font-weight: 700;
					color: #dc7480;
					text-align: center;
					line-height: 1;
					.f_min {
						font-size: 2rem;
						font-style: italic;
						margin-right: .125rem;
					}
				}
			}
			.block_item {
				padding-bottom: 2rem;
				margin: 0 1.5rem .9375rem;
				border-bottom: .0625rem solid #d2917d;
				display: flex;
				justify-content: start;
				align-items: center;
				gap: .75rem;
				.item_box {
					display: flex;
					justify-content: center;
					position: relative;
					&.item {
						img { width: 7.8125rem; }
					}
					&.gift {
						img { width: 5.625rem; }
					}
					div {
						width: 100%;
						img { width: 100%; }
					}
					p {
						width: 200%;
						font-size: 0.5625rem;
						text-align: center;
						position: absolute;
						top: 94%;
						left: 50%;
						transform: translateX(-50%);
					}
				}
				.plus {
					width: 2rem;
					height: 2rem;
					font-size: 1.5rem;
					color: #fff;
					line-height: 1;
					background: #d2917d;
					border-radius: 50%;
					display: flex;
					align-items: center;
					justify-content: center;
				}
			}
			.block_price {
				margin-bottom: 1.25rem;
				.name {
					font-size: 1.0625rem;
					font-weight: 700;
					margin-bottom: .25rem;
					.free {
						font-size: .875rem;
						color: #b45560;
						padding: .35rem .5rem;
						background: #f8ddde;
						border-radius: 50px;
						margin-left: .25rem;
					}
				}
				.box_price {
					display: flex;
					justify-content: center;
					gap: .5rem;
					.label {
						font-weight: 700;
						color: #fff;
						text-align: center;
						line-height: 1;
						padding: .25rem 1.25rem .25rem .5rem;
						background: #dc7480;
						clip-path: polygon(85% 0, 100% 50%, 85% 100%, 0 100%, 0 0);
						display: flex;
						align-items: center;
						gap: .125rem;
						.value {
							font-size: 2rem;
						}
						.per {
							text-align: left;
							display: flex;
							flex-direction: column;
							.upper {
								font-size: .75rem;
							}
							.lower {
								font-size: 1.125rem;
							}
						}
					}
					.free {
						width: 3.125rem;
						height: 3.125rem;
						font-size: 1rem;
						color: #b45560;
						text-align: center;
						line-height: 1.25;
						padding: .5rem;
						background: #f8ddde;
						border-radius: .125rem;
						display: flex;
						justify-content: center;
						align-items: center;
					}
					.price {
						color: #dc7480;
						line-height: 1;
						margin-bottom: 0;
						display: flex;
						align-items: end;
						gap: .125rem;
						.value {
							font-size: 3.125rem;
							font-weight: 700;
						}
						.yen {
							text-align: center;
							display: flex;
							flex-direction: column;
							.upper {
								font-size: .5625rem;
							}
							.lower {
								font-size: 1.875rem;
								font-weight: 600;
								padding-bottom: .25rem;
							}
						}
					}
				}
			}
			.block_btn {
				margin: 0 1.5rem 1.5rem;
				position: relative;
				a {
					display: block;
				}
				.circle {
					width: 5.625rem;
					height: 5.625rem;
					color: #553c24;
					text-align: center;
					background: linear-gradient(58deg, #dab766 10%, #f2efc4 48%, #d9b664);
					border-radius: 50%;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					gap: .25rem;
					position: absolute;
					top: 50%;
					left: -2rem;
					transform: translateY(-50%) translateZ(0);
					z-index: 11;
					span {
						line-height: 1.125;
						&.f_min {
							text-align: left;
							padding-left: .25rem;
						}
					}
				}
				.btn {
					width: 100%;
					font-size: 1.25rem;
					font-weight: 700;
					color: #fff;
					text-align: center;
					line-height: 1;
					padding: 1.25rem 0;
					border: .125rem solid #fff;
					border-radius: .625rem;
					background: linear-gradient(to bottom, #f5919d, #d54a5a 90%);
					display: block;
					position: relative;
					&::before {
						content: "";
						width: .75rem;
						height: 1.0625rem;
						display: inline-block;
						clip-path: polygon(0 10%, 0 0, 100% 50%, 0 100%, 0 90%, 80% 50%);
						background: #fff;
						display: block;
						position: absolute;
						top: 50%;
						right: 1rem;
						transform: translateY(-50%);
						z-index: 2;
					}
				}
			}
			.g365 {
				font-size: .875rem;
				font-weight: 600;
				color: #dc7480;
				text-align: center;
				line-height: 1;
				margin-bottom: 1.5rem;
				span {
					padding: .5rem 1rem;
					border: .0625rem solid #dc7480;
					border-radius: 50px;
				}
			}
			.block_guarantee {
				width: 100%;
				padding: .5rem 0 1.5rem;
				background: #f8f5f1;
				border-radius: 0 0 .3125rem .3125rem;
				h3 {
					font-size: 1.0625rem;
					font-weight: 400;
					color: #000;
					text-align: center;
					margin-bottom: .75rem;
				}
				.guarantee_outer {
					display: flex;
					flex-direction: column;
					gap: .75rem;
					padding: 0 1.25rem;
					.guarantee_inner {
						width: 100%;
						display: flex;
						background-color: #fff;
						.left {
							width: 20%;
							display: flex;
							justify-content: center;
							align-items: center;
							position: relative;
							.num {
								width: 2rem;
								font-size: 1.1875rem;
								font-weight: 600;
								font-style: italic;
								color: #966f4a;
								line-height: 1;
								position: absolute;
								top: -0.3rem;
								left: -0.6rem;
								opacity: .4;
							}
							img {
								width: 2.1875rem;
							}
						}
						.right {
							letter-spacing: 0.03125rem;
							flex: 1;
							text-align: left;
							padding: .5rem .5rem .5rem 0;
							.guarantee_title {
								font-size: .8125rem;
								font-weight: 600;
								color: #966f4a;
								margin-bottom: .25rem;
								.border {
									border: .0625rem solid #d0bead;
									border-radius: .125rem;
									padding: .125rem .25rem;
								}
							}
							.guarantee_text {
								font-size: .625rem;
								color: #000;
								line-height: 1.5;
							}
						}
					}
				}
			}/*block_guarantee*/
		}
	}/*block_cart*/
	.set {
		font-size: .625rem;
		text-align: left;
		margin: 0 4%;
	}
	&.cv_2 {
		margin-top: -7rem;
		.block_spm {
			.single_head {
				top: 20%;
			}
		}
	}
	&.azelaic {	/* アゼライン酸 */
		.block_banner {
			font-size: 1.375rem;
			color: #fff;
			padding: .25rem 0;
			background: #a5aa87;
		}
		.block_spm {
			.single_head {
				top: 1rem;
				.subtitle {
					font-size: 1rem;
					margin-bottom: .5rem;
				}
				h1 { font-size: 1.75rem; }
			}
		}
		.block_cart {
			.body {
				.block_title {
					.balloon {
						span {
							width: 88%;
							display: inline-block;
						}
					}
				}
			}
		}
		&.model {
			.block_banner {
				background: linear-gradient(to right, #989d79 20%, #d2917d);
			}
			.block_title {
				.balloon { font-size: 1.125rem; }
				.text { line-height: 1.5; }
			}
			.block_spm {
				.spm_title {
					-ms-writing-mode: tb-rl;
					writing-mode: vertical-rl;
					position: absolute;
					top: 1.5rem;
					right: 4%;
					z-index: 5;
					h1 {
						font-size: 2.25rem;
						font-weight: 400;
						font-feature-settings: initial;
						color: #fff;
						text-align: left;
						line-height: 1.25;
						.shadow {
							filter: drop-shadow(0 0 .125rem rgba(5,35,68,0.25)) drop-shadow(0 0 .25rem rgba(5,35,68,0.25));
							transform: translateZ(0);
						}
					}
				}
				.single_head {
					top: 18.5rem;
					z-index: 5;
					&.head2 { top: -1rem; }
					.pococe_1 { width: 3.9375rem; }
					.pococe_2 { width: 3.5625rem; }
					.pococe_3 { width: 3.5625rem; }
				}
				.spm_item {
					width: 100%;
					position: relative;
					transform: translateY(-3.5rem);
					z-index: 3;
				}
				.spm_model {
					width: 26.75rem;
					position: absolute;
					top: -2.5rem;
					left: -30%;
					z-index: 2;
					.js-fadeIn {
						transform: scale(0.9);
						&.is-inview { transform: scale(1); }
					}
				}
				.spm_night {
					width: 100%;
					position: relative;
					z-index: 1;
				}
			}
			.block_single {
				margin-top: -17rem;
				z-index: 4;
				.sachi { /* SACHIさんCP */
					margin-top: 4.5rem;
					.block_cart {
						padding-top: .3125rem;
						position: relative;
						.icon_sachi {
							width: 7.375rem;
							height: 7.375rem;
							background: linear-gradient(to bottom, #fef1ca, #b28256 20%, #f2e0cd 45%, #d9b28b 72%, #e3c19c 90%, #fffcf4 100%);
							clip-path: circle(50% at 50% 50%);
							position: absolute;
							top: calc(-7.375rem / 1.75);
							left: 50%;
							transform: translateX(-50%);
							z-index: 2;
							.sachi_photo {
								width: 6.875rem;
								height: 6.875rem;
								clip-path: circle(50% at 50% 50%);
								position: absolute;
								top: 50%;
								left: 50%;
								transform: translate(-50%, -50%);
							}
						}
						.head {
							padding-top: 3.5rem;
							padding-bottom: 1.5rem;
							background: url("https://images.bglen.net/bg/sp/spm/20250705/cart_head_sachi.webp") center top / cover no-repeat;
							h2 {
								font-size: 1.25rem;
								color: #fff;
								filter: drop-shadow(0 0 0.125rem #e84154) drop-shadow(0 0 0.1875rem #e84154) drop-shadow(0 0 0.25rem #e84154);
								transform: translateZ(0);
							}
							.head_text {
								font-size: 1.5rem;
								font-weight: 700;
								color: #fff;
								filter: drop-shadow(0 0 .125rem rgba(228,31,144,1)) drop-shadow(0 0 .125rem rgba(228,31,144,1)) drop-shadow(0 0 .25rem rgba(228,31,144,1));
								transform: translateZ(0);
							}
							.head_balloon {
								width: 7.25rem;
								position: absolute;
								top: 1rem;
								left: -0.5rem;
								z-index: 2;
								filter: drop-shadow(0 0 .125rem rgba(228,31,144,1)) drop-shadow(0 0 .125rem rgba(228,31,144,1)) drop-shadow(0 0 .25rem rgba(228,31,144,1));
								transform: translateZ(0);
							}
						}
						.body {
							padding-top: 1.5rem;
							position: relative;
							.block_ribbon {
								width: 100%;
								font-size: 1.25rem;
								font-weight: 700;
								text-align: center;
								line-height: 1;
								position: absolute;
								top: -1rem;
								left: 0;
								z-index: 3;
								.ribbon_text {
									color: #d32f81;
									padding: .35rem 1.5rem;
									background: linear-gradient(to right, #dfb98f, #fdf8f1 50%, #dfb98f 100%);
									clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%, 6% 50%);
									display: inline-block;
								}
							}
							.block_cheers {
								margin-top: 0;
								.cheers_text {
									font-size: 1.5rem;
									color: #a07b65;
									padding: 0 1rem;
									&::before {
										height: 100%;
										background: #a07b65;
									}
									&::after {
										height: 100%;
										background: #a07b65;
									}
								}
							}
							.block_item {
								justify-content: center;
								padding-bottom: 0;
								margin-bottom: 0;
								.box_inner {
									width: 9rem;
									position: relative;
									img {
										width: 100%;
										position: relative;
										z-index: 2;
									}
									.circle_discount {
										font-size: 1.625rem;
										background: linear-gradient(to bottom, #feefb9, #fdf8f1 50%, #feefb9 100%); 
										-webkit-background-clip: text;
										-webkit-text-fill-color: transparent;
										line-height: 1;
										position: absolute;
										top: 2rem;
										right: 0;
										&::before {
											content: "";
											width: 7.0625rem;
											height: 7.0625rem;
											background: #e34091;
											clip-path: circle(50% at 50% 50%);
											position: absolute;
											top: 50%;
											left: 50%;
											transform: translate(-50%, -50%);
											z-index: -1;
										}
									}
									.kome {
										width: 100%;
										text-align: right;
										position: absolute;
										top: 68%;
										right: -0.5rem;
									}
								}
							}
							.block_price {
								margin-top: -2rem;
								margin-bottom: 0.75rem;
								.price_regular {
									font-size: 0.9375rem;
									.through {
										position: relative;
										&::after {
											content: "";
											width: 100%;
											height: 100%;
											background: #d85060;
											clip-path: polygon(calc(100% - 0.0625rem) 0, 100% 0.0625rem, 0.0625rem 100%, 0 calc(100% - 0.0625rem));
											position: absolute;
											top: 0;
											left: 0;
										}
									}
								}
							}
						}
					}
				}
				h2 {
					font-size: 1.625rem;
					font-weight: 700;
				}
			}
			.block_item {
				border-bottom: none;
				padding-bottom: 1rem;
			}
		}/* &.model */
	}/* &.azelaic */
}


/* SALE */
.sale_on .cv_area {
	.block_single {
		margin-top: -11rem;
		.price {
			line-height: 1.35;
			.price_sale {
				font-size: .875rem;
				color: #fff;
				line-height: 1;
				margin: .75rem 0 .5rem;
				.obi {
					padding: .25rem 1.25rem;
					background: #b10012;
				}
			}
		}
	}
}


/* amazon */
.block_amazon {
	width: 92%;
	margin: 0 auto 4rem;
	padding: 1.75rem 1.25rem;
	background: #fff;
	border: .3rem solid #ff6200;
	border-radius: .625rem;
	position: relative;
	&.amazon2 {
		margin-top: 2rem;
		margin-bottom: 0;
	}
	.amazon_cheers {
		font-size: 1.125rem;
		font-weight: 700;
		color: #151d26;
		text-align: center;
		margin-bottom: .75rem;
		span {
			padding: 0 1.5rem;
			display: inline-block;
			position: relative;
			&::before {
				content: "";
				width: .0625rem;
				height: 110%;
				background: #151d26;
				position: absolute;
				top: 50%;
				left: 0;
				transform: translateY(-50%) rotate(-30deg);
			}
			&::after {
				content: "";
				width: .0625rem;
				height: 110%;
				background: #151d26;
				position: absolute;
				top: 50%;
				right: 0;
				transform: translateY(-50%) rotate(30deg);
			}
			img {
				width: 5.5rem;
				vertical-align: middle;
				margin-right: .5rem;
				display: inline-block !important;
			}
		}
	}
	a {
		display: block;
	}
	.amazon_btn {
		font-size: 1.25rem;
		font-weight: 600;
		color: #000;
		text-align: center;
		padding: .75rem .5rem;
		margin: auto;
		border-radius: 100px;
		background-color: #ffd815;
		&:hover {
			opacity: .75;
		}
	}
	.amazon_widget {
		padding: 1.75rem;
		background: #f8f9fa;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		@media (min-width: 750px) {
			padding: 1.25rem;
			flex-direction: row;
		}
		.left {
			flex: 1;
			padding: .5rem;
			background: #fff;
			img {
				width: 75%;
				margin: auto;
			}
		}
		.right {
			flex: 2;
			.widget_name {
				font-size: 1rem;
				margin-bottom: .5rem;
				@media (min-width: 750px) { font-size: .75rem; }
				a {
					color: #0070c9;
					&:hover {
						text-decoration: underline !important;
					}
				}
			}
			.widget_price {
				font-size: .875rem;
				text-align: center;
				margin-bottom: .5rem;
				@media (min-width: 750px) {
					font-size: .625rem;
					text-align: left;
				}
			}
			.widget_btn {
				font-size: 1.25rem;
				font-weight: 700;
				color: #fff;
				text-align: center;
				padding: .5rem;
				border-radius: 100px;
				background-color: #ff6200;
				@media (min-width: 750px) { font-size: .75rem; }
				&:hover {
					opacity: .75;
				}
			}
		}
	}
}




/* --------------------------------------------------------------------------------
 #Concept
-------------------------------------------------------------------------------- */
#Concept {
	margin-bottom: 3.5rem;
	background: #fff;
	.head {
		margin-bottom: 5%;
		.label {
			font-size: .75rem;
			font-family: Times, serif;
			text-align: center;
			margin-bottom: 2rem;
			span {
				position: relative;
				&::after {
					content: "";
					width: 20vw;
					max-width: 150px;
					height: .0625rem;
					background: #000;
					position: absolute;
					bottom: -1.25rem;
					left: 50%;
					transform: translateX(-50%);
				}
			}
		}
		h2 {
			font-size: 2.5rem;
		}
	}
	.model {
		width: 93.334%;
		margin: 0 0 8% auto;
		position: relative;
		z-index: 2;
	}
	.block_concept {
		position: relative;
		&::before {
			content: "";
			width: 100%;
			height: 122%;
			background: #ced1bd;
			position: absolute;
			top: -38%;
			left: 0;
			z-index: 1;
		}
		h3 {
			font-size: 2.125rem;
			line-height: 1.35;
			padding-left: 6.67%;
			margin-bottom: 6%;
			position: relative;
			z-index: 2;
		}
		.text_concept {
			font-size: 1rem;
			line-height: 1.65;
			padding-left: 6.67%;
			margin-bottom: 2.5rem;
			position: relative;
			z-index: 2;
		}
		.photo_1 {
			width: 8.125rem;
			position: relative;
			z-index: 2;
		}
		.photo_2 {
			width: 12.5rem;
			position: absolute;
			bottom: 3.5%;
			right: 6.67%;
			z-index: 2;
		}
	}
}


/* --------------------------------------------------------------------------------
 #Pococe
-------------------------------------------------------------------------------- */
#Pococe {
	text-align: center;
	padding-bottom: 15%;
	margin-bottom: 14%;
	position: relative;
	&::before {
		content: "";
		width: 92%;
		height: 100%;
		border: .2rem solid #afac8e;
		position: absolute;
		top: .75%;
		left: 50%;
		transform: translateX(-50%);
	}
	&::after {
		content: "";
		width: calc(92% - 1rem);
		height: calc(100% - 1rem);
		border: .0625rem solid #afac8e;
		position: absolute;
		top: calc(.75% + .5rem);
		left: 50%;
		transform: translateX(-50%);
	}
	.body {
		position: relative;
		z-index: 2;
		.label {
			font-size: .875rem;
			font-family: Times, serif;
			margin-bottom: 1rem;
			span {
				padding: .25rem 1.5rem;
				background: #afac8e;
			}
		}
		.subtitle {
			font-size: 1.125rem;
			font-weight: 700;
			color: #87824b;
			padding-bottom: 3%;
			margin-bottom: 3%;
			position: relative;
			&::after {
				content: "";
				width: 78.4%;
				height: .0625rem;
				background: #afac8e;
				position: absolute;
				bottom: 0;
				left: 50%;
				transform: translateX(-50%);
			}
		}
		h2 {
			font-size: 1.875rem;
			line-height: 1.35;
			.god {
				font-size: 2.1875rem;
			}
		}
		.block_badge {
			width: calc(90% - 2rem);
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 1.5rem;
			margin: 0 auto 5%;
			div {
				flex: 1;
				position: relative;
				&.pococe1 { flex: 1.125; }
				img {
					width: 100%;
					margin: auto;
				}
			}
		}
		.text {
			font-size: .875rem;
			font-weight: 700;
			line-height: 1.8;
			margin-bottom: 5%
		}
		.block_magazine {
			width: 100%;
			position: relative;
			.cover {
				width: 54.53%;
				position: relative;
				z-index: 2;
			}
			.inside {
				width: 47.1%;
				position: absolute;
				top: 22%;
				right: 0;
				z-index: 1;
			}
			.annotation_cover {
				position: absolute;
				top: 0;
				left: 60%;
				p {
					font-size: .625rem;
					text-align: left;
					position: relative;
					&::before {
						content: "";
						width: 1.33vw;
						max-width: 10px;
						height: 1.867vw;
						max-height: 14px;
						background: #000;
						clip-path: polygon(100% 0, 0 50%, 100% 100%);
						position: absolute;
						top: 14%;
						left: -10%;
					}
				}
			}
			.annotation_inside {
				position: absolute;
				top: 15%;
				right: 10%;
				p {
					font-size: .625rem;
					text-align: left;
					position: relative;
					&::before {
						content: "";
						width: 1.867vw;
						max-width: 14px;
						height: 1.33vw;
						max-height: 10px;
						background: #000;
						clip-path: polygon(0 0, 50% 100%, 100% 0);
						position: absolute;
						top: 50%;
						left: -20%;
						transform: translateY(-50%);
					}
				}
			}
		}
	}
}

/* --------------------------------------------------------------------------------
 #Voice
-------------------------------------------------------------------------------- */
#Voice {
	margin-bottom: 3.5rem;
	background: #fff;
	.head {
		margin-bottom: 5%;
		.label {
			font-size: .75rem;
			font-family: Times, serif;
			text-align: center;
			margin-bottom: 1.5rem;
			span {
				position: relative;
				&::after {
					content: "";
					width: 20vw;
					max-width: 150px;
					height: .0625rem;
					background: #000;
					position: absolute;
					bottom: -1.25rem;
					left: 50%;
					transform: translateX(-50%);
				}
			}
		}
		h2 {
			font-size: 2.25rem;
			line-height: 1.25;
			.subtitle {
				font-size: 1rem;
				font-weight: 700;
			}
		}
	}
	.block_balloon {
		margin-bottom: 1rem;
		p {
			font-size: 1.0625rem;
			margin-bottom: 6%;
			padding: 2.5% 5%;
			background: #ffeef1;
			display: inline-block;
			position: relative;
			&::before {
				content: "";
				width: .78125em;
				height: .9375em;
				background: #ffeef1;
				position: absolute;
				bottom: -0.9em;
			}
			&.balloon_1 {
				margin-left: 8.93%;
				&::before {
					clip-path: polygon(0 0, 100% 100%, 75% 0);
					left: 10%;
				}
			}
			&.balloon_2 {
				margin-left: 24%;
				&::before {
					clip-path: polygon(25% 0, 0 100%, 100% 0);
					right: 10%;
				}
			}
			&.balloon_3 {
				margin-left: 4.93%;
				&::before {
					clip-path: polygon(0 0, 100% 100%, 75% 0);
					left: 10%;
				}
			}
		}
	}
	.cheers {
		font-size: 1.25rem;
		font-weight: 700;
		text-align: center;
		margin-bottom: 2%;
		span {
			padding: 0 4%;
			position: relative;
			&::before {
				content: "";
				width: .0625rem;
				height: 120%;
				background: #000;
				position: absolute;
				top: 50%;
				left: 0;
				transform: translateY(-50%) rotate(-40deg);
			}
			&::after {
				content: "";
				width: .0625rem;
				height: 120%;
				background: #000;
				position: absolute;
				top: 50%;
				right: 0;
				transform: translateY(-50%) rotate(40deg);
			}
		}
	}
	.block_slider {
		padding: 5% 0;
		background: #d2917d;
		h3 {
			font-size: 1.25rem;
			font-weight: 700;
			color: #fff;
			text-align: center;
			margin-bottom: 4%;
		}
		.slider {
			padding-bottom: 5%;
			li {
				margin: 0 .25%;
			}
			.slick-dots {
				li button:before {
					color: #fff;
					opacity: 1;
				}
				li.slick-active button:before {
					color: #000;
					opacity: 1;
				}
			} 
		}
	}
}


/* --------------------------------------------------------------------------------
 #Recommend
-------------------------------------------------------------------------------- */
#Recommend {
	margin-bottom: 3.5rem;
	.head {
		margin-bottom: 5%;
		.label {
			font-size: .75rem;
			font-family: Times, serif;
			text-align: center;
			margin-bottom: 1.5rem;
			span {
				position: relative;
				&::after {
					content: "";
					width: 20vw;
					max-width: 150px;
					height: .0625rem;
					background: #000;
					position: absolute;
					bottom: -1.25rem;
					left: 50%;
					transform: translateX(-50%);
				}
			}
		}
		h2 {
			font-size: 2.25rem;
		}
	}
	.block_list {
		position: relative;
		ul {
			width: 94%;
			font-size: 1.0625rem;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			li {
				line-height: 1.8;
				margin-bottom: 5%;
				padding-left: 1.5rem;
				position: relative;
				&:last-child {
					margin-bottom: 0;
				}
				&::before {
					content: "";
					width: .9415em;
					height: .9415em;
					background: #fff;
					border: .0625rem solid #000;
					position: absolute;
					top: .35em;
					left: 0;
				}
				&::after {
					content: "";
					width: 1.05em;
					height: 1.05em;
					background: #000;
					clip-path: polygon(35% 82%, 94% 6%, 100% 16%, 35% 100%, 0 55%, 7% 46%);
					position: absolute;
					top: .1rem;
					left: .15em;
				}
			}
		}
	}
	&.azelaic {
		.block_list {
			li {
				line-height: 1.25;
				margin-bottom: 1rem;
				}
		}
	}
}


/* --------------------------------------------------------------------------------
 #Attraction
-------------------------------------------------------------------------------- */
#Attraction {
	margin-bottom: 3.5rem;
	.block_intro {
		position: relative;
		.intro_head {
			width: 100%;
			position: absolute;
			top: 2.75rem;
			left: 0;
			.label {
				font-size: .75rem;
				font-family: Times, serif;
				color: #fff;
				text-align: center;
				line-height: 1;
				margin-bottom: 3rem;
				span {
					position: relative;
					&::after {
						content: "";
						width: 20vw;
						max-width: 150px;
						height: .0625rem;
						background: #fff;
						position: absolute;
						top: calc(100% + 1.4rem);
						left: 50%;
						transform: translateX(-50%);
					}
				}
			}
			h2 {
				font-size: 2.25rem;
				color: #fff;
				line-height: 1;
			}
		}
		.intro_body {
			width: 100%;
			position: absolute;
			top: 12rem;
			left: 0;
			.cheers_intro {
				font-size: 1rem;
				font-weight: 700;
				color: #fff;
				text-align: center;
				margin-bottom: .5rem;
				span {
					padding: 0 4%;
					position: relative;
					&::before {
						content: "";
						width: .0625rem;
						height: 120%;
						background: #fff;
						position: absolute;
						top: 50%;
						left: 0;
						transform: translateY(-50%) rotate(-40deg);
					}
					&::after {
						content: "";
						width: .0625rem;
						height: 120%;
						background: #fff;
						position: absolute;
						top: 50%;
						right: 0;
						transform: translateY(-50%) rotate(40deg);
					}
				}
			}
			.charm_box {
				display: flex;
				justify-content: center;
				align-items: center;
				gap: 1rem;
				.left {
					width: 3.9375rem;
					img {
						margin: 0 0 0 auto;
					}
				}
				.right {
					text-align: left;
					.cica {
						font-size: .9375rem;
						font-weight: 700;
						color: #fff;
						margin-bottom: .25rem;
					}
					.charm {
						font-size: 2.1875rem;
						font-weight: 700;
						color: #f7c6c8;
						line-height: 1;
					}
				}
			}
		}
		.intro_item {
			width: 13.375rem;
			position: absolute;
			bottom: -3.25rem;
			left: 19%;
			z-index: 3;
		}
		.kome {
			width: 32%;
			position: absolute;
			bottom: 5%;
			right: 4%
		}
	}/*block_intro*/
	.kome_intro {
		text-align: right;
		margin: 1rem 0;
		span {
			text-align: left;
			display: inline-block;
		}
	}
	.block_attraction {
		margin-bottom: 2rem;
		.vline {
			width: 100%;
			height: 2.5rem;
			margin-bottom: 2rem;
			position: relative;
			&::before {
				content: "";
				width: .0625rem;
				height: 100%;
				margin: auto;
				background-color: #000;
				position: relative;
				display: block;
			}
		}
		.attraction_head {
			text-align: center;
			margin-bottom: 5%;
			position: relative;
			.subtitle {
				font-size: .875rem;
				font-weight: 700;
				position: relative;
				z-index: 2;
			}
			h2 {
				font-size: 1.625rem;
				font-weight: 700;
				position: relative;
				z-index: 2;
			}
			.kome {
				position: absolute;
				bottom: -20%;
				right: 4%;
			}
			.num {
				height: 4.6875rem;
				position: absolute;
				top: 50%;
				left: 4%;
				transform: translateY(-50%);
				z-index: 1;
			}
		}
		&.block_1 {
			.attraction_head {
				h2 {
					.c_off { color: #c58270; }
					.c_def { color: #687760; }
				}
				img {
					width: 2.125rem;
				}
			}
			.text_box {
				padding: 6.67%;
				margin-right: 6.67%;
				background: #ced1bd;
				transform: translateY(-22%);
				position: relative;
				p {
					font-size: .75rem;
					line-height: 1.8;
				}
				.qusome {
					width: 39.2vw;
					max-width: 294px;
					height: 46.93vw;
					max-height: 352px;
					position: absolute;
					top: -48%;
					right: -2%;
				}
			}
			.column_box {
				width: 92%;
				margin: 0 auto 1rem;
				border: .0625rem solid #d2917d;
				.column_head {
					padding: 1.25rem 0 0.625rem;
					border-bottom: .0625rem solid #d2917d;
					position: relative;
					.column_label {
						width: 100%;
						text-align: center;
						position: absolute;
						top: -15%;
						left: 0;
						span {
							font-size: .875rem;
							color: #fff;
							padding: .5rem .75rem;
							background: #d2917d;
						}
					}
					.column_cheers {
						font-size: .875rem;
						font-weight: 700;
						color: #000;
						text-align: center;
						span {
							padding:  0 .75rem;
							position: relative;
							&::before {
								content: "";
								width: .0625rem;
								height: 120%;
								background: #000;
								position: absolute;
								top: 50%;
								left: 0;
								transform: translateY(-50%) rotate(-40deg);
							}
							&::after {
								content: "";
								width: .0625rem;
								height: 120%;
								background: #000;
								position: absolute;
								top: 50%;
								right: 0;
								transform: translateY(-50%) rotate(40deg);
							}
						}
					}
					h3 {
						font-size: 1.125rem;
						font-weight: 700;
						text-align: center;
						line-height: 1;
					}
				}/*column_head*/
				.column_body {
					padding: 1.25rem;
					.title {
						display: flex;
						justify-content: space-between;
						margin-bottom: 1.25rem;
						.left{
							flex: 1;
							h4 {
								font-size: 1.1875rem;
								font-weight: 700;
								line-height: 1.5;
								margin-bottom: 1rem;
							}
							.name {
								font-size: .75rem;
							}
						}
						.right {
							width: 26%;
						}
					}
					.readmore_outer {
						position: relative;
						.readmore_inner {
							position: relative;
							height: 18vw;
							max-height: 125px;
							transition: all .4s;
							overflow: hidden;
							&::before {
								content: "";
								width: 100%;
								height: 23vw;
								max-height: 160px;
								background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 80%);
								display: block;
								position: absolute;
								left: 0;
								bottom: 0;
								z-index: 2;
								transition: all .4s;
							}
							&.is-open {
								max-height: initial;
								&::before{
									display: none;
								}
							}
							p {
								font-size: .875rem;
							}
						}
						.readmore_btn {
							width: 62.3%;
							cursor: pointer;
							display: inline-block;
							z-index: 1;
							position: absolute;
							bottom: 0;
							left: 50%;
							transform: translateX(-50%);
							z-index: 3;
							transition: all .4s;
							&.is-hide {
								display: none;
							}
							p {
								font-size: .8125rem;
								font-weight: 700;
								text-align: center;
								padding: .6rem 0;
								background: #ced1bd;
								position: relative;
								&::after {
									content: "";
									width: .9rem;
									height: .6rem;
									clip-path: polygon(10% 0, 50% 80%, 90% 0, 100% 0, 50% 100%, 0 0);
									background: #000;
									position: absolute;
									top: 50%;
									right: 6%;
									transform: translateY(-50%);
								}
							}
						  }
					}
				}
			}/*column_box*/
		}/*block_1*/
		&.block_2 {
			.attraction_head {
				img {
					width: 3.4rem;
				}
			}
			.attraction_body {
				.trouble_outer {
					margin-top: -28%;
					padding: 0 4%;
					.trouble_cheers {
						font-size: 1.875rem;
						font-weight: 700;
						color: #fff;
						text-align: center;
						span {
							padding: 0 8%;
							position: relative;
							&::before {
								content: "";
								width: .0625rem;
								height: 120%;
								background: #fff;
								position: absolute;
								top: 50%;
								left: 0;
								transform: translateY(-50%) rotate(-40deg);
							}
							&::after {
								content: "";
								width: .0625rem;
								height: 120%;
								background: #fff;
								position: absolute;
								top: 50%;
								right: 0;
								transform: translateY(-50%) rotate(40deg);
							}
						}
					}
					.trouble_inner {
						width: 100%;
						text-align: center;
						padding: 5% 4%;
						margin: 0 auto 5%;
						background: linear-gradient(-45deg, #e9dad0 15%, #dacdd6 50%, #dcc9cf 70%, #c9becf 85%, #abafce);
						position: relative;
						overflow: hidden;
						&::before {
							content: "";
							width: 92vw;
							height: 92vw;
							background-image: radial-gradient(circle,rgba(255,255,255,1),transparent 70%);
							display: block;
							position: absolute;
							top: -15%;
							left: 50%;
							transform: translateX(-50%);
							z-index: 1;
						}
						h3 {
							font-size: 1.125rem;
							font-weight: 700;
							margin-bottom: 4%;
							position: relative;
							z-index: 2;
						}
						.trouble_box {
							margin-bottom: 8%;
							position: relative;
							z-index: 2;
							.trouble_head {
								width: 71%;
								font-size: 1.25rem;
								font-weight: 700;
								text-align: center;
								margin: 0 auto -1.5rem;
								padding: .4rem 0;
								border: .2rem solid #fff;
								border-radius: .25rem;
								position: relative;
								z-index: 2;
							}
							.trouble_body {
								background: #fff;
								border-radius: .4rem;
								padding: 2.3rem 0 1.2rem;
								.text {
									font-size: .8125rem;
									margin-bottom: .8rem;
									&.glow {
										filter: drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1));
										transform: translateZ(0);
										@media (min-width: 750px) {
											filter: drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 0 4px rgba(255,255,255,1));
										}
									}
								}
								.ingredient {
									font-size: .75rem;
									font-weight: 700;
									color: #fff;
									line-height: 1;
									span {
										padding: .3rem 1rem;
									}
								}
							}
							&.trouble_damage {
								.trouble_head {
									background: #ebefe8;
									border-color: #687760;
								}
								.trouble_body {
									background: url("https://images.bglen.net/bg/sp/spm/attraction_2_damege.jpg") #fff left top / contain no-repeat;
									.ingredient span { background: #687760; }
								}
							}
							&.trouble_lift {
								.trouble_head {
									background: #f1ece3;
									border-color: #ac9d7e;
								}
								.trouble_body {
									background: url("https://images.bglen.net/bg/sp/spm/attraction_2_lift.jpg") #fff right top / contain no-repeat;
									.ingredient span { background: #ac9d7e; }
								}
							}
							&.trouble_line {
								.trouble_head {
									background: #f6efed;
									border-color: #d39587;
								}
								.trouble_body {
									background: url("https://images.bglen.net/bg/sp/spm/attraction_2_line.jpg") #fff left top / contain no-repeat;
									.ingredient span { background: #d39587; }
								}
							}
							&.trouble_swelling {
								.trouble_head {
									background: #fef2f4;
									border-color: #bf8790;
								}
								.trouble_body {
									background: url("https://images.bglen.net/bg/sp/spm/attraction_2_swelling.jpg") #fff right top / contain no-repeat;
									.ingredient span { background: #bf8790; }
								}
							}
							&.trouble_dry {
								.trouble_head {
									background: #ecf0f5;
									border-color: #697f9b;
								}
								.trouble_body {
									background: url("https://images.bglen.net/bg/sp/spm/attraction_2_dry.jpg") #fff left top / contain no-repeat;
									.ingredient span { background: #697f9b; }
								}
							}
						}/*trouble_box*/
						.message {
							font-size: 1.3125rem;
							font-weight: 700;
						}
					}/*inner_trouble*/
				}
			}
		}/*block_2*/
		&.block_3 {
			.attraction_head {
				margin-bottom: 2.375rem;
				img {
					width: 3.125rem;
				}
			}
			.attraction_body {
				.spatula_box {
					position: relative;
					.title_spatula {
						width: calc(100% - 6.67%);
						font-size: 1.625rem;
						font-weight: 700;
						color: #fff;
						text-align: center;
						background: #c58270;
						position: absolute;
						top: -4%;
						left: 0;
					}
					.item_spatula {
						width: 90.267vw;
						max-width: 677px;
						height: 115.6vw;
						max-height: 867px;
						position: absolute;
						top: 20%;
						left: 10%;
						z-index: 3;
						&.shadow {
							filter: drop-shadow(0 10px 10px rgba(97,49,10,.5)) drop-shadow(0 20px 20px rgba(97,49,10,.5)) drop-shadow(0 20px 20px rgba(97,49,10,.25));
							transform: translateZ(0);
							z-index: 10;
							@media (min-width: 750px) {
								filter: drop-shadow(0 20px 20px rgba(97,49,10,.5)) drop-shadow(0 40px 40px rgba(97,49,10,.5)) drop-shadow(0 40px 40px rgba(97,49,10,.25));
							}
						}
					}
					.balloon {
						padding: 0.8125rem 0.8125rem 0.8125rem 2.125rem;
						background: #fff;
						position: absolute;
						z-index: 2;
						p {
							font-size: 1rem;
							text-align: left;
							letter-spacing: 0;
							position: relative;
							&::before {
								position: absolute;
								top: 0;
							}
						}
						&.balloon_1 {
							top: 14%;
							right: 4.5%;
							p::before {
								content: "❶";
								left: -11%;
							}
						}
						&.balloon_2 {
							top: 38%;
							right: 0;
							p::before {
								content: "❷";
								left: -15%;
							}
						}
						&.balloon_3 {
							background: rgba(255,255,255,.85);
							top: 62%;
							left: 0;
							p::before {
								content: "❸";
								left: -12%;
							}
						}
					}
				}/*spatula_box*/
				video {
					width: 82%;
					margin: -4.6875rem auto 1.1875rem;
					display: block;
					position: relative;
					z-index: 3;
				}
				.text {
					font-size: .75rem;
					padding: 0 4%;
				}
			}
		}/*block_3*/
		&.block_end {
			.end_head {
				.end_cheers {
					font-size: 1.25rem;
					font-weight: 700;
					color: #000;
					text-align: center;
					margin-bottom: .5rem;
					span {
						padding: 0 6%;
						position: relative;
						&::before {
							content: "";
							width: .0625rem;
							height: 120%;
							background: #000;
							position: absolute;
							top: 50%;
							left: 0;
							transform: translateY(-50%) rotate(-40deg);
						}
						&::after {
							content: "";
							width: .0625rem;
							height: 120%;
							background: #000;
							position: absolute;
							top: 50%;
							right: 0;
							transform: translateY(-50%) rotate(40deg);
						}
					}
				}
				.subtitle {
					font-size: 1rem;
					font-weight: 700;
					color: #dc7480;
					text-align: center;
					margin-bottom: .5rem;
				}
				h2 {
					font-size: 2rem;
					line-height: 1.35;
					margin-bottom: 3.5rem;
				}
			}
			.end_body {
				padding: 2.8125rem 0;
				background: #f7c6c8;
				.model_box {
					margin-bottom: 1.875rem;
					padding: 0 5%;
					position: relative;
					.model_after {
						width: 61.33vw;
						max-width: 459px;
						height: 61.33vw;
						max-height: 459px;
						border: .3rem solid #ce777a;
						border-radius: 50%;
						position: absolute;
						top: -74%;
						right: 2%;
					}
					.arrow {
						width: 17.73vw;
						max-width: 133px;
						height: 7.467vw;
						max-height: 56px;
						position: absolute;
						top: 90%;
						left: 32%;
					}
					.model_before {
						width: 34.93vw;
						max-width: 262px;
						height: 34.93vw;
						max-height: 262px;
						border-radius: 50%;
					}
				}
				.ba_box {
					width: 100%;
					display: flex;
					gap: 6%;
					padding: 0 6.67%;
					.ba_inner {
						flex: 1;
						display: flex;
						flex-direction: column;
						gap: .5rem;
						.ba_title {
							font-size: .875rem;
							font-family: Times,serif;
							color: #fff;
							text-align: center;
						}
						&.before {
							.ba_title { background: #a09f96; }
						}
						&.after {
							.ba_title { background: #ce777a; }
						}
						.photo {
							position: relative;
							.balloon_outer {
								width: 16.267vw;
								max-width: 122px;
								height: 16.267vw;
								max-height: 122px;
								position: absolute;
								top: 50%;
								left: -8%;
								transform: translateY(-50%);
								.balloon_inner {
									width: 100%;
									height: 100%;
									position: relative;
									p {
										width: 100%;
										font-size: .875rem;
										text-align: left;
										line-height: 1.25;
										position: absolute;
										top: 50%;
										left: 12%;
										transform: translateY(-50%) rotate(-15deg);
										z-index: 2;
									}
									.balloon {
										width: 100%;
										height: 100%;
										background: #fff;
										border-radius: 50%;
										display: block;
										position: relative;
										transform: rotate(-60deg);
										opacity: .8;
										&::after {
											content: "";
											width: 1rem;
											height: .8rem;
											background: #fff;
											clip-path: polygon(0 0, 50% 100%, 100% 0);
											position: absolute;
											bottom: -0.75rem;
											left: 50%;
											transform: translateX(-50%);
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	&.azelaic {
		.block_1 {
			.attraction_body {
				padding-bottom: 1rem;
				background: #f4f4f4;
				position: relative;
				.block1_contents {
					position: relative;
					.block1_title {
						color: #fff;
						margin-bottom: 1rem;
						position: relative;
						z-index: 3;
						.title_inner {
							padding: 0.9375rem;
							display: inline-block;
							p {
								font-size: 0.875rem;
								font-weight: 700;
								margin-bottom: .25rem;
							}
							h3 {
								font-size: 1.625rem;
								line-height: 1;
							}
						}
					}
					.block1_detail {
						position: relative;
						z-index: 3;
						h4 {
							font-size: 1.125rem;
							margin-bottom: 1rem;
						}
						ul {
							margin-bottom: 1rem;
							list-style: none;
							li {
								font-size: 0.75rem;
								padding-left: 1rem;
								margin-bottom: .25rem;
								position: relative;
								&::before {
									content: "●";
									font-size: 0.75rem;
									position: absolute;
									top: 0;
									left: 0;
								}
								&:last-child { margin-bottom: 0; }
							}
						}
					}
					.block1_capsule {
						position: absolute;
						z-index: 2;
					}
					.block1_petri {
						position: absolute;
						z-index: 1;
					}
					&.cnt_azelaic {
						padding-top: 2.5rem;
						.title_inner {
							background: #c58270;
						}
						.block1_detail {
							padding-left: 4%;
							h4 {
								color: #c58270;
							}
							ul {
								width: 55%;
								li::before { color: #c58270; }
							}
						}
						.block1_capsule {
							width: 8.875rem;
							top: 11.5rem;
							right: 4%;
						}
						.block1_petri {
							width: 18.875rem;
							top: 2rem;
							right: -16%;
						}
					}
					&.cnt_cica {
						.block1_title {
						text-align: right;
							.title_inner {
								background: #687760;
							}
						}
						.block1_detail {
							padding: 0 4% 0 50%;
							h4 {
								color: #687760;
							}
							ul {
								li::before { color: #687760; }
							}
						}
						.block1_capsule {
							width: 8.875rem;
							top: 8.5rem;
							left: 4%;
						}
						.block1_petri {
							width: 18.875rem;
							top: -1rem;
							left: -26%;
						}
					}
				}/* block1_contents */
				.cross {
					width: 3.75rem;
					height: 3.75rem;
					margin: 1rem auto;
					position: relative;
					z-index: 4;
					&::before {
						content: "";
						width: .0625rem;
						height: 100%;
						background: #000;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%) rotate(45deg);
					}
					&::after {
						content: "";
						width: .0625rem;
						height: 100%;
						background: #000;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%) rotate(-45deg);
					}
				}
				.message {
					font-size: 1.3125rem;
					font-weight: 700;
					text-align: center;
					margin: 2rem 0 4rem;
				}
				.column_box {
					padding: 0.9375rem;
					background: #dcdecf;
					border: none;
					position: relative;
					.column_head {
						width: 100%;
						padding: 0;
						border-bottom: none;
						position: absolute;
						top: -2.75rem;
						left: 0;
						z-index: 2;
						.column_label {
							position: relative;
							top: initial;
							left: 0;
							span {
								background: #c58270;
							}
						}
						.column_cheers {
							font-size: 1.125rem;
							color: #c58270;
							margin-bottom: .25rem;
							span {
								&::before { background: #c58270; }
								&::after { background: #c58270; }
							}
						}
					}/*column_head*/
					.column_body {
						padding: 0;
						.title {
							padding-top: 1.25rem;
							margin-bottom: 1rem;
							.left{
								position: relative;
								h3 {
									font-size: 1.125rem;
									font-weight: 700;
									line-height: 1.35;
									margin-bottom: .5rem;
								}
								.name {
									padding-left: 40%;
								}
								.doctor {
									width: 7rem;
									position: absolute;
									top: -3.75rem;
									right: -0.9375rem;
								}
							}
						}
						.column {
							margin-bottom: 1rem;
							background: #fff;
							border-radius: 0.3125rem;
							overflow: hidden;
							position: relative;
							z-index: 2;
							.column_label {
								font-size: 1rem;
								font-weight: 700;
								color: #fff;
								text-align: center;
								line-height: 1;
								padding: .5rem 0;
							}
							.column_inner {
								padding: 0.9375rem;
								position: relative;
								h4 {
									font-size: 1.1875rem;
									margin-bottom: 1rem;
									position: relative;
									z-index: 2;
								}
								.column_bg {
									position: absolute;
									top: 0;
									right: 0;
									z-index: 1;
								}
							}
							.readmore_outer {
								z-index: 2;
								.readmore_inner {
									position: relative;
									height: 18vw;
									max-height: 125px;
									transition: all .4s;
									overflow: hidden;
									&::before {
										content: "";
										width: 100%;
										height: 5rem;
										background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 80%);
										display: block;
										position: absolute;
										left: 0;
										bottom: 0;
										z-index: 2;
										transition: all .4s;
									}
									&.is-open {
										max-height: initial;
										&::before{
											display: none;
										}
									}
									ul {
										list-style: none;
										list-style-position: inside;
										li {
											font-size: .875rem;
											padding-left: 1rem;
											margin-bottom: .875rem;
											position: relative;
											&::before {
												font-size: .875rem;
												position: absolute;
												top: 0;
												left: 0;
											}
											&.num1::before { content: "❶"; }
											&.num2::before { content: "❷"; }
											&.num3::before { content: "❸"; }
											&.num4::before { content: "❹"; }
										}
									}
								}
							}
							&.column_azelaic {
								.column_label { background: #c58270; }
								h4 { color: #c58270; }
								.column_bg { width: 4rem; }
								.readmore_btn p { background: #e4cdb9; }
							}
							&.column_cica {
								.column_label { background: #687760; }
								h4 { color: #687760; }
								.column_bg { width: 7.8125rem; }
								.readmore_btn p { background: #ced1bd; }
							}
						}
					}
				}/*column_box*/
			}
		}/* block_1 */
	}
}

/* --------------------------------------------------------------------------------
 #User
-------------------------------------------------------------------------------- */
#User {
	padding: 3.125rem 0 2.5rem;
	margin-bottom: 0;
	background: #faf7f4;
	.head {
		margin-bottom: 1.1875rem;
		.label {
			font-size: .75rem;
			font-family: Times, serif;
			text-align: center;
			margin-bottom: 1.5rem;
			span {
				position: relative;
				&::after {
					content: "";
					width: 4.6875rem;
					height: .0625rem;
					background: #000;
					position: absolute;
					bottom: -1.25rem;
					left: 50%;
					transform: translateX(-50%);
				}
			}
		}
		h2 {
			font-size: 2rem;
		}
	}
	.block_user {
		.user_head {
			display: flex;
			align-items: center;
			.user_photo {
				flex: 1;
			}
			.user_title {
				flex: 1;
				padding: 0 6.67% 0 6%;
				h3 {
					font-size: 1.25rem;
					font-weight: 700;
					margin-bottom: .5rem;
				}
				p {
					font-size: .75rem;
					margin-bottom: 1rem;
				}
			}
		}
		.user_body {
			font-size: .875rem;
			line-height: 1.8;
			padding: 1.4375rem;
			margin-top: -1.4375rem;
			background: #f7d6d7;
			position: relative;
			z-index: 2;
		}
		&.user_1 {
			margin-bottom: 1.875rem;
			.user_body {
				margin-left: 6.67%;
			}
		}
		&.user_2 {
			.user_body {
				margin-right: 6.67%;
			}
		}
	}
}

/* --------------------------------------------------------------------------------
 #Sleep
-------------------------------------------------------------------------------- */
#Sleep {
	padding: 3.28125rem 0 1.40625rem;
	margin-bottom: 0;
	position: relative;
	z-index: 3;
	.head {
		margin-bottom: 2rem;
		.block_start {
			font-size: 2.25rem;
			text-align: center;
			margin-bottom: 2rem;
		}
		.block_title {
			font-size: 1.375rem;
			color: #fff;
			text-align: center;
			line-height: 1.25;
			padding: .75rem 0;
			background: linear-gradient(to right, #989d79 20%, #d2917d);
		}
	}
	.body {
		width: 100%;
		position: relative;
		.block_object {
			width: 100%;
			margin: 0;
			padding: 0;
			display: block;
			.object_greige {
				width: 14.0625rem;
				height: 14.0625rem;
				margin: 0 0 0 auto;
				background: #ced1bd;
				display: block;
				position: relative;
				z-index: 1;
			}
			.object_pink {
				width: 14.0625rem;
				height: 1.3125rem;
				margin: 0;
				background: #df8c92;
				display: block;
				position: relative;
				z-index: 1;
			}
		}
		.block_text {
			font-feature-settings: initial;
			writing-mode: vertical-rl;
			text-orientation: upright;
			position: absolute;
			top: 2rem;
			right: 7.87%;
			z-index: 4;
			p {
				font-size: 1.5rem;
			}
			h2 {
				font-size: 2.6875rem;
				font-weight: 400;
				text-align: left;
				line-height: 1.35;
				padding-top: 3.75rem;
			}
		}
		.block_balloon {
			width: 9.84375rem;
			position: absolute;
			top: .25rem;
			left: 28%;
			z-index: 6;
			.balloon_text {
				font-size: 0.75rem;
				font-weight: 700;
				text-align: center;
				line-height: 1.25;
				.italic { font-style: italic; }
			}
			.balloon_img {
				width: 100%;
				position: absolute;
				top: -1.25rem;
				left: 0;
				z-index: -1;
			}
		}
		.block_model {
			width: 20.3125rem;
			margin-top: -11rem;
			position: relative;
			z-index: 3;
			img { width: 100%; }
		}
	}
	&.model {
		margin-bottom: 3.5rem;
		.body {
			.block_object {
				.object_greige { width: 5.625rem; }
			}
			.block_text {
				top: 3rem;
			}
			.block_model {
				width: 22.5rem;
				margin-top: -12.5rem;
			}
		}
	}
}

/* --------------------------------------------------------------------------------
 #Step
-------------------------------------------------------------------------------- */
#Step {
	margin-top: 3.5rem;
	margin-bottom: 3.5rem;
	background: #fff;
	.head {
		margin-bottom: 8%;
		.label {
			font-size: .75rem;
			font-family: Times, serif;
			text-align: center;
			margin-bottom: 1.5rem;
			span {
				position: relative;
				&::after {
					content: "";
					width: 20vw;
					max-width: 150px;
					height: .0625rem;
					background: #000;
					position: absolute;
					bottom: -1.25rem;
					left: 50%;
					transform: translateX(-50%);
				}
			}
		}
		h2 {
			font-size: 2rem;
			margin-bottom: 1.125rem;
		}
		.description {
			font-size: 1rem;
			text-align: center;
		}
	}
	.body {
		video {
			width: 79.5%;
			margin: 0 auto 8%;
			display: block;
			position: relative;
			z-index: 3;
		}
		h3 {
			font-size: 1rem;
			font-weight: 700;
			text-align: center;
			margin-bottom: 1.1875rem;
			span {
				padding: 0 8%;
				position: relative;
				&::before {
					content: "";
					width: 0.9375rem;
					height: .0625rem;
					background: #000;
					position: absolute;
					top: 50%;
					left: 0;
				}
				&::after {
					content: "";
					width: 0.9375rem;
					height: .0625rem;
					background: #000;
					position: absolute;
					top: 50%;
					right: 0;
				}
			}
		}
		.block_step {
			width: 100%;
			position: relative;
			.text_box {
				position: absolute;
				z-index: 2;
				.steps {
					font-size: 1.125rem;
					font-family: Times, serif;
					line-height: .6;
					padding: 0 8%;
					.num {
						font-size: 1.875rem;
					}
				}
				.text {
					width: 50.667vw;
					max-width: 380px;
					font-size: .75rem;
					padding: 12%;
					background: #ced1bd;
				}
			}
			.img_step {
				width: 46.667%;
			}
			&.step_1 {
				.text_box {
					top: 50%;
					right: 6.67%;
					transform: translateY(-50%);
					.steps { text-align: right; }
				}
				.img_step { margin-left: 0; }
			}
			&.step_2 {
				.text_box {
					top: 50%;
					left: 6.67%;
					transform: translateY(-50%);
					.steps { text-align: left; }
				}
				.img_step { margin: 0 0 0 auto; }
			}
			&.step_3 {
				padding-bottom: 10%;
				margin-bottom: 10%;
				.text_box {
					bottom: 0;
					right: 6.67%;
					.steps { text-align: right; }
				}
				.img_step { margin-left: 0; }
			}
		}
		.block_detail {
			width: 92%;
			margin: 0 auto 0.5625rem;
			.detail_head {
				font-size: .8125rem;
				font-weight: 700;
				text-align: center;
				padding: 1.0625rem 0;
				background: #ced1bd;
			}
			.detail_body {
				padding: 1.0625rem;
				background: #f3f1ee;
				display: flex;
				flex-direction: column;
				gap: 1.25rem 0;
				p {
					font-size: .75rem;
					text-align: left;
				}
				img {
					width: 50%;
					max-width: 500px;
					margin: auto;
				}
				.detail_text {
					li {
						font-size: .75rem;
						margin-bottom: 1rem;
					}
				}
			}
		}
	}
}

/* --------------------------------------------------------------------------------
 #Faq
-------------------------------------------------------------------------------- */
#Faq {
	margin-bottom: 3.5rem;
	background: #fff;
	h2 {
		font-size: 2rem;
		margin-bottom: 1.1875rem;
	}
	.body {
		.block_faq {
			display: flex;
			flex-direction: column;
			gap: 1rem 0;
			margin-bottom: 2.375rem;
			.faq_box {
				width: 86.67%;
				margin: auto;
				background: #f2efec;
				.faq_head {
					font-size: .8125rem;
					font-weight: 700;
					text-align: left;
					padding: 1.4375rem 3.6875rem 1.4375rem 0;
					p {
						padding-left: 4rem;
						position: relative;
						&::before {
							content: "Q";
							font-size: 1.875rem;
							font-weight: 400;
							font-family: "Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif;
							position: absolute;
							top: 50%;
							left: 8%;
							transform: translateY(-50%);
						}
					}
				}
				.faq_body {
					position: relative;
					&::before {
						content: "";
						width: 90%;
						height: .0625rem;
						background: #000;
						position: absolute;
						top: 0;
						left: 50%;
						transform: translateX(-50%);
					}
					p {
						font-size: .75rem;
						padding: 1rem;
					}
				}
			}
		}
		.block_ingredient {
			width: 86.67%;
			padding: 1.1875rem;
			margin: auto;
			border: .0625rem solid #000;
			h3 {
				font-size: 1.25rem;
				font-weight: 700;
				text-align: center;
				margin-bottom: 0.875rem;
			}
			p {
				font-size: .75rem;
			}
		}
	}
}

/* --------------------------------------------------------------------------------
 Accordion
-------------------------------------------------------------------------------- */
.accordion {
	.acd_head {
		display: block;
		cursor: pointer;
		position: relative;
		&::-webkit-details-marker {
			display: none;
		}
		&::before {
			content: '';
			display: inline-block;
			width: 1rem;
			height: .0625rem;
			background-color: #000;
			position: absolute;
			right: 5%;
			top: 50%;
			transform: translateY(-50%);
			transition: 0.2s;
		}
		&::after {
			content: '';
			display: inline-block;
			width: 1rem;
			height: .0625rem;
			background-color: #000;
			position: absolute;
			right: 5%;
			top: 50%;
			transform: translateY(-50%) rotate(90deg);
			transition: 0.2s;
		}
	}
}


/* --------------------------------------------------------------------------------
VAZ
-------------------------------------------------------------------------------- */
.vaz {
	#Attraction {
		.block_attraction {
			&.block_2 {
				.attraction_body {
					.trouble_outer {
						.trouble_cheers {
							color: #000;
							&.glow {
								filter: drop-shadow(0 0 .25rem rgba(255,255,255,.75)) drop-shadow(0 0 .5rem rgba(255,255,255,1)) drop-shadow(0 0 .75rem rgba(255,255,255,1)) drop-shadow(0 0 1rem rgba(255,255,255,1));
							}
							span::before { background: #000; }
							span::after { background: #000; }
						}
					}
				}
			}
		}
	}


}

/* --------------------------------------------------------------------------------
#Change
-------------------------------------------------------------------------------- */
#Change {
	margin-bottom: 3.5rem;
	background: #fff;
	.head {
		.balloon {
			font-size: 1.75rem;
			font-weight: 400;
			color: #fff;
			text-align: center;
			margin-bottom: 1rem;
			span {
				padding: .5rem 1.75rem;
				background: #dc7480;
				border-radius: 50px;
				position: relative;
				&::before {
					content: "";
					width: .875rem;
					height: .875rem;
					background: #dc7480;
					clip-path: polygon(0 0, 50% 100%, 100% 0);
					position: absolute;
					bottom: -0.86rem;
					left: 50%;
					transform: translateX(-50%);
				}
			}
		}
		.subtitle {
			font-size: 1.5rem;
			font-weight: 400;
			color: #000;
			text-align: center;
			margin-bottom: 2%;
		}
		h2 {
			font-size: 2rem;
			color: #dc7480;
			line-height: 1.35;
			margin-bottom: 3.5rem;
		}
	}
	.body {
		padding: 12% 0;
		background: #f7c6c8;
		.model_box {
			margin-bottom: 8%;
			padding: 0 5%;
			position: relative;
			.model_after {
				width: 61.33vw;
				max-width: 459px;
				height: 61.33vw;
				max-height: 459px;
				border: .3rem solid #ce777a;
				border-radius: 50%;
				position: absolute;
				top: -74%;
				right: 2%;
			}
			.arrow {
				width: 17.73vw;
				max-width: 133px;
				height: 7.467vw;
				max-height: 56px;
				position: absolute;
				top: 90%;
				left: 32%;
			}
			.model_before {
				width: 34.93vw;
				max-width: 262px;
				height: 34.93vw;
				max-height: 262px;
				border-radius: 50%;
			}
		}
		.ba_box {
			width: 100%;
			display: flex;
			gap: 6%;
			padding: 0 6.67%;
			.ba_inner {
				flex: 1;
				display: flex;
				flex-direction: column;
				gap: .5rem;
				.ba_title {
					font-size: .875rem;
					font-family: Times,serif;
					color: #fff;
					text-align: center;
				}
				&.before {
					.ba_title { background: #a09f96; }
				}
				&.after {
					.ba_title { background: #ce777a; }
				}
				.photo {
					position: relative;
					.balloon_outer {
						width: 16.267vw;
						max-width: 122px;
						height: 16.267vw;
						max-height: 122px;
						position: absolute;
						top: 50%;
						left: -8%;
						transform: translateY(-50%);
						.balloon_inner {
							width: 100%;
							height: 100%;
							position: relative;
							p {
								width: 100%;
								font-size: .875rem;
								text-align: left;
								line-height: 1.25;
								position: absolute;
								top: 50%;
								left: 12%;
								transform: translateY(-50%) rotate(-15deg);
								z-index: 2;
							}
							.balloon {
								width: 100%;
								height: 100%;
								background: #fff;
								border-radius: 50%;
								display: block;
								position: relative;
								transform: rotate(-60deg);
								opacity: .8;
								&::after {
									content: "";
									width: 1rem;
									height: .8rem;
									background: #fff;
									clip-path: polygon(0 0, 50% 100%, 100% 0);
									position: absolute;
									bottom: -0.75rem;
									left: 50%;
									transform: translateX(-50%);
								}
							}
						}
					}
				}
			}
		}
	}
}


/* --------------------------------------------------------------------------------
#Qusome
-------------------------------------------------------------------------------- */
#Qusome {
	margin-bottom: 2.5rem;
	.head {
		padding: 0 0 2.5rem;
		background: linear-gradient(to bottom, #faf7f4 75%, #f7d6d7);
		clip-path: polygon(100% 0, 100% calc(100% - 2.5rem ), 50% 100%, 0 calc(100% - 2.5rem ), 0 0);
		position: relative;
		z-index: 2;
		.title {
			font-size: 1.875rem;
			color: #fff;
			text-align: center;
			padding: .5rem 0;
			margin-bottom: 1rem;
			background: #dc7480;
		}
		.secret {
			font-size: 2.5rem;
			color: #dc7480;
			text-align: center;
		}
	}
	.body {
		margin-top: -2.6rem;
		padding: 3.5rem 0 1.5rem;
		background: url("https://images.bglen.net/bg/sp/spm/20241206/qusome_bg.webp") center top / cover no-repeat;
		h2 {
			font-size: 2.25rem;
			margin-bottom: .75rem;
		}
		.balloon {
			color: #fff;
			text-align: center;
			line-height: 1;
			margin-bottom: 1.75rem;
			span {
				padding: .5rem 1rem;
				background: #437fc8;
				border-radius: 50px;
			}
		}
		.object {
			width: 17.375rem;
			margin: 0 4% 1rem auto;
		}
		.text {
			font-size: .875rem;
			text-align: center;
			line-height: 1.8;
			.line-blue {
				color: #437fc8;
			}
		}
	}
}


#floating {
	margin-bottom: .5rem !important;
	a {
		position: relative;
		&.bnr_sachi { margin-bottom: -0.5rem; }
		.floating_badge {
			width: 4.75rem;
			height: 4.75rem;
			color: #553c24;
			text-align: center;
			background: linear-gradient(58deg, #dab766 10%, #f2efc4 48%, #d9b664);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			gap: .25rem;
			position: absolute;
			top: 50%;
			left: 4%;
			transform: translateY(-50%) translateZ(0);
			filter: drop-shadow(0 0 .2rem rgba(0,0,0,0.2));
			z-index: 2;
			.badge_text {
				line-height: 1.125;
				&.f_min {
					text-align: left;
					padding-left: .25rem;
				}
			}
		}
		.btn {
			width: 92%;
			font-size: 1.25rem;
			font-weight: 700;
			color: #fff;
			text-align: center;
			line-height: 1;
			padding: 1.25rem 0;
			margin: 0 auto;
			border: .125rem solid #fff;
			border-radius: 100px;
			background: linear-gradient(to bottom, #f5919d, #d54a5a 90%);
			display: inline-block;
			position: relative;
			z-index: 1;
			&::before {
				content: "";
				width: .75rem;
				height: 1.0625rem;
				display: inline-block;
				clip-path: polygon(0 10%, 0 0, 100% 50%, 0 100%, 0 90%, 80% 50%);
				background: #fff;
				display: block;
				position: absolute;
				top: 50%;
				right: 1rem;
				transform: translateY(-50%);
				z-index: 2;
			}
			&:hover {
				background: linear-gradient(to bottom, #ffb8c1, #d36572 90%);
			}
		}
	}
}