@charset "utf-8";
/* CSS Document */


/* =============================
 Fonts
============================= */
@font-face {
	font-family: 'Arboria';
	src: url('../fonts/Arboria-Bold.otf') format('opentype');
	font-weight: bold;
}
@font-face {
	font-family: 'Arboria';
	src: url('../fonts/Arboria-Medium.otf') format('opentype');
	font-weight: normal;
}


/* =============================
 Base
============================= */
.pc_only {display: block;}
.sp_only {display: none;}
.pc_br {display: block;}
@media only screen and (max-width: 768px) {
	.pc_only {display: none;}
	.sp_only {display: block;}
	.pc_br {display: inline;}
	.sp_br {display: block;}
}

html {
    scroll-behavior: smooth;
}
body {
	background: #fff;
	width: 100%;
}
#miniliner_page {
	margin-bottom: 100px;
}

#miniliner_page h1,
#miniliner_page h2,
#miniliner_page h3 {
	font-family: 'Arboria';
	font-weight: bold;
	letter-spacing: 0.08em;
	text-align: center;
}

#miniliner_page img {
	width: 100%;
}
#miniliner_page a:hover {
	opacity: 0.7;
}
#miniliner_page p {
	font-size: 15px;
	line-height: 1.8;
	text-align: justify;
}

/* ピンクのグリッド背景 */
#miniliner_page .scallop_bg {
	position: relative;
	z-index: 1;
	background: url(../images/bg.png) repeat-x center top;
	background-size: 2800px;
	margin-top: -40px;
	padding: 100px 0 0 0;
}
#miniliner_page .scallop_bg::after {
	content: '';
	display: block;
	width: 100%;
	height: 40px;
	background: url(../images/bg_btm_white.svg) repeat-x center top;
	background-size: 2800px;
}
#miniliner_page .scallop_bg.with_red::after {
	background: url(../images/bg_btm_red.svg) repeat-x center top;
	background-size: 2800px;
}
@media only screen and (max-width: 768px) {
	#miniliner_page .scallop_bg {
		background-size: 460vw;
		margin-top: -30px;
	}
	#miniliner_page .scallop_bg::after {
		background-size: 460vw;
	}
	#miniliner_page .scallop_bg.with_red::after {
		background-size: 460vw;
	}
}


/* =============================
 Main Visual
============================= */
#miniliner_page #mv {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
#miniliner_page #mv .mv_bg {
	position: relative;
	z-index: 1;
	display: block;
}
#miniliner_page #mv .logo {
	position: absolute;
	width: 35%;
	top: 16%;
	left: 7%;
	z-index: 2;
}
@media only screen and (max-width: 768px) {
	#miniliner_page #mv .logo {
		width: 48%;
		top: 4%;
		left: 26%;
	}
}


