body {
	box-sizing: border-box;
	background-color: #f0f1f3;
	font-family: sans-serif;
	color: #090F1A;
	line-height: 1.5;
	font-size: 14px;
	padding: 0;
	margin: 0;
}
ul,
li,
dl,
dt,
dd { list-style-type: none; padding: 0; margin: 0; }

div,
a,
p,
ul,
ol,
li,
dl,
dt,
dd,
header,
footer  { box-sizing: border-box ;}
h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
	box-sizing: border-box;
	color: #000;
	font-weight: normal;
	line-height: 1.5;
	padding: 0;
	margin: 0;
}
a,a:hover {
	text-decoration: none;
}
ol,ul { margin: 0; }


/* ---------- common functions ----------*/
.fs-72 { font-size: 72px !important; }
.fs-48 { font-size: 48px !important; }
.fs-40 { font-size: 40px !important; }
.fs-36 { font-size: 36px !important; }
.fs-34 { font-size: 34px !important; }
.fs-32 { font-size: 32px !important; }
.fs-30 { font-size: 30px !important; }
.fs-28 { font-size: 28px !important; }
.fs-26 { font-size: 26px !important; }
.fs-24 { font-size: 24px !important; }
.fs-22 { font-size: 22px !important; }
.fs-20 { font-size: 20px !important; }
.fs-18 { font-size: 18px !important; }
.fs-16 { font-size: 16px !important; }
.fs-14 { font-size: 14px !important; }
.fs-12 { font-size: 12px !important; }

.serif { font-family: serif;}

