@charset "UTF-8";
/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}
/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}
/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}
/* =Styles 
-------------------------------------------------------------- */
html {
	font-size: 2.6667vw;
}
body {
	/* win：游ゴシック、mac：游ゴシック、iPhone：San Francisco、ヒラギノ（-1px） */
	font-family: 'Noto Sans JP', YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	color: var(--brown)
}
.num,
.jak {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
a {
	text-decoration: none;
	color: #fff;
}
:root {
	--brown: #836C63;
	--dark_pink: #DE5C5C;
	--light-brown: #CBB2A9;
	--pink: #F28E8E;
	--light-beige: #F9F4F1;
	--yellow: #FFED61;
}
#loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../../images/hapr_cp16_2b/loading.jpg)no-repeat center/cover;
	z-index: 10;
}
.bg_fixed .page_top {
	display: none;
}
@media (min-width: 768px) {
	.fixed_btn_wrap  {
		display: none;
	}
	.main,
	.modal_contents_wrap {
		max-width: 375px;
		margin: 0 auto;
	}
	.bg_fixed .page_top {
		display: block;
		position: absolute;
		right: 20px;
		bottom: 0;
		z-index: 2;
	}
}
.bg_fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #F0F0ED;
}
.bg_fixed .bg_item {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 80%;
}
.bg_fixed .logo {
	position: absolute;
	top: 68px;
	left: 89px;
	width: 52px;
	z-index: 1;
}
.bg_fixed .nav,
.bg_fixed .cta_wrap {
	display: none;
}
@media (min-width: 1200px) {
	.bg_fixed .nav {
		display: block;
		position: absolute;
		top: max(170px, 24.12%);
		left: 107px;
		padding: 24px 0 0;
		border-left: 1px solid var(--brown);
		z-index: 1;
	}
	.bg_fixed .nav::before {
		content: '';
		position: absolute;
		top: 10px;
		left: -10px;
		width: 20px;
		height: 1px;
		background: var(--brown);
		transform: translateX(-0.5px);
	}
	.bg_fixed .nav ul {
		text-align: left;
	}
	.bg_fixed .nav ul li {
		font-size: 16px;
		margin: 1.6em 0;
	}
	.bg_fixed .nav ul li a {
		position: relative;
		display: block;
		color: var(--brown);
		font-weight: bold;
		letter-spacing: 0.2em;
		line-height: 1.6;
		padding-left: 34px;
		transition: transform .3s;
	}
	.bg_fixed .nav ul li a:hover {
		transform: translateY(0.5em);
	}
	.bg_fixed .nav ul li a.active::before {
		content: '';
		position: absolute;
		top: 50%;
		left: -4px;
		width: 8px;
		height: 8px;
		background: var(--brown);
		transform: translateY(-50%) translateX(-0.5px);
		border-radius: 50%;
	}
}
@media (min-width: 1500px) {
	.bg_fixed .cta_wrap {
		display: block;
		position: absolute;
		right: 95px;
		bottom: 119px;
		font-weight: bold;
		padding: 80px 0 0;
		z-index: 1;
	}
	.bg_fixed .cta_wrap::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 495px;
		height: 373px;
		background: url(../../images/hapr_cp16_2b/bg_cta.png)no-repeat top center/cover;
		animation: 2s ease-in-out infinite fuwafuwa;
	}
	@keyframes fuwafuwa{
		0%{
			transform: translateY(5px) scale(1, 0.97);
		}
		50%{
			transform: translateY(-5px);
		}
		100%{
			transform: translateY(5px) scale(1, 0.97);
		}
	}
	.bg_fixed .cta_wrap::after {
		content: '';
		position: absolute;
		top: -74px;
		left: -61px;
		width: 242px;
		height: 234px;
		background: url(../../images/hapr_cp16_2b/bg_cta_item.png)no-repeat center/contain;
	}
	.bg_fixed .cta_wrap p {
		position: relative;
		color: var(--dark_pink);
		font-size: 20px;
		line-height: 1.3;
		letter-spacing: 0.15em;
		margin-bottom: 12px;
	}
	.bg_fixed .cta_wrap .sub {
		position: relative;
		font-size: 14px;
		line-height: 1.5;
		width: 313px;
		padding: 30px 0 10px;
		margin: 0 auto;
		background: url(../../images/hapr_cp16_2b/bg_cta_sub.png)no-repeat top center/cover;
	}
	.bg_fixed .cta_wrap .sub .color {
		color: var(--dark_pink);
	}
	.bg_fixed .cta_wrap .btn {
		width: 400px;
	}
	.bg_fixed .cta_wrap .btn a {
		position: relative;
		display: block;
		color: #fff;
		font-size: 23px;
		letter-spacing: 0.15em;
		padding: 29px 0 30px;
		background: linear-gradient(90deg, #F28E8E 67.07%, #F37676 100%);
		box-shadow: 0px 16px 18px rgba(95, 56, 5, 0.2);
		border-radius: 100px;
	}
	.bg_fixed .cta_wrap .btn a::after {
		content: '';
		position: absolute;
		top: 50%;
		right: 56px;
		width: 31px;
		height: 6px;
		transform: translateY(-50%);
		background: url(../../images/hapr_cp16_2b/btn.svg) no-repeat center / contain;
		z-index: 1;
	}
	.bg_fixed .cta_wrap .btn a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 57px;
		width: 1px;
		height: 1px;
		transform: translate(-50%, -0.05rem);
		background: #BC6161;
		border-radius: 50%;
		transition: transform .3s;
	}
	.bg_fixed .cta_wrap .btn a:hover::before {
		transform: translate(-50%, -0.5px) scale(23);
	}
}
.circle {
	position: relative;
}
.circle::before,
.circle::after {
	position: absolute;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
}
.main {
	position: relative;
	background: #F5E7D6;
}
.mv {
	margin: 0 0 1.2rem;
}
.product .item_wrap .detail_wrap {
	text-align: left;
	padding: 0 0 0 1.8rem;
	margin: 0 0 2.2rem;
}
.product .item_wrap .detail_wrap .sub {
	position: relative;
	display: inline-block;
	color: var(--light-brown);
	font-size: 1.2rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
	padding: 0 0.4rem 0 0;
	margin: 0 0 0.9rem;
	border-bottom: 0.1rem solid var(--light-brown);
}
.product .item_wrap .detail_wrap .sub::after {
	content: '';
	right: 0;
	bottom: -0.2rem;
	background: var(--light-brown);
	transform: translateY(0.05rem);
}
.product .item_wrap .detail_wrap .item_name {
	color: var(--dark_pink);
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.15em;
}
.product .item_wrap .detail_wrap .price_wrap {
	padding-right: 1.5rem;
}
.product .item_wrap .detail_wrap .price_wrap .price {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.15em;
	text-align: right;
}
.product .item_wrap .detail_wrap .price_wrap .price .num {
	font-size: 3.2rem;
	letter-spacing: 0.05em;
}
.product .item_wrap .wristband {
	position: relative;
	width: 89.333%;
	margin: 0 auto;
	border: 0.1rem solid var(--pink);
	background: #fff;
	z-index: 1;
}
.product .item_wrap .wristband .head {
	display: flex;
	align-items: center;
	font-weight: bold;
	gap: 0 0.5rem;
	padding: 0.6rem 0 1.5rem;
	background: url(../../images/hapr_cp16_2b/bg_wristband.png)no-repeat center/100% 100%;
}
.product .item_wrap .wristband .head span {
	color: var(--dark_pink);
	font-size: 1.3rem;
	line-height: 1.5rem;
	padding: 0.3rem 1.2rem 0.4rem 0.8rem;
	background: var(--light-beige);
	border-radius: 0 10rem 10rem 0;
}
.product .item_wrap .wristband .head p {
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.5;
}
.product .item_wrap .wristband .wrap {
	padding: 0 0 1rem 9.5rem;
}
.product .item_wrap .wristband .wrap .img {
	position: absolute;
	left: -1.2rem;
	bottom: -0.8rem;
	width: 9.6rem;
}
.product .item_wrap .wristband .wrap .text {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
}
.product .item_wrap .wristband .wrap .text .small {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
}
.product .item_wrap .wristband .wrap .text .color {
	color: var(--dark_pink);
}
.product .item_wrap .btn_wrap {
	position: relative;
	margin: 3.3rem 0 0;
}
.product .item_wrap .btn_wrap .sub {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	width: 12rem;
	margin: 0 auto;
	padding: 2.2rem 0 0.8rem;
	background: url(../../images/hapr_cp16_2b/bg_item_white.png)no-repeat top center/100% auto;
}
.product .item_wrap .btn_wrap .sub .color {
	color: var(--dark_pink);
}
.product .item_wrap .btn_wrap .btn {
	position: relative;
	width: 84%;
	margin: 0 auto;
}
.product .item_wrap .btn_wrap .btn::before {
	content: '';
	position: absolute;
	top: -1.6rem;
	left: 2.5rem;
	width: 4.8rem;
	height: 10rem;
	background: url(../../images/hapr_cp16_2b/btn_item_1.png)no-repeat center/contain;
	z-index: 1;
}
.product .item_wrap .btn_wrap.ver2 .btn::before {
	width: 2.8rem;
	height: 10rem;
	background: url(../../images/hapr_cp16_2b/btn_item_3.png)no-repeat center/contain;
}
.product .item_wrap .btn_wrap .btn a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
	padding: 2rem 0;
	background: var(--pink);
	border-radius: 10rem;
	box-shadow: 0px 1.6rem 1.8rem rgba(95, 56, 5, 0.2);
}
.product .item_wrap .btn_wrap .btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 2.3rem;
	width: 0.1rem;
	height: 0.1rem;
	transform: translate(-50%, -0.05rem);
	background: #BC6161;
	border-radius: 50%;
	transition: transform .3s;
}
.product .item_wrap .btn_wrap .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 2.2rem;
	width: 3.1rem;
	height: 0.6rem;
	transform: translateY(-50%);
	background: url(../../images/hapr_cp16_2b/btn.svg)no-repeat center/contain;
	z-index: 1;
}
.product .item_wrap .btn_wrap .btn a:hover::before {
	transform: translate(-50%, -0.05rem) scale(23);
}
.product .item_wrap .btn_wrap .note {
	font-size: 1.4rem;
	line-height: 1.8;
	margin-top: 1.4rem;
}
.product .item_wrap .campaign {
	margin-top: 1.5rem;
}
.product .item_wrap .campaign .button_wrap {
	width: 23.2rem;
	padding: 0.5rem 0 1rem;
	margin: 0 auto;
	background: #fff;
	border-radius: 10rem;
	color: var(--brown);
}
.product .item_wrap .campaign .button_wrap button {
	background: #fff;
	border: none;
	cursor: pointer;
	color: var(--brown);
}
.product .item_wrap .campaign .button_wrap .border {
	display: inline-block;
	font-size: 1.4rem;
	text-decoration: underline;
	line-height: 1.8;
}
.product .item_wrap .campaign .button_wrap .term {
	display: block;
	font-size: 1.2rem;
	line-height: 1.5;
}
.product .item_wrap .campaign .button_wrap .term .small {
	font-size: 1rem;
}
.product.top {
	position: relative;
	padding: 6.5rem 0 8.7rem;
	overflow: hidden;
	z-index: 0;
}
.product.top .head_img {
	width: 89.333%;
	margin: 0 auto 2rem;
}
.product.top #bgCanvas {
	position: absolute;
	top: 0%;
	left: -5%;
	width: 110%;
	height: 100%;
	z-index: -1;
}
/* .feature */
.feature {
	padding: 4.2rem 0 5rem;
}
.feature .contents .caption_wrap {
	position: relative;
	text-align: left;
	margin: 0 0 1.9rem;
	z-index: 0;
}
.feature .contents .caption_wrap::before {
	content: '';
	position: absolute;
	top: 3rem;
	right: 0;
	width: 23.8rem;
	height: 19rem;
	background: url(../../images/hapr_cp16_2b/bg_feature.png)no-repeat center/cover;
	z-index: -1;
}
.feature .contents .caption_wrap .sub {
	display: inline-block;
	position: relative;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.15em;
	padding: 0.8rem 1.2rem 0.9rem 1.9rem;
	margin: 0 0 1.2rem -0.1rem;
	border: 0.1rem solid var(--brown);
}
.feature .contents .caption_wrap .sub::before,
.feature .contents .caption_wrap .sub::after {
	content: '';
	background: var(--brown);
	right: -0.2rem;
}
.feature .contents .caption_wrap .sub::before {
	top: -0.3rem;
}
.feature .contents .caption_wrap .sub::after {
	bottom: -0.3rem;
}
.feature .contents .caption_wrap .caption {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.15em;
	padding-left: 1.8rem;
}
.feature .contents .caption_wrap .caption .small {
	font-size: 1rem;
}
.feature .contents .caption_wrap .caption .strong {
	display: block;
	color: var(--dark_pink);
	font-size: 2.6rem;
}
.feature .contents .img {
	position: relative;
	width: 89.33%;
	margin: 0 auto 2rem;
	background: #fff;
}
.feature .contents .img::after {
	content: '';
	position: absolute;
	top: -5.2rem;
	right: -1.5rem;
	width: 9.5rem;
	height: 8.6rem;
	background: url(../../images/hapr_cp16_2b/objects.png)no-repeat center/cover;
}
.feature .contents .text {
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: left;
	padding: 0 1.8rem;
	margin: 0 0 1.3rem;
}
.feature .contents .text .small {
	font-size: 1rem;
}
.feature .contents .text .color {
	color: var(--dark_pink);
}
.feature .contents .notes {
	font-size: 1rem;
	line-height: 1.5;
	text-align: left;
	padding: 0 1.8rem;
	margin: 0 0 4.8rem;
}
.feature .other {
	position: relative;
	width: 89.33%;
	padding: 3.8rem 2.4rem 3.5rem;
	margin: 0 auto 6.4rem;
	background: #fff;
	box-sizing: border-box;
}
.feature .other .head {
	position: absolute;
	top: -2.7rem;
	left: 0;
	right: 0;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.15em;
	padding: 2.1rem 0;
	width: 11rem;
	height: 6rem;
	margin: 0 auto;
	background: url(../../images/hapr_cp16_2b/bg_item_brown.png)no-repeat center/contain;
	box-sizing: border-box;
}
.feature .other .text {
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: left;
}
.feature .other .text .color {
	color: var(--dark_pink);
}
.feature .scrub {
	position: relative;
	width: 89.33%;
	padding: 0 0 3.5rem;
	margin: 0 auto;
	border: 0.1rem solid var(--pink);
}
.feature .scrub::before,
.feature .scrub::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	width: 0.7rem;
	margin: 0 auto;
}
.feature .scrub::before {
	top: -6.6rem;
	height: 6.6rem;
	background: url(../../images/hapr_cp16_2b/line_scrub_top.png)no-repeat center/cover;
}
.feature .scrub::after {
	bottom: -5.9rem;
	height: 6.2rem;
	background: url(../../images/hapr_cp16_2b/line_scrub_bottom.png)no-repeat center/cover;
}
.feature .scrub .text {
	font-size: 1.6rem;
	line-height: 1.7;
	font-weight: bold;
	padding: 1.5rem 0 1.3rem;
}
.feature .scrub .text .small {
	font-size: 1rem;
}
.feature .scrub .head {
	color: #fff;
	font-weight: bold;
	padding: 1.5rem 0 4rem;
	background: var(--pink);
	border-radius: 0 0 9rem 0;
}
.feature .scrub .head .border {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-feature-settings: 'palt';
	padding: 0 0 0.4rem;
	border-bottom: 0.1rem solid #fff;
}
.feature .scrub .head .border .small {
	font-size: 1rem;
}
.feature .scrub .head .caption {
	display: block;
	font-size: 2.6rem;
	line-height: 1.2;
	letter-spacing: 0.15em;
	padding: 1.4rem 0 ;
}
.feature .scrub .head .caption .small {
	display: block;
	font-size: 1.6rem;
}
.img_container {
	position: relative;
	margin: 0 0 2.8rem;
}
.feature .scrub .img_container::after {
	content: '';
	position: absolute;
	bottom: -1.8rem;
	right: 0.6rem;
	width: 13.5rem;
	height: 13.2rem;
	background: url(../../images/hapr_cp16_2b/bg_item_heart.png)no-repeat center/contain;
}
.feature .scrub .img_wrap {
	position: relative;
	margin: -3.1rem 0 0;
	height: 36rem;
}
.feature .scrub .img_wrap .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0 5.7rem 0 5.8rem;
	box-sizing: border-box;
	opacity: 1;
	transition: opacity .3s;
}
.feature .scrub .img_wrap.switched .img {
	opacity: 0;
}
.feature .scrub .img_wrap .img_2 {
	opacity: 0;
}
.feature .scrub .img_wrap.switched .img_2 {
	opacity: 1;
}
.feature .scrub .notes {
	font-size: 1rem;
	line-height: 1.5;
	text-align: left;
	padding: 0 0 0 2.5rem;
}
/* .product.midlle */
.product.midlle .intro {
	position: relative;
	font-weight: bold;
	padding: 3.1rem 0 0;
	margin: 0 0 2.5rem;
	z-index: 0;
}
.product.midlle .intro::before,
.product.midlle .intro::after {
	content: '';
	position: absolute;
}
.product.midlle .intro::before {
	top: 0;
	left: 0;
	width: 100%;
	height: 37.5rem;
	background: #fff;
	border-radius: 50%;
	z-index: -1;
}
.product.midlle .intro::after {
	top: -0.7rem;
	left: 0.99rem;
	width: 11.1rem;
	height: 9.3rem;
	background: url(../../images/hapr_cp16_2b/bg_item_texture.png)no-repeat center/contain;
}
.product.midlle .intro .border {
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.3;
	padding: 0 0 0.8rem;
	border-bottom: 0.1rem solid var(--brown);
}
.product.midlle .intro .border::before,
.product.midlle .intro .border::after {
	content: '';
	bottom: -0.3rem;
	width: 0.5rem;
	height: 0.5rem;
	transform: translateY(-0.05rem);
	background: var(--brown);
}
.product.midlle .intro .border::before {
	left: 0;
}
.product.midlle .intro .border::after {
	right: 0;
}
.product.midlle .intro .strong {
	display: block;
	color: var(--dark_pink);
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
	margin: 1.2rem 0 0;
}
.product.midlle > .head {
	position: relative;
	z-index: 1;
}
.product.midlle > .head::after {
	content: '';
	position: absolute;
	top: -5rem;
	right: 0;
	width: 8.9rem;
	height: 15rem;
	background: url(../../images/hapr_cp16_2b/bg_item_scrub.png)no-repeat center/cover;
	z-index: 1;
}
.product.midlle.bottom > .head::after {
	content: none;
}
.product.midlle .item_list {
	position: relative;
	padding: 0 0 5.3rem;
	margin: -2.5rem 0 0;
	background:  url(../../images/hapr_cp16_2b/bg_probuct_item_list.jpg)no-repeat var(--light-beige) bottom/100% auto;
}
.product.midlle .item_list .item_1 .head_img {
	position: relative;
	z-index: 2;
}
.product .item_list .item_wrap {
	padding-bottom: 3.9rem;
}
.product .item_list .item_wrap + .item_wrap {
	border-top: 0.1rem solid var(--brown);
	padding-top: 4.2rem;
}
.product .price_wrap.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.product .price_wrap .capacity {
	font-size: 1rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
}
.product .detail_wrap .text {
	font-size: 1.4rem;
	line-height: 1.7;
	margin: 1.2rem 0 0;
}
.product .detail_wrap .text .small {
	font-size: 1rem;
}
.product .detail_wrap .text .color {
	color: var(--dark_pink);
}
.product .detail_wrap .notes {
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 1.8rem;
}
.product .detail_wrap .item_name .small {
	font-size: 1.4rem;
}
.product .item_3 .detail_wrap .price_wrap {
	margin-top: 0.9rem;
}
.product .item_3 .detail_wrap .price_wrap .capacity {
	margin: 0 0 1.5rem;
}
.product .item_3 .detail_wrap .price_wrap .price {
	text-align: left;
}
.product .item_3 .detail_wrap .price_wrap .price .num {
	font-size: 2.1rem;
}
.product .detail_wrap .price_wrap .special {
	position: relative;
	display: flex;
	align-items: center;
	height: 6.7rem;
	padding: 0 0 0 3rem;
	margin: 1.7rem 0 0 2.5rem;
	background: #fff;
	border-radius: 0.5rem 3rem 0.5rem 0.5rem;
}
.product .detail_wrap .price_wrap .special .icon {
	position: absolute;
	top: 0.1rem;
	left: -3.1rem;
	width: 6.6rem;
}
.product .detail_wrap .price_wrap .special .sp_price_wrap {
	display: flex;
	gap: 0 1rem;
	align-items: center;
}
.product .detail_wrap .price_wrap .special .sp_price_wrap .offer {
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
	padding: 0.3rem 0.7rem 0.4rem 1rem;
	background: var(--pink);
	border-radius: 0 0.5rem 0 0.5rem;
}
.modal_contents_wrap .product .detail_wrap .price_wrap .special .sp_price_wrap .offer {
	letter-spacing: 0;
}
.product .detail_wrap .price_wrap .special .sp_price_wrap .sp_price {
	color: var(--dark_pink);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.3;
}
.product .detail_wrap .price_wrap .special .sp_price_wrap .sp_price .num {
	font-size: 3.2rem;
	letter-spacing: 0.05em;
}
.product .item_list .item_wrap .amazon_gift {
	position: relative;
	margin: 3.7rem 0 2.5rem;
	z-index: 0;
}
.product .item_list .item_wrap .amazon_gift::before {
	content: '';
	position: absolute;
	top: -12.5rem;
	left: 0;
	width: 100%;
	height: 30rem;
	background: url(../../images/hapr_cp16_2b/bg_amazon.png)no-repeat center/100%;
	z-index: -1;
}
.product .item_list .item_wrap .amazon_gift dl {
	position: relative;
	width: 24.3rem;
	padding: 0.8rem 0 0.5rem;
	margin: 0 auto;
	background: var(--light-beige);
	border-radius: 0.5rem;
}
.product .item_list .item_wrap .amazon_gift dl dt {
	position: relative;
	display: inline-block;
	color: var(--dark_pink);
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 0 0.9rem 0.3rem;
	border-bottom: 0.1rem solid var(--dark_pink);
}
.product .item_list .item_wrap .amazon_gift dl dt::before,
.product .item_list .item_wrap .amazon_gift dl dt::after {
	content: '';
	bottom: -0.3rem;
	width: 0.5rem;
	height: 0.5rem;
	background: var(--dark_pink);
}
.product .item_list .item_wrap .amazon_gift dl dt::before {
	left: 0;
}
.product .item_list .item_wrap .amazon_gift dl dt::after {
	right: 0;
}
.product .item_list .item_wrap .amazon_gift dl dt span {
	position: absolute;
	top: -2.2rem;
	left: 0;
	right: 0;
	width: 3.6rem;
	margin: 0 auto;
	font-size: 1.2rem;
	padding: 0 1.5rem;
	color: var(--brown);
}
.product .item_list .item_wrap .amazon_gift dl dt span::before,
.product .item_list .item_wrap .amazon_gift dl dt span::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
	height: 1.4rem;
}
.product .item_list .item_wrap .amazon_gift dl dt span::before {
	left: 0;
	background: url(../../images/hapr_cp16_2b/line_left.png)no-repeat center/contain;
}
.product .item_list .item_wrap .amazon_gift dl dt span::after {
	right: 0;
	background: url(../../images/hapr_cp16_2b/line_right.png)no-repeat center/contain;
}
.product .item_list .item_wrap .amazon_gift dl dd {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
}
.product .item_list .item_wrap .amazon_gift dl dd .num {
	font-size: 2.8rem;
}
.product .item_list .item_wrap .amazon_gift dl dd .small {
	font-size: 1.4rem;
}
.product .item_list .item_wrap .amazon_gift .note {
	font-size: 1rem;
	line-height: 1.5;
	text-align: left;
	width: 19.5rem;
	margin: 0.3rem auto 0;
}
.product .item_list .item_wrap .btn_wrap.amazon .sub {
	width: 29.6rem;
	padding: 2.7rem 0 2rem;
	margin: 0 auto -0.8rem;
	background: url(../../images/hapr_cp16_2b/bg_btn_amazon.png)no-repeat top center/100% auto;
}
.product .item_list .item_wrap .btn_wrap.amazon .btn::before {
	top: -1.3rem;
	left: 1.6rem;
	width: 6.8rem;
	height: 9.21rem;
	background: url(../../images/hapr_cp16_2b/btn_item_2.png)no-repeat top center/100% auto;
}
.solution {
	padding: 5rem 0 0;
	margin-top: -1px;
}
.solution .caption {
	position: relative;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-align: left;
	padding: 0 0 1rem 1.8rem;
	margin: 0 0 1.7rem;
}
.solution .caption::before,
.solution .caption::after {
	content: '';
	position: absolute;
	background: var(--brown);
}
.solution .caption::before {
	left: 0;
	bottom: 0;
	width: 94.93%;
	height: 0.1rem;
}
.solution .caption::after {
	right: 1.7rem;
	bottom: -0.2rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
}
.solution > .img {
	width: 85.33%;
	margin: 0 0 2rem auto;
}
.solution .times {
	position: relative;
	padding: 1rem 0 5rem;
	margin: -0.9rem 0 0;
	z-index: 0;
}
.solution .times::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	--color1-pos: 3.9%;
    --color2-pos: 103.55%;
	background: linear-gradient(175.16deg, #F28E8E 3.9%, #FFD7C9 103.55%);
    background: var(--gradient-bg);
	z-index: -1;
}
.times .animated-bg {
	position: absolute;
	top: -3rem;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
@keyframes gradientMove {
		0% {
			--color1-pos: 3.9%;
			--color2-pos: 103.55%;
		}
		50% {
			--color1-pos: 30%;
			--color2-pos: 120%;
		}
		100% {
			--color1-pos: 3.9%;
			--color2-pos: 103.55%;
		}
	}
@keyframes bgAnim {
   0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.solution .times .head {
	position: relative;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.15em;
	width: 89.33%;
	padding: 1.4rem 0;
	margin: 0 auto 1.8rem;
	border: 0.1rem solid #fff;
	box-sizing: border-box;
}
.solution .times .head::before,
.solution .times .head::after {
	content: '';
	width: 0.5rem;
	height: 0.5rem;
	background: #fff;
}
.solution .times .head::before {
	top: -0.3rem;
	left: -0.3rem;
}
.solution .times .head::after {
	bottom: -0.3rem;
	right: -0.3rem;
}
.solution .times .head .small {
	font-size: 1.6rem;
}
.solution .times .head .color {
	color: var(--yellow);
}
.solution .times .text_wrap {
	margin: 0 0 2.8rem; 
}
.solution .times .text_wrap p,
.solution .times .text {
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: left;
	padding: 0 0 0 2.9rem;
}
.solution .times .text_wrap p + p {
	margin-top: 1.5em;
}
.solution .times .img {
	width: 89.86%;
	margin: 0 auto 2.1rem;
}
.solution .times .text {
	margin: 0 0 3.7rem;
}
.solution .times .aparin {
	position: relative;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.15em;
	width: 89.33%;
	margin: 0 auto 1.5rem;
	padding: 1.1rem 0 0.8rem;
	background: var(--light-beige);
	border-radius: 0.5rem;
}
.solution .times .aparin::before {
	content: '';
	position: absolute;
	top: -2rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 2.2rem;
	height: 2rem;
	background: url(../../images/hapr_cp16_2b/bg_times_aparin.png)no-repeat top center/cover;
}
.solution .times .aparin p {
	font-size: 1.2rem;
	margin: 0 0 0.5rem;
}
.solution .times .aparin .box {
	display: inline-block;
	color: var(--dark_pink);
	font-size: 1.2rem;
	padding: 0.1rem 0.2rem 0.2rem;
	margin: 0 0 0.1rem;
	border: 0.1rem solid var(--dark_pink);
	border-radius: 0.2rem;
}
.solution .times .aparin .strong {
	display: block;
	font-size: 2.2rem;
}
.solution .times .aparin .strong .color {
	color: var(--dark_pink);
}
.solution .times .aparin .strong .small {
	font-size: 1rem;
}
.solution .times .notes {
	color: #fff;
	font-size: 1rem;
	line-height: 1.5;
	text-align: left;
	padding: 0 0 0 2.9rem;
}
.design .intro {
	position: relative;
	font-weight: bold;
	padding: 3.7rem 0 0;
	margin: 0 0 1rem;
}
.design .intro dt {
	position: relative;
	display: inline-block;
	color: var(--dark_pink);
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 0 0.5rem 0.3rem;
	margin: 0 0 0.6rem;
	border-bottom: 0.1rem solid var(--dark_pink);
}
.design .intro dt::before,
.design .intro dt::after {
	content: '';
	width: 0.5rem;
	height: 0.5rem;
	bottom: -0.3rem;
	background: var(--dark_pink);
}
.design .intro dt::before {
	left: 0;
}
.design .intro dt::after {
	right: 0;
}
.design .intro dt span {
	position: absolute;
	top: -6.8rem;
	left: 0;
	right: 0;
	width: 10.9rem;
	height: 6rem;
	margin: 0 auto;
	padding: 2rem 0 ;
	color: #fff;
	font-size: 1.4rem;
	background: url(../../images/hapr_cp16_2b/bg_item_pink.png)no-repeat center/contain;
	box-sizing: border-box;
}
.design .intro dd {
	font-size: 1.4rem;
	line-height: 1.5;
}
.design .intro dd .color {
	color: var(--dark_pink);
	font-size: 2.2rem;
	padding-left: 0.8rem;
}
.design .intro dd .color .small {
	font-size: 1rem;
}
.design .caption {
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: bold;
	padding: 2.7rem 0 2.3rem;
	margin: 0 0 3.2rem;
	background: url(../../images/hapr_cp16_2b/design_caption.png)no-repeat top center/100% 100%;
}
.design .caption .color {
	color: var(--dark_pink);
	font-size: 2.6rem;
}
.design .caption .color .num {
	font-size: 3rem;
}
.design .caption .color .small {
	font-size: 2rem;
}
.design .design_list {
	padding: 0 2rem;
	margin: 0 0 2.2rem;
}
.design .design_list li + li {
	margin-top: 5.2rem;
}
.design .design_list li .img {
	position: relative;
	width: 27.8rem;
}
.design .design_list li:nth-child(odd) .img {
	margin-left: 1.6rem;
}
.design .design_list li:first-child .img {
	background: #fff;
	border-radius: 0.5rem 2.5rem 0.5rem;
	padding: 1.5rem 0.5rem 0 0;
}
.design .design_list li:nth-child(even) .img,
.design .design_list li:nth-child(even) .text_wrap {
	margin-left: auto;
}
.design .design_list li .img .num {
	position: absolute;
	top: -2.2rem;
	left: -2rem;
	color: var(--dark_pink);
	font-weight: bold;
	font-size: 3.3rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
}
.design .design_list li .text_wrap {
	max-width: 30rem;
	text-align: left;
}
.design .design_list li .text_wrap dt {
	position: relative;
	display: inline-block;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.15em;
	margin: -1.3rem 0 1.7rem;
}
.design .design_list li .text_wrap dt .sub {
	display: inline-block;
	font-size: 1.4rem;
	padding: 0.5rem 1rem 0.5rem 0;
	margin: 0 0 0.2rem;
	background: #F5E7D6;
	border-radius: 0 1rem 0 0;
}
.design .design_list li .text_wrap dt .sub .small,
.design .design_list li .text_wrap dd .small {
	font-size: 1rem;
}
.design .design_list li .text_wrap dt .color {
	display: inline-block;
	position: relative;
	color: var(--dark_pink);
	font-size: 2.2rem;
	padding: 0 0.5rem 0.5rem 0;
	border-bottom: 0.1rem solid var(--pink);
}
.design .design_list li .text_wrap dt .color::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -0.2rem;
	width: 0.4rem;
	height: 0.4rem;
	background: var(--pink);
	border-radius: 50%;
	transform: translateY(0.05rem);
}
.design .design_list li .text_wrap dd {
	font-size: 1.4rem;
	line-height: 1.5;
	width: 29.6rem;
}
.design .design_list li .text_wrap dd .color {
	color: var(--dark_pink);
}
.design .notes {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0 0 1.6rem;
}
.media {
	margin: -2.9rem 0 0;
}
.media .caption {
	position: relative;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 0 0 1.4rem;
	margin: 0 0 2rem;
}
.media .caption::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 13.9rem;
	height: 0.5rem;
	background: url(../../images/hapr_cp16_2b/media_line.png)no-repeat center/contain;
}
.media .caption .small {
	font-size: 1rem;
}	
.media .magazine {
	padding: 0 0 7.9rem;
}
.media .magazine .contents {
	position: relative;
}
.media .magazine .contents + .contents {
	margin-top: 3.6rem;
}
.media .magazine .contents.con_1 .img {
	width: 76.53%;
}
.media .magazine .contents.con_2 .img {
	width: 69.86%;
	margin-left: auto;
}
.media .magazine .contents ul {
	position: absolute;
	text-align: left;
}
.media .magazine .contents.contents.con_1 ul {
	top: 1.7rem;
	left: 17.4rem;
}
.media .magazine .contents.contents.con_2 ul {
	top: -1.65rem;
	left: 0.6rem;
}
.media .magazine .contents ul li {
	line-height: 1.3;
	letter-spacing: 0.15em;
}
.media .magazine .contents.con_1 ul li + li {
	margin-top: 1.5rem;
}
.media .magazine .contents.con_2 ul li + li {
	margin-top: 0.9rem;
}
.media .magazine .contents.contents.con_1 ul li {
	color: var(--dark_pink);
}
.media .magazine .contents.contents ul li dl {
	display: inline-block;
	font-weight: bold;
	padding: 0.5rem 1rem;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 0.5rem;
}
.media .magazine .contents.contents ul li dl dt {
	font-size: 1rem;
}
.media .magazine .contents.contents.con_1 dl dd {
	font-size: 1.4rem;
}
.media .magazine .contents.contents.con_2 dl dd {
	font-size: 1.2rem;
}
.voice .caption {
	position: relative;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
}
.voice .caption .small {
	font-size: 1rem;
}
.voice .customer {
	padding: 1rem 0 4.8rem;
}
.voice .customer .caption  {
	padding: 0 0 1.4rem;
	margin: 0 0 3rem;
}
.voice .customer .caption::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 13.9rem;
	height: 0.5rem;
	background: url(../../images/hapr_cp16_2b/media_line.png)no-repeat center/contain;
}
.voice .customer .voice_list {
	padding: 0 3.5rem;
	margin: 0 0 1.7rem;
}
.voice .customer .voice_list li + li {
	margin-top: 1rem;
}
.voice .note {
	font-size: 1rem;
	line-height: 1.5;
}
.voice .tubu_contens {
	padding: 6.6rem 0 8.4rem;
	background: url(../../images/hapr_cp16_2b/bg_voice_tubu.jpg)no-repeat center/cover
}
.voice .tubu_contens .caption {
	margin: 0 0 2rem;
}
.voice .tubu_contens .caption .color {
	color: var(--dark_pink);
}
.voice .tubu_contens .wrap {
	position: relative;
	padding: 6.1rem 10rem 7.7rem;
}
.voice .tubu_contens .wrap ul {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 1.1rem 0 1rem;
	box-sizing: border-box;
}
.voice .tubu_contens .wrap ul li {
	position: absolute;
	line-height: 1.3;
	letter-spacing: 0.15em;
	text-align: left;
	width: 12.4rem;
	padding: 0.5rem 0.5rem 0.5rem 1rem;
	background: rgba(255, 255, 255, 0.8);
	box-sizing: border-box;
	border-radius: 0.5rem;
}
.voice .tubu_contens .wrap ul li:nth-child(1) {
	top: 0;
	left: 1rem;
}
.voice .tubu_contens .wrap ul li:nth-child(2) {
	bottom: 2.8rem;
	left: 1rem;
}
.voice .tubu_contens .wrap ul li:nth-child(3) {
	top: 0;
	right: 1.5rem;
}
.voice .tubu_contens .wrap ul li:nth-child(4) {
	bottom: 2.8rem;
	right: 1rem;
	width: 13.3rem;
}
.voice .tubu_contens .wrap ul li p {
	font-size: 1rem;
	margin: 0 0 0.5rem;
}
.voice .tubu_contens .wrap ul li .name {
	font-size: 1.1rem;
}
.voice .tubu_contens .note {
	text-align: left;
	padding-left: 2rem;
}
.voice .concierge {
	padding: 2.7rem 0 6rem;
}
.voice .concierge .sub {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.15em;
	width: 10.9rem;
	padding: 2rem 0;
	margin: 0 auto;
	background: url(../../images/hapr_cp16_2b/bg_item_pink.png)no-repeat center/contain;
}
.voice .concierge .caption {
	margin: 0 0 2.3rem;
}
.voice .concierge ul {
	padding: 0 2rem 0 4.8rem;
	margin: 0 0 2rem;
}
.voice .concierge ul li {
	position: relative;
	padding: 1.3rem min(25px, 6.6vw); 2rem;
	border: 0.1rem solid var(--brown);
	background: #fff;
}
.voice .concierge ul li + li {
	margin-top: 1.9rem;
}
.voice .concierge ul li .icon {
	position: absolute;
	top: -0.6rem;
	left: -2.8rem;
	width: 8.4rem;
}
.voice .concierge ul li .name_wrap {
	text-align: left;
	line-height: 1.5;
	letter-spacing: 0.1em;
	padding: 0 0 0 4.3rem;
	margin: 0 0 1rem;
}
.voice .concierge ul li .name_wrap .job {
	font-size: 1rem;
}
.voice .concierge ul li .name_wrap .name {
	font-size: 1.6rem;
	font-weight: bold;
}
.voice .concierge ul li .text {
	font-size: min(12px, 3.1vw);
	line-height: 1.3;
	text-align: justify;
	text-justify: inter-ideograph;
}
.voice .concierge ul li .text .color {
	color: var(--dark_pink);
}
/* .faq */
.faq {
	position: relative;
	padding: 3.9rem 0 4.7rem;
	background: var(--deep-beige);
}
.faq .in {
	padding: 0 2rem;
}
.faq .sec_ttl {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 2.4rem;
}
.faq .faq_list .q {
	text-align: left;
	border-top: 0.1rem solid #CBB2A9;
}
.faq .faq_list .q:last-child {
	border-bottom: 0.1rem solid #CBB2A9;
}
.faq .faq_list .q > dt {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	padding: 1.5rem 0 1.5rem 1rem;
	cursor: pointer;
}
.faq .faq_list .q > dt::before,
.faq .faq_list .q > dt::after {
	content: '';
	position: absolute;
	background: var(--brown);
}
.faq .faq_list .q > dt::before {
	top: 1.6em;
	right: 1rem;
	width: 1rem;
	height: 0.1rem;
}
.faq .faq_list .q > dt::after {
	top: 1.3em;
	right: 1.4rem;
	width: 0.1rem;
	height: 1rem;
	transform: translateX(-0.05rem);
}
.faq .faq_list .q > dt.active::after {
	content: none;
}
.faq .faq_list .q > dt span {
	position: relative;
	display: block;
	letter-spacing: 0.05em;
	padding: 0 3.8rem 0 1.9rem;
}
.faq .faq_list .q > dt span::before {
	content: 'Q';
	position: absolute;
	font-family: 'Plus Jakarta Sans', sans-serif;
	top: 0.2rem;
	left: 0;
	font-size: 1.4rem;
	width: 1.2rem;
	height: 1.4rem;
}
.faq .faq_list .q > dd {
	display: none;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	padding: 0 0 2rem;
}
.faq .faq_list .q > dd .small,
.faq .faq_list .q > dd .note {
	font-size: 1rem;
}
.faq .faq_list .q > dd .note {
	display: block;
}
.faq .faq_list .q > dd p + p {
	margin-top: 0.6rem;
}
.faq .faq_list .q > dd dl + dl {
	margin-top: 0.8rem;
}
.pagetop {
	position: absolute;
	right: 2rem;
	bottom: 1.6rem;
	width: 2.1rem;
}
/* .footer */
.footer {
	position: relative;
	color: #fff;
	padding: 4.6rem 0 10rem;
	background: url(../../images/hapr_cp16_2b/bg_ft_top.jpg)no-repeat var(--brown) top center/100% auto;
}
.footer .logo {
	width: 4.2rem;
	margin: 0 auto 2rem;
}
.footer .link {
	margin: 0 0 2rem;
}
.footer .link li + li {
	margin-top: 0.5rem;
}
.footer .link li a {
	font-size: 1.4rem;
	line-height: 1.5;
	display: inline-block;
}
.footer .copyright {
	font-size: 1rem;
	line-height: 1.5;
}
/* .fixed_btn */
.fixed_btn_wrap {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 9.1rem;
	padding: 2.7rem 0 1.4rem;
	background: url(../../images/hapr_cp16_2b/bg_fixed_btn.png)no-repeat top center/cover;
	box-sizing: border-box;
	z-index: 2;
}
.fixed_btn a {
	position: relative;
	display: block;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.08em;
	width: 75.46%;
	padding: 1.3rem 0;
	margin: 0 auto;
	background: linear-gradient(90deg, #F28E8E 67.07%, #F37676 100%);
	box-shadow: 0px 0.6rem 1rem rgba(95, 56, 5, 0.14);
	border-radius: 9rem;
}
.fixed_btn a::before {
	content: '';
	position: absolute;
	top: -0.5rem;
	left: 3.3rem;
	width: 3rem;
	height: 5.4rem;
	background: url(../../images/hapr_cp16_2b/btn_item_1.png)no-repeat center/contain;
}
.fixed_btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 2.2rem;
	width: 3.1rem;
	height: 0.6rem;
	transform: translateY(-50%);
	background: url(../../images/hapr_cp16_2b/btn.svg)no-repeat center/contain;
	z-index: 1;
}
/* .modal_wrap */
.modal_shadow {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(161, 143, 129, 0.8);
	z-index: 3;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}