/* =============================
 Catch Area
============================= */
/* リード文 + ミニサイズ登場 */
#miniliner_page #catch_area {
	width: 1040px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#miniliner_page #catch_area .text_area {
	width: 43%;
}
#miniliner_page #catch_area .text_area p {
	margin: 20px -20px 0 0;
	line-height: 2.2;
}
#miniliner_page #catch_area .item_feature {
	position: relative;
	width: 60%;
}
#miniliner_page #catch_area .item_feature .heart1 {
	width: 58%;
	margin: 0 -20px 0 auto;
}
#miniliner_page #catch_area .item_feature .item_mini {
	position: absolute;
	top: 180px;
	right: 10px;
	width: 66%;
}
#miniliner_page #catch_area .item_feature .item_mini_caption {
	position: absolute;
	bottom: 150px;
	right: 30px;
	width: 10%;
}
#miniliner_page #catch_area .item_feature .item_normal {
	width: 94%;
	margin: -200px 0 0 -20px;
}
#miniliner_page #catch_area .item_feature .item_normal_caption {
	position: absolute;
	bottom: -10px;
	right: 100px;
	width: 10%;
}
#miniliner_page #catch_area .item_feature .deco {
	position: absolute;
	bottom: 70px;
	right: -30px;
	width: 7%;
}
#miniliner_page #catch_area .item_feature .length {
	position: absolute;
	top: 0;
	left: 64px;
	width: 28%;
}
#miniliner_page #catch_area .item_feature .amount {
	position: absolute;
	bottom: 90px;
	left: 20px;
	width: 25%;
}
@media only screen and (max-width: 768px) {
	#miniliner_page #catch_area {
		width: 86%;
		flex-direction: column;
	}
	#miniliner_page #catch_area .text_area {
		width: 100%;
	}
	#miniliner_page #catch_area .text_area h1 {
		width: 90%;
	}
	#miniliner_page #catch_area .text_area p {
		font-size: 13px;
		line-height: 1.9;
		margin: 20px 0 0 0;
	}
	#miniliner_page #catch_area .item_feature {
		width: 100%;
		margin-top: 4%;
	}
	#miniliner_page #catch_area .item_feature .heart1 {
		width: 60%;
		margin: 0 2% 0 auto;
	}
	#miniliner_page #catch_area .item_feature .item_mini {
		top: 46%;
	}
	#miniliner_page #catch_area .item_feature .item_mini_caption {
		bottom: auto;
		top: 66%;
		width: 14%;
	}
	#miniliner_page #catch_area .item_feature .item_normal {
		width: 94%;
		margin: -14% 0 0 -4%;
	}
	#miniliner_page #catch_area .item_feature .item_normal_caption {
		position: absolute;
		bottom: -2%;
		right: 18%;
		width: 14%;
	}
	#miniliner_page #catch_area .item_feature .deco {
		bottom: 10%;
		right: -2%;
	}
	#miniliner_page #catch_area .item_feature .length {
		top: 18%;
		left: 12%;
	}
	#miniliner_page #catch_area .item_feature .amount {
		bottom: 13%;
		left: 3%;
	}
}

/* アクリルチャーム付き */
#miniliner_page #charm_included {
	margin-bottom: 100px;
}
#miniliner_page #charm_included .flex {
	display: flex;
	justify-content: flex-start;
	width: 1100px;
	margin: -30px auto 30px auto;
}
#miniliner_page #charm_included .heart2 {
	position: relative;
	z-index: 1;
	width: 28%;
	margin-right: -2%;
}
#miniliner_page #charm_included ul {
	position: relative;
	z-index: 2;
	width: 64%;
	display: flex;
	align-items: flex-end;
	margin-top: -16px;
}
#miniliner_page #charm_included li {
	width: 33.33%;
}
#miniliner_page #charm_included li:first-child .charm_img {
	margin: 0 -4px -12px -44px;
}
#miniliner_page #charm_included li .charm_img {
	margin: 0 10px 16px -20px;
}
#miniliner_page #charm_included li h3 {
	color: #d0121b;
	font-size: 20px;
}
#miniliner_page #charm_included li .item_img {
	margin: -8px 0 0 8px;
	width: 90%;
}
#miniliner_page #charm_included .note {
	text-align: center;
}
#miniliner_page #charm_included .note > span {
	display: inline-block;
	padding: 20px 30px;
	background: #fff;
	border-radius: 30px;
	font-size: 12px;
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
	#miniliner_page #charm_included {
		margin-bottom: 70px;
	}
	#miniliner_page #charm_included .flex {
		flex-direction: column;
		width: 90%;
		margin: 0 auto;
	}
	#miniliner_page #charm_included .heart2 {
		width: 60%;
		margin: -2% 0 0 4%;
	}
	#miniliner_page #charm_included ul {
		width: 100%;
		flex-direction: column;
		margin: -25% 0 0 0;
	}
	#miniliner_page #charm_included li {
		width: 42%;
		margin: 0 2% 0 auto;
	}
	#miniliner_page #charm_included li:nth-child(2) {
		margin: -40% auto 0 8%;
	}
	#miniliner_page #charm_included li:nth-child(3) {
		margin: -27% 2% 0 auto;
	}
	#miniliner_page #charm_included li .charm_img {
		margin: 0 0 16px -20px;
	}
	#miniliner_page #charm_included li h3 {
		font-size: 3.7vw;
	}
	#miniliner_page #charm_included .note {
		text-align: left;
		margin: -30% auto 0 10%;
	}
	#miniliner_page #charm_included .note > span {
		padding: 4% 2% 4% 4%;
		border-radius: 6px;
		font-size: 3vw;
		line-height: 1.6;
	}
}


