@charset "UTF-8";

/* ===================================================================
CSS information
file name  : style.css
style info : ネイルシールドプレミアム SP Style
=================================================================== */
html body main img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

main {
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

:root{
	--BFm: "Noto Serif", serif;
	--BFg: "Noto Sans JP", sans-serif;
	--BC: #816e46;
	--BCrgb: 129,110,70
}

.iwrap.inlns {
	box-sizing: border-box;
	color: #333;
	position: relative;
	margin-top: -5px;
	z-index: 1;
	font-family: var(--BFg);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.8;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}
.inlns img{
	width: 100%;
}
.BFred,.Tred{
	color: #ff1741;
}
.txtBox{
	width: 90%;
	margin: auto;
}
.txt{
	font-size: 1.8rem;
	letter-spacing: 2px;
	text-align: center;
}

ul.awo {
	display: flex;
	flex-direction: column;
	position: absolute;
	bottom: 22vw;
	left: 3vw;
}
.awo li,.awo li::before,.awo li::after  {
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
}
.awo li {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 1rem;
	padding-left: 2px;
	font-size: 1.2rem;
	text-align: center;
	font-weight: 500;
	line-height: 1.6;
	z-index: 2;
}
.awo li span{
	padding-top: 7px;
	display: inline-block;
	font-weight: 600;
}
.awo li:first-of-type span {
	padding-top: 4px;
}
.awo li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid #aaa;
	z-index: 1;
}
.awo li::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	background: rgba(255,255,255,.9);
	z-index: -1;
}
.anno{
	font-size: 1rem;
	width: 95%;
	text-align: right;
}
.iwrap h3{
	font-weight: 400;
	font-size: 2rem;
	text-align: center;
}
h4.ballon {
	margin-top: 3rem;
	margin-bottom: 2rem;
	color: #023f7b;
	font-size: 3rem;
	text-align: center;
	font-weight: 600;
	font-family: var(--BFm);
	letter-spacing: 5px;
}
.bmline {
	position: relative;
	margin: 4rem auto 6rem;
	font-family: var(--BFm);
	font-size: 2.5rem;
	text-align: center;
	letter-spacing: 2px;
	border-bottom: 1px solid var(--BC);
	width: 80%;
}
.bmline::after {
	content: "";
	margin: auto;
	position: absolute;
	bottom: -23px;
	right: 0;
	left: 0;
	width: 10px;
	height: 30px;
	border-right: 1px solid var(--BC);
	transform: rotate(45deg);
}
h2.tria{
	position: relative;
	display: block;
	margin: 5rem auto 0rem;
	font-family: var(--BFm);
	font-size: 2rem;
	color: #fff;
	text-align: center;
	letter-spacing: 3px;
	z-index: 5;
}
h2.tria::before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 50%;
	height: 5rem;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: var(--BC);
	z-index: -1;
	margin-top: -5px;
	padding-bottom: 7px;
}

.mv h2{
	width: 17vw;
	right: 8vw;
	position: absolute;
	top: 9vw;
}
.mv h2 .mvtit{
	width: 100%;
	height: auto;
}
@media screen and (min-width:720px) {
	.mv h2 {
		width: 7vw;
		top: 3vw;
		right: 4vw;
	}
}

.mv .Box{
	position: absolute;
	top: 100vw;
	width: 100%;
	margin: auto;
	right: 0;
	left: 0;
}
@media screen and (min-width:720px) {
	.mv .Box {
		top: 43vw;
	}
}
.mv ul.awo {
	flex-direction: inherit;
	width: 90%;
	justify-content: center;
	position: relative;
	bottom: auto;
	margin: auto;
	left: 0;
}
.mv .awo li {
	margin: 1rem;
	font-size: 1.5rem;
	text-align: center;
	font-family: var(--BFm);
}
.awo li, .awo li::before, .awo li::after {
	width: 10rem;
	height: 10rem;
}
.mv .vita_tita{
	display: block;
	margin: 1rem auto 3rem;
	width: 70%;
}
.mv .sBox {
	background: rgba(255,255,255,.95);
	padding: 2rem;
	text-align: center;
	width: 90%;
	box-shadow: 1px 1px 10px rgba(0,0,0,.1);
	position: relative;
	margin: auto;
}
.mv .sBox h3{
	letter-spacing: 1px;
	font-family: var(--BFm);
}
.mv .sBox img{
	margin: 2rem 0;
}
.mvBg .Cta {
	margin-top: 4rem;
	z-index: 9;
	position: relative;
}
.iwrap .Cta h3{
	font-size: 5.3vw;
	font-family: var(--BFg);
	font-weight: 500;
	letter-spacing: 1px;
}
.iwrap .Cta h3 span.bdr {
	border: 1px solid #aaa;
	padding: 5px;
	display: inline-block;
	letter-spacing: 1px;
	margin-bottom: 5px;
	font-size: .5em;
}