.modal_shadow.show,
.modal_contents_wrap.show {
	opacity: 1;
	visibility: visible;
}
.modal_contents_wrap {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	padding: 3rem 1rem;
	transform: translate(-50%,-50%);
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
	z-index: 5;
}
.modal_contents_wrap .close {
	position: absolute;
	top: 1.5rem;
	right: 0.3rem;
	width: 2.8rem;
	cursor: pointer;
	z-index: 1;
}
.modal_contents_wrap .in {
	position: relative;
	height: 100%;	
	overflow: auto;
	box-sizing: border-box;
	background: var(--light-beige);
}
.modal_contents_wrap .contents_head {
	padding: 2rem 0 1.6rem;
	background: var(--dark_pink);
}
.modal_contents_wrap .contents_head span {
	display: block;
	color: var(--dark_pink);
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	width: 26.7rem;
	margin: 0 auto 0.7rem;
	background: var(--light-beige);
	border-radius: 7rem;
}
.modal_contents_wrap .contents_head p {
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.modal_contents_wrap .contents {
	padding: 0 0 5.7rem;
}
.modal_contents_wrap .contents .ttl {
	margin: 0 0 1.8rem;
}
.modal_contents_wrap .contents .head_text_wrap {
	text-align: left;
	padding: 0 0 0 2.4rem;
	margin: 0 0 4rem;
}
.modal_contents_wrap .contents .head_text_wrap .text {
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.modal_contents_wrap .contents .head_text_wrap .text + .text {
	margin-top: 1em;
}
.modal_contents_wrap .contents .head_text_wrap .text .small {
	font-size: 1rem;
}
.modal_contents_wrap .contents .campaign_term,
.modal_contents_wrap .contents .campaign_amazon,
.modal_contents_wrap .contents .disclaimer {
	padding: 0 2rem;
}
.modal_contents_wrap .contents .campaign_term > dt,
.modal_contents_wrap .contents .campaign_contents > dt,
.modal_contents_wrap .contents .campaign_amazon > dt,
.modal_contents_wrap .contents .disclaimer > dt {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-align: left;
	padding: 0 0 0.5rem;
	border-bottom: 0.1rem solid var(--light-brown);
}
.modal_contents_wrap .contents .campaign_amazon > dt {
	letter-spacing: 0;
}
.modal_contents_wrap .contents .campaign_term {
	margin: 0 0 3.9rem;
}
.modal_contents_wrap .contents .campaign_term > dt {
	margin: 0 0 0.7rem;
}
.modal_contents_wrap .contents .campaign_term dd {
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: left;
}
.modal_contents_wrap .contents .campaign_contents dt {
	margin: 0 2rem 2.4rem;
}
.modal_contents_wrap .contents .campaign_contents .campaign_num_contents {
	position: relative;
	margin: 0 2rem;
	background: #fff;
}
.modal_contents_wrap .contents .campaign_contents .campaign_num_contents + .campaign_num_contents {
	margin-top: 2.3rem;
}
.modal_contents_wrap .contents .campaign_contents .campaign_num_contents .campaign_num {
	position: absolute;
	top: -0.4rem;
	left: -0.4rem;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	width: 11.6rem;
	padding: 0.2rem 0 0.1rem;
	background: var(--brown);
}
.modal_contents_wrap .contents .campaign_contents .text {
	font-size: 1.4rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: left;
}
.modal_contents_wrap .contents .campaign_contents .text .note {
	display: block;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-top: 0.6rem;
}
.modal_contents_wrap .contents .campaign_contents .num_1 {
	padding: 3.3rem 0 2.2rem 0.9rem;
}
.modal_contents_wrap .contents .campaign_contents .num_2 {
	padding: 3.8rem 0 2.1rem 0.9rem;
}
.modal_contents_wrap .contents .campaign_contents .img {
	position: absolute;
}
.modal_contents_wrap .contents .campaign_contents .num_1 .img {
	top: 1.1rem;
	right: 1.9rem;
	width: 7.9rem;
}
.modal_contents_wrap .contents .campaign_contents .num_2 .img {
	top: 0.7rem;
	right: -1.8rem;
	width: 15.5rem;
}
.modal_contents_wrap .contents .campaign_contents .product {
	margin-top: 5rem;
}
.modal_contents_wrap .contents .campaign_contents .product .item_list .item_wrap {
	padding-bottom: 1rem;
	border-color: var(--light-brown);
}
.modal_contents_wrap .contents .campaign_contents .product .item_list .item_wrap:last-child {
	border-bottom: 0.1rem solid var(--light-brown);
}
.modal_contents_wrap .contents .campaign_contents .product .detail_wrap .price_wrap .special {
	margin: 1.7rem 0 0 2.6rem;
}
.modal_contents_wrap .contents .campaign_contents .product .item_wrap .notes {
	text-align: left;
	width: 84%;
	padding: 1rem;
	margin: 4rem auto 3rem;
	border: 0.1rem solid var(--light-brown);
	box-sizing: border-box;
}
.modal_contents_wrap .contents .campaign_contents .product .item_wrap .notes li {
	font-size: 1rem;
	line-height: 1.15;
	letter-spacing: 0.08em;
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.modal_contents_wrap .contents .campaign_contents .num_3 {
	width: 84%;
	padding: 3rem 0 1.5rem 1.2rem;
	margin: 4.4rem auto 4rem;
}
.modal_contents_wrap .contents .campaign_contents .num_3 .text {
	font-weight: bold;
}
.modal_contents_wrap .contents .campaign_contents .num_3 .img {
	top: 1.4rem;
	right: 1.4rem;
	width: 7.7rem;
}
.modal_contents_wrap .contents .campaign_amazon {
	margin: 4.6rem 0 0;
}
.modal_contents_wrap .contents .campaign_amazon > dt {
	margin: 0 0 0.8rem;
}
.modal_contents_wrap .contents .campaign_amazon dt .small {
	font-size: 1.2rem;
	font-feature-settings: 'palt';
}
.modal_contents_wrap .contents .campaign_amazon dd,
.modal_contents_wrap .contents .disclaimer dd {
	font-size: 1.4rem;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-align: left;
}
.modal_contents_wrap .contents .campaign_amazon dd ul li,
.modal_contents_wrap .contents .disclaimer dd ul li {
	padding-left: 1em;
	text-indent: -1em;
}
.modal_contents_wrap .contents .campaign_amazon dd ul li + li,
.modal_contents_wrap .contents .disclaimer dd ul li + li {
	margin-top: 0.5rem;
}
.modal_contents_wrap .contents .campaign_amazon dd .other > dt {
	margin: 2.2rem 0 0.4em;
}
.modal_contents_wrap .contents .disclaimer {
	margin: 4.2rem 0 2.2rem;
}
.modal_contents_wrap .contents .disclaimer > dt {
	margin: 0 0 1rem;
}
.modal_contents_wrap .contents .disclaimer dd dl {
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.modal_contents_wrap .contents .disclaimer dd dl + dl {
	margin-top: 1rem;
}
.modal_contents_wrap .btn_wrap {
	position: relative;
}
.modal_contents_wrap .btn_wrap .sub {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	width: 19rem;
	margin: 0 auto;
	padding: 3rem 0 0.8rem;
	background: url(../../images/hapr_cp16_2b/bg_item_white.png)no-repeat top center/100% auto;
}
.modal_contents_wrap .btn_wrap .sub .color {
	color: var(--dark_pink);
}
.modal_contents_wrap .btn_wrap .btn {
	position: relative;
	width: 84%;
	margin: 0 auto;
}
.modal_contents_wrap .btn_wrap .btn a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.3;
	letter-spacing: 0.15em;
	padding: 2rem 1rem 2rem 0;
	background: var(--pink);
	border-radius: 10rem;
	box-shadow: 0px 1.6rem 1.8rem rgba(95, 56, 5, 0.2);
}
.modal_contents_wrap .btn_wrap .btn a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 1.9rem;
	width: 0.1rem;
	height: 0.1rem;
	transform: translate(-50%, -0.05rem);
	background: #BC6161;
	border-radius: 50%;
	transition: transform .3s;
	box-shadow: 0px 1.6rem 1.8rem rgba(95, 56, 5, 0.2);
}
.modal_contents_wrap .btn_wrap .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1.8rem;
	width: 3.1rem;
	height: 0.6rem;
	transform: translateY(-50%);
	background: url(../../images/hapr_cp16_2b/btn.svg)no-repeat center/contain;
	z-index: 1;
}
.modal_contents_wrap .btn_wrap .btn a:hover::before {
	transform: translate(-50%, -0.05rem) scale(23);
}
/* 吸着図アニメーション ここから */
.apaani {
  position: relative;
  overflow: hidden;
}
.apaani img {
  width: 100%;
}
.apaani__el {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.apaani__bg {
  position: relative;
  height: auto;
}
.apaani__test {
  opacity: 0;/* 0  */
}
.apaani__txt {
  overflow: hidden;
  height: 0;
  -webkit-transition: height 2s linear;
  transition: height 2s linear;
}
.apaani__txt1 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.apaani__txt2 {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}
.apaani__txt4 {
  -webkit-transition-delay: 3.0s;
          transition-delay: 3.0s;
}
.apaani__txt3 {
  -webkit-transition-delay: 3.0s;
          transition-delay: 3.0s;
}
.apaani__txt img {
  position: absolute;
  left: 0;
  top: 0;
}
.apaani.is-run .apaani__txt {
  height: 100%;
}
.apaani.is-run-end .apaani__txt {
  height: 0;
  -webkit-transition: none;
  transition: none;
}
.apaani__old {
  height: auto;
  -webkit-transition: left 1s, top 1s;
  transition: left 1s, top 1s;
}
.apaani__old img {
  display: block;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
}
.apaani__old1 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.apaani__old1 img {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.apaani__old2 {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.apaani__old2 img {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.apaani__old3 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
.apaani__old3 img {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
.apaani__old4 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.apaani__old4 img {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.apaani__old5 {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}
.apaani__old5 img {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}
.apaani__old6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
.apaani__old6 img {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
.apaani__old7 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}
.apaani__old7 img {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}
.apaani__old8 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.apaani__old8 img {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.apaani__old1 {
  left: 11.5%;
  top: 60.5%;
}
.apaani__old1 img {
  -webkit-transform: translate(-50%, -50%) rotate(4deg);
          transform: translate(-50%, -50%) rotate(4deg);
}
.apaani__old2 {
  left: 48%;
  top: 63.5%;
}
.apaani__old2 img {
  -webkit-transform: translate(-50%, -50%) rotate(5deg);
          transform: translate(-50%, -50%) rotate(5deg);
}
.apaani__old3 {
  left: 64%;
  top: 64%;
}
.apaani__old3 img {
  -webkit-transform: translate(-50%, -50%) rotate(190deg);
          transform: translate(-50%, -50%) rotate(190deg);
}
.apaani__old4 {
  left: 75%;
  top: 61%;
}
.apaani__old4 img {
  -webkit-transform: translate(-50%, -50%) rotate(2deg);
          transform: translate(-50%, -50%) rotate(2deg);
}
.apaani__old5 {
  left: 24%;
  top: 60.5%;
}
.apaani__old5 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani__old6 {
  left: 58.3%;
  top: 59.3%;
}
.apaani__old6 img {
  -webkit-transform: translate(-50%, -50%) rotate(-6deg);
          transform: translate(-50%, -50%) rotate(-6deg);
}
.apaani__old7 {
  left: 39%;
  top: 60.5%;
}
.apaani__old7 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani__old8 {
  left: 81%;
  top: 59.5%;
}
.apaani__old8 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani.is-run .apaani__old1 {
  left: 14.5%;
  top: 29%;
}
.apaani.is-run .apaani__old1 img {
  -webkit-transform: translate(-50%, -50%) rotate(50deg);
          transform: translate(-50%, -50%) rotate(50deg);
}
.apaani.is-run .apaani__old2 {
  left: 50.5%;
  top: 23%;
}
.apaani.is-run .apaani__old2 img {
  -webkit-transform: translate(-50%, -50%) rotate(70deg);
          transform: translate(-50%, -50%) rotate(70deg);
}
.apaani.is-run .apaani__old3 {
  left: 61.5%;
  top: 30%;
}
.apaani.is-run .apaani__old3 img {
  -webkit-transform: translate(-50%, -50%) rotate(163deg);
          transform: translate(-50%, -50%) rotate(163deg);
}
.apaani.is-run .apaani__old4 {
  left: 65.5%;
  top: 15%;
}
.apaani.is-run .apaani__old4 img {
  -webkit-transform: translate(-50%, -50%) rotate(-116deg);
          transform: translate(-50%, -50%) rotate(-116deg);
}
.apaani.is-run .apaani__old5 {
  left: 23.5%;
  top: 31.5%;
}
.apaani.is-run .apaani__old5 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani.is-run .apaani__old6 {
  left: 58%;
  top: 28.5%;
}
.apaani.is-run .apaani__old6 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani.is-run .apaani__old7 {
  left: 30%;
  top: 25.5%;
}
.apaani.is-run .apaani__old7 img {
  -webkit-transform: translate(-50%, -50%) rotate(-81deg);
          transform: translate(-50%, -50%) rotate(-81deg);
}
.apaani.is-run .apaani__old8 {
  left: 65%;
  top: 25%;
}
.apaani.is-run .apaani__old8 img {
  -webkit-transform: translate(-50%, -50%) rotate(-49deg);
          transform: translate(-50%, -50%) rotate(-49deg);
}
.apaani.is-run-end .apaani__old {
  -webkit-transition: none;
  transition: none;
}
.apaani.is-run-end .apaani__old img {
  -webkit-transition: none;
  transition: none;
}
.apaani.is-run-end .apaani__old1 {
  left: 11.5%;
  top: 60.5%;
}
.apaani.is-run-end .apaani__old1 img {
  -webkit-transform: translate(-50%, -50%) rotate(4deg);
          transform: translate(-50%, -50%) rotate(4deg);
}
.apaani.is-run-end .apaani__old2 {
  left: 48%;
  top: 63.5%;
}
.apaani.is-run-end .apaani__old2 img {
  -webkit-transform: translate(-50%, -50%) rotate(5deg);
          transform: translate(-50%, -50%) rotate(5deg);
}
.apaani.is-run-end .apaani__old3 {
  left: 64%;
  top: 64%;
}
.apaani.is-run-end .apaani__old3 img {
  -webkit-transform: translate(-50%, -50%) rotate(190deg);
          transform: translate(-50%, -50%) rotate(190deg);
}
.apaani.is-run-end .apaani__old4 {
  left: 75%;
  top: 61%;
}
.apaani.is-run-end .apaani__old4 img {
  -webkit-transform: translate(-50%, -50%) rotate(2deg);
          transform: translate(-50%, -50%) rotate(2deg);
}
.apaani.is-run-end .apaani__old5 {
  left: 24%;
  top: 60.5%;
}
.apaani.is-run-end .apaani__old5 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani.is-run-end .apaani__old6 {
  left: 58.3%;
  top: 59.3%;
}
.apaani.is-run-end .apaani__old6 img {
  -webkit-transform: translate(-50%, -50%) rotate(-6deg);
          transform: translate(-50%, -50%) rotate(-6deg);
}
.apaani.is-run-end .apaani__old7 {
  left: 39%;
  top: 60.5%;
}
.apaani.is-run-end .apaani__old7 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.apaani.is-run-end .apaani__old8 {
  left: 81%;
  top: 59.5%;
}
.apaani.is-run-end .apaani__old8 img {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
/* 吸着図アニメーション ここまで */