/* =============================
 COLOR LINE UP Area
============================= */
#miniliner_page #color_vari_area {
	padding: 100px 0 80px 0;
	margin-top: -1px;
}
#miniliner_page #color_vari_area h1 {
	color: #d0121b;
	font-size: 48px;
}
#miniliner_page ul.lineup {
	width: 1000px;
	margin: 56px auto 0 auto;
	display: flex;
	justify-content: space-between;
}
#miniliner_page ul.lineup li {
	position: relative;
	width: 28%;
}
#miniliner_page ul.lineup li h2 {
	font-size: 28px;
	text-align: center;
	margin-bottom: 28px;
}
#miniliner_page ul.lineup li .item_img {
	display: flex;
	align-items: flex-end;
	gap: 4px;
}
#miniliner_page ul.lineup li .package {
	flex: 1;
}
#miniliner_page ul.lineup li .bottle {
	width: 22.2%;
	margin-bottom: -10px;
}
#miniliner_page ul.lineup li .model {
	width: 86%;
	margin: 0 auto;
	position: relative;
}
#miniliner_page ul.lineup li .model::before {
	content: '';
	display: block;
	width: 2px;
	height: 46px;
	margin: -1px auto;
	background: #9e725a;
}
#miniliner_page ul.lineup li.cotton .model::before {
	background: #eda6b4;
}
#miniliner_page ul.lineup li.dazzle .model::before {
	background: #eb6ea5;
}
#miniliner_page ul.lineup li .model .lame_icon {
	position: absolute;
	width: 50%;
	top: 0;
	right: -56px;
}
#miniliner_page ul.lineup li .model .deco {
	position: absolute;
	width: 30%;
	bottom: -44px;
	right: -26px;
}
#miniliner_page ul.lineup li .texture {
	width: 86%;
	margin: 8px auto 0 auto;
}
#miniliner_page .item_info {
	text-align: center;
	margin: 40px 0 80px 0;
}
#miniliner_page .item_info .item_name {
	font-size: 18px;
	font-weight: bold;
}
#miniliner_page .item_info .price {
	font-size: 14px;
	margin: 16px 0;
	line-height: 1.6;
}
#miniliner_page .item_info .note {
	font-size: 11px;
	line-height: 1.6;
}
#miniliner_page .item_info .os_btn a {
	display: block;
	width: 340px;
	height: 60px;
	margin: 30px auto 0 auto;
	line-height: 60px;
	background: #d0121b;
	color: #fff;
	text-align: center;
	border-radius: 30px;
	font-family: 'Arboria';
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
	#miniliner_page #color_vari_area {
		padding: 50px 0 30px 0;
	}
	#miniliner_page #color_vari_area h1 {
		font-size: 26px;
	}
	#miniliner_page ul.lineup {
		width: 84%;
		flex-direction: column;
		margin: 0 auto;
	}
	#miniliner_page ul.lineup li {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		margin-top: 14%;
	}
	#miniliner_page ul.lineup li h2 {
		width: 46%;
		letter-spacing: 0.04em;
		position: absolute;
		top: 0;
		right: 0;
		font-size: 4.2vw;
		margin: 10% 0 0 0;
	}
	#miniliner_page ul.lineup li .item_img {
		width: 50%;
	}
	#miniliner_page ul.lineup li .bottle {
		margin-bottom: -3%;
	}
	#miniliner_page ul.lineup li > span {
		width: 48%;
	}
	#miniliner_page ul.lineup li .model {
		width: 96%;
		margin: 0 0 0 auto;
	}
	#miniliner_page ul.lineup li .model .lame_icon {
		right: -20%;
		top: -20%;
	}
	#miniliner_page ul.lineup li .model .deco {
		right: -10%;
		bottom: -21%;
	}
	#miniliner_page ul.lineup li .model::before {
		display: none;
	}
	#miniliner_page ul.lineup li .texture {
		width: 96%;
		margin: 10% 0 4% auto;
	}
	#miniliner_page .item_info .item_name {
		font-size: 16px;
		line-height: 1.5;
	}
	#miniliner_page .item_info .price {
		font-size: 12px;
		margin: 16px 0;
		line-height: 1.6;
	}
	#miniliner_page .item_info .note {
		font-size: 11px;
		line-height: 1.6;
	}
	#miniliner_page .item_info .os_btn a {
		width: 84%;
		font-size: 20px;
	}
}