.worr {
	padding: 5rem 2rem;
	background: url(//images.vitabrid.co.jp/sp/imgs/lp/nlns/v1/worriesbg.jpg) no-repeat 0 bottom;
	background-size: cover;
}

.load ul {
	display: flex;
	flex-wrap: wrap;
}
.load li{
	width: 50%;
}
.load h3 {
	font-family: var(--BFm);
	margin: 6rem 0;
	letter-spacing: 6px;
	font-size: 2.5rem;
}

.cure1Bg{
	background: #f9f9f9;
	font-family: var(--BFm);
	margin-top: 10rem;
}
.cure1{
	position: relative;
	margin-top: 0;
	padding-top: 8rem;
}
.cure1 h2.tria {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: -3rem;
}
.cure1 h3{
	font-size: 2.5rem;
	letter-spacing: 2px;
}
.cure1 .txtBox{
	padding: 3rem 0 0;
	font-size: 1.7rem;
	line-height: 3;
	font-family: var(--BFg);
	width: 85%;
}
.cure2 p {
	font-size: 2rem;
	letter-spacing: 1px;
	margin: 5rem;
	line-height: 3;
}
.cure2 h3{
	padding: 3rem 0;
	width: 8.5rem;
	margin-left: 6vw;
	position: absolute;
}
.cure2 img {
	width: 100%;
	height: auto;
}
.cure2 h2.tria {
	margin: 0 auto;
}
.cure2 h3{
	padding: 3rem 0;
	width: 8.5rem;
	margin-left: 6vw;
}
.cure2 img {
	width: 100%;
	height: auto;
}



.ctaBg h2 {
	margin-top: 5rem;
	margin-bottom: 3rem;
	font-family: var(--BFm);
	font-size: 3rem;
	text-align: center;
	letter-spacing: 3px;
}
.ctaBg ul.awo{
	bottom: 2vw;
	left: 6vw;
}

.point li{
	padding-bottom: 6rem;
}
.point li:last-of-type{
	padding-bottom: 1rem;
}
.pointBg{
	margin-bottom: 0;
	padding-top: 3rem;
	/* clip-path: polygon(0 20px, 100% 0, 100% calc(100% - 20px), 0 100%); */
	background: #fff8f1;
	padding-bottom: 3rem;
}
.point h3{
	font-size: 2.5rem;
	font-weight: 500;
}
.point h4 .circle{
	display: inline-block;
	margin: 0 auto 1rem;
	padding: .5rem 2rem;
	font-size: 4rem;
	background: #fff;
	text-align: center;
	letter-spacing: 2px;
	line-height: 1.2;
	color: var(--BC);
	border-radius: 20px 20px 0 0;
	border: 1px solid var(--BC);
}
.point h4{
	font-family: var(--BFm);
	width: 90%;
	margin: 3rem auto;
	text-align: center;
	font-size: 3rem;
}
.point h4 p{
	font-size: 2.5rem;
	letter-spacing: 1px;
}
.point dt{
	margin-bottom: 2rem;
	text-align: center;
	font-weight: 600;
	font-size: 1.8rem;
}
.point img {
	display: block;
	margin: auto;
}
.point li.point1 img{
	margin: auto;
	display: block;
	width: 90%;
}
.point .txtBox {
	margin: 3rem auto 4rem;
	letter-spacing: 1px;
	font-size: 1.6rem;
	font-weight: 400;
	width: 80%;
}
.point li:first-of-type .txtBox {
	margin-bottom: 2rem;
}
.point li:first-of-type .imgBox {
	width: 70%;
	margin: 5rem auto 0;
}
.point .subBox {
	background: #fff;
	padding: 2rem 0;
	box-shadow: 15px 15px 0 rgba(0,0,0,.05);
	letter-spacing: 1px;
	width: 90%;
	margin: 0 auto 5rem;
}
.point .subBox h5 {
	text-align: center;
	font-size: 1.5rem;
	margin-bottom: 20px;
}
.point .subBox p {
	margin: 2rem auto;
	font-size: 1.3rem;
	width: 85%;
}
.point li .subBox img{
	width: 90%;
}
.point .point3 li img {
	border-radius: 80px;
	width: 90%;
	overflow: hidden;
}
.point li.point3 li p {
	text-align: center;
	font-size: 1.8rem;
	margin: 1rem auto 3rem;
	line-height: 1.8;
}
.point .other {
	width: 90%;
	margin: auto;
	dt{
		font-size: 1.5rem;
		text-align: left;
		margin: 0;
	}
	dd{
		font-size: 1.3rem;
	}
}
.use{
	margin: auto;
	width: 90%;
}
.use h3{
	font-size: 3rem;
}
.use ul{
	margin: auto;
	width: 90%;
}
.use li {
	font-weight: 400;
	position: relative;
	margin-bottom: 15rem;
}
.use li:last-of-type{
	margin-bottom: 5rem;
}
.use li::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -8rem;
	right: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	transform: rotate(45deg);
	border: transparent;
	border-right: 4px solid var(--BC);
	border-bottom: 4px solid var(--BC);
}
.use li:last-of-type::before{
	content: none;
}
.use .imgBox {
	padding: 2rem;
}
.use .imgBox .circle{
	position: absolute;
	top: 1rem;
	left: -1rem;
	display: flex;
	justify-content: center;
	flex-direction: column;
	font-size: 40px;
	font-family: var(--BFm);
	color: var(--BC);
	font-weight: 400;
	text-align: center;
	letter-spacing: 2px;
	line-height: 1.1;
	width: 10rem;
	height: 10rem;
	background: rgba(255,255,255,.5);
	border-radius: 50%;
	border: 1px solid var(--BC);
	padding: 1rem 0 0 0;
}
.use .txtBox {
	width: 100%
}
.use li .txtBox h4{
	font-size: 2rem;
	letter-spacing: 2px;
	border-bottom: 1px dashed var(--BC);
	margin-bottom: 1rem;
	display: inline-block;
	padding: 0 .5rem;
	width: 100%;
	text-align: center;
}