.fc-bk      { color: #000;    }
.fc-wh      { color: #fff;    }
.fc-gblue   { color: #1b779f; }

.bg-wh      { background-color: #fff;    }
.bg-gray    { background-color: #d3d4cf; }
.bg-yellow  { background-color: #f4d871; }

.text-left   { text-align: left;  }
.text-right  { text-align: right; }
.text-center { text-align: center; }
.text-just   { text-align: justify; }
.bold        { font-weight: bold; }
.non-bold	 { font-weight: normal; }

.letterspace1 { letter-spacing: 0.1em; }
.letterspace2 { letter-spacing: 0.2em; }

.linehi-2 { line-height: 2; }

.shadow-wh {
	-webkit-text-stroke: 2px #fff;
	paint-order: stroke fill;
	text-shadow: 2px 2px 4px rgba(255, 255, 255, 1), -2px -2px 4px rgba(255, 255, 255, 1), -2px 2px 4px rgba(255, 255, 255, 1), 2px -2px 4px rgba(255, 255, 255, 1);
}

.mb-16p { margin-bottom: 16px !important; }
.mb-32p { margin-bottom: 32px !important; }
.mb-48p { margin-bottom: 48px !important; }
.mb-64p { margin-bottom: 64px !important; }
.mb-128p{ margin-bottom:128px !important; }
.mb-0   { margin-bottom: 0 !important; }

.fullwidth { width: 100%; }
.block { display: block; }
.center { margin: 0 auto; }

.flex { display: flex; }

.fullwidth-img {
	display: block;
	width: 100%;
}

.wrap {
	position: relative;
	max-width: 750px;
	padding: 0 40px;
	margin: 0 auto;
}
.btn-reserve > img {
	display: block;
	width: 100%;
	margin: 0 auto 32px auto;
	transition: all 1s;
}
.btn-reserve:hover > img {
	opacity: 0.7;
}
.list-check li {
	display: block;
	width: fit-content;
	text-align: center;
	font-size: 24px;
	background-color: #fff;
	letter-spacing: 0.2em;
	padding: 0.1em 0.5em;
	margin: 0 auto 0.5em auto;
}
.list-check li:last-of-type {
	margin-bottom: 0;
}
.list-check li::before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background-image: url(images/icon-check.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 0 0.5em 0 0;
}
.list-whitebg {
	background-color: #fff;
	border-radius: 48px;
	box-shadow: 0px 0px 12px rgba(27, 119, 159, 0.3) ;
	padding: 48px 32px;
}
.list-whitebg li {
	border-bottom: 2px solid #becbd2;
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
}
.list-whitebg li:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.list-whitebg li > .title {
	text-align: left;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 0.8em;
}
.list-whitebg li > .text {
	text-align: left;
	font-size: 20px;
}
.list-whitebg li:nth-of-type(even) > .title,
.list-whitebg li:nth-of-type(even) > .text {
	text-align: right;
}
.list-simple li::before {
	content: '・';
}
.list-simple li {
	font-size: 26px;
	font-weight: bold;
}

footer {
	margin-bottom: 72px;
}

.top-view-img {
	display: block;
	width: 100%;
	margin: 0 auto 32px auto;
}
.nayami > .wrap {
	background-image: url(images/bg-sea.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto;
	padding-top: 32px;
	padding-bottom: 64px;
	margin-bottom: 32px;
}
.nayami > .wrap::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 64px;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(0deg, #f0f1f3, transparent);
	margin: auto;
}
.nayami .nayami-handimg1 {
	display: block;
	width: 75%;
	margin: 0 auto 48px auto;
}
.nailgrowth {
	margin-bottom: 32px;
}
.nailgrowth > .wrap {
	background-image:  url(images/img-women.png), url(images/bg-dot.png);
	background-position: right 40px bottom 32px, center center;
	background-repeat: no-repeat;
	background-size: 28%, cover;
	padding-top: 24px;
	padding-bottom: 32px;
}
.nailgrowth .title-main {
	position: absolute;
	top: -1.75rem;
	right: 0;
	left: 0;
	margin: auto;
	padding: 0 40px;
}
.nailgrowth .title-main > img {
	display: block;
	width: 95%;
	margin: 0 auto;
}
.voice > .wrap {
	background-image: url(images/bg-gradation.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 32px;
}
.voice > .wrap::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 128px;
	left: 0;
	right: 0;
	top: 0;
	background-image: linear-gradient(180deg, #f0f1f3, transparent);
	margin: auto;
}
.voice .title-main {
	position: relative;
	z-index: 10;
}
.voice .title-main > img {
	display: block;
	width: 73%;
	max-width: 486px;
	margin: 0 auto;
}
.voice .arrowdown {
	display: block;
	width: 17%;
	max-width: 112px;
	margin: 0 auto 32px auto;
}
.gallery .wrap {
	overflow: hidden;
	padding-left: 0;
	padding-right: 0;
}
.gallery .slider-gallery .slick-slide img {
	width: 100%;
	margin: 0 auto;
}
.gallery .slider-gallery .slick-slide {
	padding: 0 8px;
}

.menu {
	margin-bottom: 64px;
}
.menu .title-main > img {
	display: block;
	width: 40%;
	max-width: 266px;
	margin: 0 auto 16px auto;
}
.menu .price {
	display: block;
	width: 63%;
	max-width: 322px;
	margin: 0 auto 16px auto;
}
.menu .flex {
	justify-content: space-between;
	align-items: flex-start;
}
.menu .flex .area-img {
	display: block;
	width: 55%
}
.menu .flex .area-text {
	width: 40%;
}
.menu .has-bg {
	background-image: url(images/bg-hand.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100%;
	padding: 200px 0
}
.testmonials .title-main > img {
	display: block;
	width: 61%;
	max-width: 314px;
	margin: 0 auto 32px auto;
}
.testmonials .list-whitebg .title {
	color: #1b779f;
}
.testmonials .list-whitebg .title > span {
	font-size: 80%;
	font-weight: normal;
	color: #000;
	margin-left: 0.5em;
}
.testmonials .list-whitebg li:nth-of-type(even)  .title,
.testmonials .list-whitebg li:nth-of-type(even)  .text {
	text-align: left;
}

.list-whitebg li .content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.list-whitebg li .content .img {
	display: block;
	width: 22%;
	margin: 0 0 0 0;
}
.list-whitebg li .text {
	width: 74%;
	font-size: 16px;
}

.fixed-area {
	bottom: -72px;
	opacity: 0;
	transition: all 1s;
}
.fixed-area.scrolled {
	bottom: 0;
	opacity: 1;
}
.fixed-area {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
	background-color: #f4d871;
	margin: auto;
	z-index: 1000;
}
.fixed-area .reserve {
	height: 72px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fixed-area .reserve .title {
	width: 35%;
}
.fixed-area .reserve .title > img {
	display: block;
	width: 100%;
}

/* ---------- common functions class SP ----------*/
@media screen and (max-width: 750px) {
	.fs-72 { font-size: 8vw   !important; }
	.fs-54 { font-size: 8vw   !important; }
	.fs-48 { font-size: 4.8vw !important; }
	.fs-42 { font-size: 4.7vw !important; }
	.fs-40 { font-size: 5.2vw !important; }
	.fs-36 { font-size: 4.5vw !important; }
	.fs-34 { font-size: 4.5vw !important; }
	.fs-32 { font-size: 4.4vw !important; }
	.fs-30 { font-size: 4.3vw !important; }
	.fs-28 { font-size: 4.0vw !important; }
	.fs-26 { font-size: 3.8vw !important; }
	.fs-24,
	.fs-22 { font-size: 3.5vw !important; }
	.fs-20 { font-size: 3.2vw !important; }
	.fs-18,
	.fs-16,
	.fs-14,
	.fs-12 { font-size: 3vw !important; }

	.mb-16p { margin-bottom: 4% !important; }
	.mb-32p { margin-bottom: 6% !important; }
	.mb-48p { margin-bottom: 10% !important; }
	.mb-64p { margin-bottom: 12% !important; }
	.mb-128p{ margin-bottom: 20% !important; }
	.mb-0   { margin-bottom: 0 !important; }

	.wrap {
		width: 100%;
		padding: 0 4%;
	}

	.btn-reserve > img {
		margin-bottom: 6%;
	}
	.list-check li {
		font-size: 3.5vw;
	}
	.list-whitebg {
		/*border-radius: 10%;*/
		padding: 10% 6%;
	}
	.list-whitebg li > .title {
		font-size: 3.5vw;
	}
	.list-whitebg li > .text {
		font-size: 3.25vw;
	}
	.list-simple li {
		font-size: 3.5vw;
	}
	.top-view-img {
		margin-bottom: 6%;
	}
	.nayami > .wrap {
		padding-top: 6%;
		padding-bottom: 10%;
	}
	.nayami > .wrap::after {
		height: 8vw;
		max-height: 64px;
	}
	.nayami .nayami-handimg1 {
		margin-bottom: 10%;
	}
	.nailgrowth {
		margin-bottom: 6%;
	}
	.nailgrowth > .wrap {
		background-position: right 6% bottom 20%, center center;
		background-size: 33%, cover;
		padding-top: 4%;
		padding-bottom: 6%;
	}
	.nailgrowth .title-main {
		top: -1.5rem;
		padding: 0 4%;
	}
	.voice > .wrap {
		padding-bottom: 6%;
	}
	.voice > .wrap::before {
		height: 22vw;
		max-height: 128px;
	}
	.voice .arrowdown {
		margin: 0 auto 6% auto;
	}
	.menu {
		margin-bottom: 12%;
	}
	.menu .title-main > img,
	.menu .price {
		margin: 0 auto 4% auto;
	}
	.menu .has-bg {
		background-position: right center;
		background-size: contain;
		padding: 20% 4%;
	}
	.list-whitebg li > .text {
		font-size: 3vw;
	}

}