/* =============================
 HOW TO USE Area
============================= */
#how h1 {
	width: 290px;
	margin: 24px auto;
}
#how .eyeline_point {
	position: relative;
	width: 716px;
	margin: 0 auto;
}
#how .eyeline_point .img1 {
	position: relative;
	z-index: 1;
}
#how .eyeline_point .img2 {
	position: absolute;
	z-index: 2;
	top: 0;
	width: 100%;
}
#how .eyeline_point .img3 {
	position: absolute;
	z-index: 3;
	top: 0;
	width: 100%;
}
#how .eyeline_point .img4 {
	position: absolute;
	z-index: 4;
	top: 0;
	width: 100%;
}
#how .befor_after {
	width: 750px;
	margin: 40px auto 70px auto;
}
@media only screen and (max-width: 768px) {
	#how h1 {
		width: 46%;
		margin: 0 auto 10px auto;
	}
	#how .eyeline_point {
		width: 98%;
	}
	#how .befor_after {
		width: 90%;
	}
}


/* =============================
 かわいいチャーム付き
============================= */
#charm h2 {
	width: 330px;
	margin: 0 auto 40px auto;
}
#charm .flex {
	display: flex;
	justify-content: space-between;
	width: 915px;
	margin: 0 auto;
}
#charm .flex > div {
	width: 48.4%;
	margin: 0;
}
#charm .flex .swiper {
	padding-bottom: 40px;
}
#charm .flex .swiper .swiper-pagination {
	text-align: right;
	padding-right: 24px;
}
#charm .flex .swiper .swiper-pagination-bullet {
	width: 17px;
	height: 17px;
	background: #d0121b;
}
#charm p {
	text-align: center;
	font-size: 14px;
	margin: 4px 0 80px 0;
}
@media only screen and (max-width: 768px) {
	#charm h2 {
		width: 48%;
		margin: 0 auto 8% auto;
	}
	#charm .flex {
		width: 64%;
		flex-direction: column;
	}
	#charm .flex > div {
		width: 100%;
		margin-bottom: 8%;
	}
	#charm .flex .swiper {
		padding-bottom: 30px;
	}
	#charm .flex .swiper .swiper-pagination {
		text-align: center;
		padding-right: 0;
	}
	#charm .flex .swiper .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
	}
	#charm p {
		text-align: center;
		font-size: 9px;
		margin: 0 0 60px 0;
	}
}


/* =============================
 Conversion Aria
============================= */
#cta_area {
	background: #d0121b;
	padding: 70px 0;
	color: #fff;
}
#cta_area h1 {
	width: 520px;
	margin: 0 auto;
}
#cta_area .feature {
	display: flex;
	width: 900px;
	margin: 20px auto -40px auto;
	position: relative;
}
#cta_area .feature > div {
	width: 30%;
	margin: 0 -12.5% 0 0;
}
#cta_area .feature .f2,
#cta_area .feature .f4 {
	margin: 6.5% -12.5% 0 0;
}
#cta_area .feature p {
	position: absolute;
	right: 6%;
	bottom: 16%;
	font-size: 10px;
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.4;
}
#miniliner_page #cta_area ul.lineup li h2 {
	margin: 28px 0 28px 0;
}
#miniliner_page #cta_area .item_info .os_btn a {
	background: #fff;
	color: #d0121b;
}
@media only screen and (max-width: 768px) {
	#cta_area {
		padding: 60px 0 40px 0;
	}
	#cta_area h1 {
		width: 78%;
	}
	#cta_area .feature {
		width: 96%;
		flex-wrap: wrap;
		margin: 20px auto -40px auto;
		position: relative;
	}
	#cta_area .feature > div {
		width: 52%;
	}
	#cta_area .feature .f1,
	#cta_area .feature .f4 {
		margin: 0 -2.1% 0 0;
	}
	#cta_area .feature .f2,
	#cta_area .feature .f5 {
		margin: 0 0 0 -2.1%;
	}
	#cta_area .feature .f3 {
		margin: -24% 0 -32% 24%;
	}
	#cta_area .feature p {
		position: relative;
		right: auto;
		bottom: auto;
		font-size: 9px;
		text-indent: 0;
		padding-left: 0;
		text-align: center;
		width: 100%;
		margin: -3% 0 16% 0;
	}
	#miniliner_page #cta_area ul.lineup li {
		flex-direction: column;
		align-items: center;
		margin-top: 16%;
	}
	#miniliner_page #cta_area ul.lineup li h2 {
		position: relative;
		margin: 8% 0 0 0;
		font-size: 6vw;
		width: 100%;
	}
	#miniliner_page #cta_area ul.lineup li .item_img {
		width: 68%;
	}
	#miniliner_page #cta_area .item_info {
		margin: 60px 0 50px 0;
	}
}



/* ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
 Animation
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ */
@keyframes fadein {
	0% {
	   opacity: 0;
	}
	100% {
	   opacity: 1;
	}
}
.fadeIn.did,
.fadeIn.move {
    animation: fadein 1s ease-out forwards;
	animation-delay: calc(var(--delay) * 0.2s);
}

@keyframes fadeinUp {
	0% {
	   opacity: 0;
	   transform: translateY(20px);
	}
	100% {
	   opacity: 1;
	   transform: translateY(0);
	}
}
.fadeInUp.did,
.fadeInUp.move {
    animation: fadeinUp 0.8s ease-out forwards;
	animation-delay: calc(var(--delay) * 0.2s);
}

@keyframes fadeinRight {
	0% {
	   transform: translateX(-100%);
	}
	100% {
	   transform: translateX(0);
	}
}
@keyframes fadeinLeft {
	0% {
	   opacity: 0;
	   transform: translateX(50%);
	}
	100% {
	   opacity: 1;
	   transform: translateX(0);
	}
}

@keyframes clip_toRight {
    0% {
        clip-path: inset(0 99.9% 0 0);
    }
    100% {
        clip-path: inset(0%);
    }
}
.clip_toRight {
	clip-path: inset(0 100% 0 0);
}
.clip_toRight.move {
	opacity: 1;
    animation: clip_toRight 0.6s ease-out forwards;
	animation-delay: calc(var(--delay) * 0.2s);
}

@keyframes scaleUp {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
.scaleUp {
	transform: scale(0);
}
.scaleUp.move {
	opacity: 1;
    animation: scaleUp 0.4s ease-out forwards;
	animation-delay: calc(var(--delay) * 0.2s);
}

@keyframes poyopoyo {
	0%, 40%, 60%, 80% {
		transform: scale(1.0);
	}
	50%, 70% {
		transform: scale(0.97);
	}
}
.poyopoyo {
	animation: poyopoyo 2.8s ease-out infinite;
	opacity: 1;
}
 
@keyframes fuwafuwa {
	0% {
		transform:translate(0, 0) rotate(-7deg);
	}
	50% {
		transform:translate(0, -7px) rotate(0deg);
	}
	100% {
		transform:translate(0, 0) rotate(7deg);
	}
}
.fuwafuwa {
	animation: fuwafuwa 3s ease-in-out infinite alternate;
	display: inline-block;
	transition: 1.5s ease-in-out;
	width: 70px;
	height: 70px;
	margin-top: 15px;
}

.stand-by,
.animation {
    opacity: 0;
}


/* =============================
 Animation settings
============================= */
#miniliner_page #mv .mv_bg {
	opacity: 0;
	animation: fadein 0.8s ease-in-out 0.2s forwards;
}
#miniliner_page #mv .logo {
	opacity: 0;
	animation: fadeinUp 0.6s ease-in-out 1s forwards;
}
/* #miniliner_page #catch_area .text_area.did {
	animation: fadeinUp 0.6s ease-in 0.3s forwards;
}
#miniliner_page #catch_area .item_feature .heart1 img.did {
	animation: fadein 0.8s ease-in-out 0.8s forwards;
} */