.titaBg{
	margin-top: -3rem;
	padding: 5rem 0 13rem;
	background-color: #faf8f7;
	background-image: url(/images/item/sc/nlfc/titanail.png);
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: 20rem;
	padding-top: 10rem;
}
.tita h3 {
	font-size: 1.8rem;
	font-weight: 400;
}
.tita h3 img{
	margin: 0 auto;
}
.tita img{
	margin: 1rem auto;
	width: 90%;
	display: block;
}
.tita .txtBox p {
	margin: 3rem 0;
}
.quality{
	margin: 10rem auto;
}
.quality h3 {
	font-size: 2.5rem;
}
.quality img {
	margin: auto;
	display: block;
}
.quality .txtBox{
	margin: 2rem auto auto;
	font-weight: 400;
}

.voiceBg{
	background: url(//images.vitabrid.co.jp/images/lp/nlns/v1/voibg.jpg) no-repeat 0 0;
	background-size: auto 100%;
	padding: 1rem 0;
	margin-top: 5rem;
}
.voice{
	width: 90%;
	margin: auto;
}
.voice h3.bmline{
	color: #fff;
	border-color: #fff;
}
.voice h3.bmline::after{
	border-color: #fff;
}
.voice h4{
	font-size: 1.8rem;
	font-weight: 400;
	margin-bottom: 6px;
	line-height: 1.6;
}
.voice li{
	position: relative;
	margin-bottom: 8rem;
	box-shadow: 10px 10px 0 rgba(0,0,0,.5);
	background: #fff;
	padding: 2rem 1rem;
}
.voice .cmt{
	z-index: 1;
	background: #fff;
	margin-top: 1rem;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.voice .imgBox{
	width: 40%;
}
.voice img{
	z-index: 5;
	position: relative;
	width: 100%;
	height: auto;
}
.voice .cmt p{
	width: 55%;
	font-size: 1.5rem;
}
.voice .cmt span{
	display: block;
	margin-top: .5rem;
	font-size: .8em;
	text-align: right;
}

.expect{
	background: url(//images.vitabrid.co.jp/images/lp/nlns/v1/expectbg.jpg) no-repeat 0 0;
	padding: 7rem 0;
}
.expect img{
	width: 100%;
}
.expect h3 {
	letter-spacing: 10px;
	font-weight: 400;
	font-size: 3rem;
	color: var(--BC);
	line-height: 1;
	margin-bottom: 3rem;
}
.expect h4{
	font-family: var(--BFm);
	font-size: 2.3rem;
	margin: 1.5rem 0;
	width: 90%;
	margin: 2rem auto;
}
.expect .cmt{
	margin: 3rem 0;	
}
.expect .name{
	font-size: 1.3rem;
}

.qa{
	padding: 6rem 0 3rem;
	width: 95%;
	margin: auto;
}
.qa h3{
	padding: 0 0 2rem;
	font-family: var(--BFg);
	font-weight: 400;
	letter-spacing: 4px;
	font-size: 3rem;
}
.iwrap .qa .num{
	color: var(--BC);
	font-weight: 600;
}
.qa dl{
	background: #fff;
}
.iwrap .qa dt.acoA{
	padding: 1rem 5rem 1rem 2rem;
	border-top: 1px solid rgba(var(--BCrgb),.5);
}
.iwrap .qa dt.acoA:first-of-type{
	border-top: none;
}
.iwrap .qa dt:last-of-type.acoA{
	border-bottom: none;
}
.iwrap .qa dt.acoA.active{
	color: #333;
	border-bottom: none;
	background: rgba(var(--BCrgb),.2);
}
.iwrap .qa dt.acoA::before{
	background: rgba(var(--BCrgb),.2);
}
.iwrap .qa dd.acoB{
	padding: 1rem 2rem 1rem 2rem;
	border-left: 2rem solid rgba(var(--BCrgb),.2);
}
.iwrap .qa dd.acoB:last-of-type{
	border-bottom: none;
}
.cirarrD:after{
	color: var(--BC);
}

/* LP */
.cta {
	width: 95%;
	margin: 5% auto;
}

.cv {
	position: relative;
	background: url(//images.vitabrid.co.jp/sp/imgs/lp/nlns/v1/cv_bg.jpg) repeat-y;
	padding-bottom: 5%;
}
.cv .cv_btn {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 6%;
	margin: 0 auto;
	width: 90%;
	animation: move_btn 1.9s ease infinite normal;
	-webkit-animation: move_btn 1.9s ease infinite normal;
	-moz-animation: move_btn 1.9s ease infinite normal;
}

@keyframes move_btn {
	0% {left: 0%;}
	50% {left: 0%;}
	85% {left: 0%;}
	90% {left: 2%;}
	95% {left: 0%;}
	100% {left: 0%;}
}

@-webkit-keyframes move_btn {
	0% {left: 0%;}
	50% {left: 0%;}
	85% {left: 0%;}
	90% {left: 2%;}
	95% {left: 0%;}
	100% {left: 0%;}
}

@-moz-keyframes move_btn {
	0% {left: 0%;}
	50% {left: 0%;}
	85% {left: 0%;}
	90% {left: 2%;}
	95% {left: 0%;}
	100% {left: 0%;}
}


/*----------------------------common*/
.ispec .brB{
	margin-left: .4vw;
	padding: .5vw 1vw;
	font-family: var(--Fip),var(--Fyg);
	font-size: .5em;
	border: 1px solid #999;
}
.ispec p {
	margin-top: 3%;
	padding-left: 1em;
	font-size: .85em;
	width: 95%;
	text-indent: -1em;
}
.compo dl{
	padding: 0;
	width: 100%;
	align-items: center;
}
.compo dl:last-of-type {
	border-right: none;
}
.compo dt:last-of-type,.compo dd:last-of-type{
	border-bottom: none;
}
.compo dt {
	padding: 2vw 2vw;
	width: 25%;
	border-right: 1px solid #ccc;
}
.compo dd {
	padding: 2vw 4vw;
	width: 25%;
	text-align: right;
	border-right: 1px dashed #ccc;
}
.compo dt:first-of-type, .compo dd:first-of-type, .compo dd:nth-of-type(2), .compo dd:nth-of-type(3) {
	border-bottom: 1px solid #ccc;
}
.compo dd:first-of-type, .compo dd:nth-of-type(2), .compo dd:nth-of-type(3) {
	text-align: center;
	font-weight: bold;
	background: #ddd;
}
.compo dd:nth-of-type(3n) {
	border-right: none;
}

.compo2 dl{
	margin-bottom: 10px;
	border: 1px solid #ccc;
	background: #fff;
}
.compo2 dt,.compo2 dd{
	margin: 0;
	padding: 5px 3px;
}
.compo2 dt{
	background: #e1e1e1;
}
.compo2 dt:before{
	content: none;
}
.compo2 dd{
}
.kanyo dl {
	align-items: stretch;
}
.tf_tel {
	font-size: .8em;
	line-height: 1.5em;
	margin-top: 4%;
	display: block;
}
.gatt .tbl {
	background: var(--WhitE);
}
.Frep_tf {
	margin: 15px auto;
	padding: 0% 1% 1% 2%;
	width: 95%;
	border: none;
	font-size: 0.8em;
	color: #000;
	text-indent: -.5em;
	line-height: 1.4;
	text-align: justify;
}
.Fatt_tf {
	margin: 0 auto 3%;
	font-size: 0.8em;
	width: 94%;
}

.iatt .box {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin-top: 10px;
	width: 80%;
}
.ispec .box dt, .iatt .box dd {
	padding: 10px;
	text-indent: 0;
	line-height: 1;
	width: 130px;
	font-weight: normal;
	font-size: 13px;
	margin: 0;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
.ispec .box dt {
	width: 30%;
	font-weight: bold;
}
.iatt .box dd {
	width: 70%;
}
.ispec .box dt::before {
	content: none;
}