@charset "UTF-8";
/* CSS Document */

*{
	font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body{
	color: #231815;
	border: 20px solid #fbe4e7;
}
p,h1,h2,h3,h4,h5,h6{ line-height: 1.6em; }
.clearfix:after{
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.center-block{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.text-center{
	text-align: center;
}

@font-face {
    font-family:'helvetica';
    src: url('../font/helvetica/helvetica.woff') format("woff"),
         url('../font/helvetica/helvetica.ttf') format("truetype");
}

.scrollAnim.toTopAnim{
    -webkit-transition: 1s all ease;
    transition: 1s all ease;
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition-property: opacity,transform,filter;
    transition-property: opacity,transform,filter;
}
.scrollAnim.toTopAnim.active{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}
.scrollAnim.toBottomAnim{
    -webkit-transition: 1s all ease;
    transition: 1s all ease;
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition-property: opacity,transform,filter;
    transition-property: opacity,transform,filter;
}
.scrollAnim.toBottomAnim.active{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}
.scrollAnim.toRightAnim{
    -webkit-transition: 1s all ease;
    transition: 1s all ease;
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
    opacity: 0;
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transition-property: opacity,transform,filter;
    transition-property: opacity,transform,filter;
}
.scrollAnim.toRightAnim.active{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}
.scrollAnim.toLeftAnim{
    -webkit-transition: 1s all ease;
    transition: 1s all ease;
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
    -webkit-transition-property: opacity,transform,filter;
    transition-property: opacity,transform,filter;
}
.scrollAnim.toLeftAnim.active{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}

#mask{
	max-width: 100%;
	height: auto;
}
#mask .anim{
stroke-dasharray: 1500;
stroke-dashoffset:1500;
fill:none;
stroke:#FFFFFF;
stroke-width:18;
stroke-linecap:round;
stroke-miterlimit:10;
}

#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fbe4e7;
	z-index: 99999;
  }
  #loader img{
	  width: 175px;
	  position: absolute;
	  top: 0;
	  bottom: 0;
	  left: 0;
	  right: 0;
	  margin: auto;
  }

header{
	width: 100%;
}
header .navWrap .nav-toggle{
	width: 50px;
	height: 50px;
	position: fixed;
	top:45px;
	right:45px;
	display:block;
	text-indent:-9999px;
	appearance:none;
	box-shadow:none;
	border-radius:none;
	border:none;
	z-index:9999;
	overflow: hidden;
	background: none;
	cursor: pointer;
	}
	header .navWrap .nav-toggle:focus{
	outline:none;
	}
	header .navWrap .nav-toggle span{
	display:block;
	background:#231815;
	height:1px;
	margin-left: -17px;
	-webkit-transition: -webkit-transform 0.3s;
	transition:0.3s all;
	-webkit-transition-duration:0.3s,0.3s;
	transition-duration:0.3s,0.3s;
	}
	header .navWrap .nav-toggle span:nth-child(1){
		width: 30px;
	position:absolute;
	top:28%;
	left: 50%;
	}
	header .navWrap .nav-toggle span:nth-child(2){
		width: 12px;
	position:absolute;
	top:50%;
	left:50%;
	}
	header .navWrap .nav-toggle span:nth-child(3){
		width: 25px;
	position:absolute;
	bottom:28%;
	left: 50%;
	}
	header .navWrap .nav-toggle.opened{
	top:45px;
	right:45px;
	z-index:99999;
	}
	header .navWrap .nav-toggle.opened span:nth-child(1){
	top:50%;
	margin-top: -1px;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	}
	header .navWrap .nav-toggle.opened span:nth-child(2){
	background:none;
	}
	header .navWrap .nav-toggle.opened span:nth-child(3){
		width: 30px;
	bottom:50%;
	margin-bottom: -1px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	}
	header .navWrap #gnav{
		position: fixed;
		width:100%;
		height:100%;
		top: 0;
		left: 0;
		z-index: 9999;
		background: #fbe4e7;
		opacity: 0;
		visibility: hidden;
		-webkit-transition: -webkit-transform 0.3s;
		transition:0.3s all;
		border: 20px solid #fff;
		}
		header .navWrap #gnav.active{
			opacity: 1;
			visibility: visible;
		top: 0;
		}
		header .navWrap #gnav ul.navi{
			position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		}
	header .navWrap #gnav ul.navi li{
		margin-bottom: 50px;
		text-align: center;
		font-size: 30px;
		color: #c8c8c8;
		font-family:'helvetica';
		letter-spacing: 10px;
	}
	header .navWrap #gnav ul.navi li a{
		font-size: 30px;
		color: #231815;
		font-family:'helvetica';
		letter-spacing: 10px;
	}
	header .navWrap #gnav .logo{
		width: 180px;
		position: absolute;
		left: 55px;
		bottom: 55px;
	}

	.ttl-sec{
		font-size: 22px;
		font-family:'helvetica';
		text-align: center;
		letter-spacing: 8px;
		margin-bottom: 50px;
	}

section.main_v{
	position: relative;
	padding: 17% 0 100px;
	background: url(../img/img_main.jpg) no-repeat center top;
	background-size: cover;
}
section.main_v:after{
	content: "";
	background: url(../img/txt_url.png) no-repeat left top;
	background-size: 14px;
	width: 14px;
	height: 247px;
	position: absolute;
	right: 50px;
	top: 140px;
	z-index: 9999;
}
section.main_v h1{
	margin-bottom: 90px;
}
section.main_v h1 img{
	width: 175px;
}
section.main_v .lead{
	font-size: 30px;
	color: #231815;
	font-family:'helvetica';
	letter-spacing: 10px;
	text-align: center;
	margin-bottom: 140px;
}
section.main_v .scroll{
	display: block;
	width: 11px;
	margin: 0 auto;
	position: relative;
	transform: translateY(70px);
}
section.main_v .scroll:after{
	content: "";
	width: 1px;
	height: 87px;
	background: #8e8e8e;
	position: absolute;
	left: 50%;
	bottom: -100px;
}

section#concept{
	padding: 110px 0 80px;
}
section#concept h3{
	margin-bottom: 40px;
}
section#concept p{
	font-size: 14px;
	letter-spacing: 3px;
	text-align: center;
	line-height: 2.5em;
}

.sec-style{
	min-height: 900px;
	position: relative;
	width: 945px;
	margin: 0 auto -100px;
}
.sec-style .img01{
	width: 40%;
	position: absolute;
	left: 8%;
	top: 0;
}
.sec-style .img02{
	width: 46%;
	position: absolute;
	right: 0;
	top: 33%;
}
.sec-style .img03{
	width: 48%;
	position: absolute;
	left: 0;
	bottom: 0;
}
.sec-style .img04{
	width: 21%;
	position: absolute;
	right: 40%;
	top: 40%;
	z-index: 2;
}

section#campaign{
	padding: 260px 0 130px;
	background: url(../img/bg_campaign.jpg) no-repeat center center;
	background-size: cover;
}
section#campaign .lead{
	font-size: 22px;
	text-align: center;
	letter-spacing: 3px;
	margin-bottom: 70px;
}
section#campaign .inner{
	max-width: 1030px;
	padding: 0 15px;
	margin: 0 auto;
	overflow: hidden;
}
section#campaign .box{
	float: left;
	width: 48%;
	margin: 0 4% 50px 0;
}
section#campaign .box:nth-child(2n){
	margin-right: 0;
}
section#campaign .box .label{
	font-size: 16px;
	font-family:'helvetica';
	text-align: center;
	margin-bottom: 20px;
	letter-spacing: 3px;
}
section#campaign .box .name{
	font-size: 18px;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
section#campaign .box dl{
	overflow: hidden;
	border-bottom: 1px solid #808080;
	padding-bottom: 10px;
}
section#campaign .box dl dt{
	float: left;
	font-size: 12px;
	transform: translateY(15px);
	letter-spacing: 1px;
}
section#campaign .box dl dd{
	float: right;
	font-size: 30px;
	font-family:'helvetica';
	color: #fab9be;
	letter-spacing: 3px;
}
section#campaign .box .btn{
	display: block;
	text-align: center;
	font-size: 16px;
	color: #3e3a39;
	padding: 10px 0;
	letter-spacing: 2px;
	background: #fbe4e7;
	margin-top: 20px;
}

section#staff{
	padding: 180px 0 100px;
}
section#staff .inner{
	max-width: 975px;
	padding: 0 15px;
	margin: 0 auto;
	overflow: hidden;
}
section#staff .inner .box{
	float: left;
	width: 30%;
	margin: 0 5% 70px 0;
	text-align: center;
}
section#staff .inner .box .kata{
	font-size: 12px;
	font-family:'helvetica';
	letter-spacing: 3px;
	margin: 20px 0 5px;
}
section#staff .inner .box .name{
	font-size: 17px;
	font-family:'helvetica';
	letter-spacing: 5px;
}
section#staff .inner .box .btn{
	display: block;
	font-size: 16px;
	color: #3e3a39;
	padding: 10px 0;
	letter-spacing: 2px;
	background: #fbe4e7;
	margin-top: 20px;
}

section#saloninfo{
	padding: 175px 0;
	background: url(../img/bg_salon.jpg) no-repeat center center;
	background-size: cover;
}
section#saloninfo .inner{
	max-width: 360px;
	background: #231815;
	margin: 0 auto;
	padding: 45px 0;
}
section#saloninfo .inner h4{
	font-size: 20px;
	color: #fff;
	font-family:'helvetica';
	text-align: center;
	letter-spacing: 8px;
	margin-bottom: 30px;
}
section#saloninfo .inner .txt{
	font-size: 12px;
	color: #fff;
	text-align: center;
	letter-spacing: 1px;
	line-height: 1.8em;
}
section#saloninfo .inner .txt a{
	font-size: 12px;
	color: #fff;
	letter-spacing: 1px;
}
section#saloninfo .inner dl{
	text-align: center;
	margin: 15px 0;
	line-height: 1.3em;
}
section#saloninfo .inner dl dt{
	font-size: 12px;
	color: #fff;
	letter-spacing: 1px;
}
section#saloninfo .inner dl dd{
	font-size: 12px;
	color: #fff;
	letter-spacing: 1px;
	margin-bottom: 5px;
}

.sec-logo{
	margin: 200px 0 140px;
}
.sec-logo img{
	width: 200px;
}

.youtube{
	text-align: center;
	margin: 0 0 150px;
}

footer{
	padding: 0 15px 120px;
}
footer ul.nav-foot{
	text-align: center;
	margin-bottom: 50px;
}
footer ul.nav-foot li{
	display: inline-block;
	margin: 0 20px;
	font-size: 14px;
	color: #c8c8c8;
	font-family:'helvetica';
	letter-spacing: 3px;
}
footer ul.nav-foot li a{
	font-size: 14px;
	color: #231815;
	font-family:'helvetica';
}
footer .copy{
	font-size: 12px;
	font-family:'helvetica';
	text-align: center;
	letter-spacing: 2px;
	margin-bottom: 40px;
}



@media only screen and (min-width: 768px) {
	.sp{
		display:none !important;
	}

section#staff .inner .box:nth-child(3n){
	margin-right: 0;
}

}

@media only screen and (max-width: 767px) {
	.pc{
		display:none !important;
	}
	
	body{
		border: 15px solid #fbe4e7;
	}

	header .navWrap .nav-toggle{
		top:30px;
		right:30px;
		}
		header .navWrap .nav-toggle.opened{
			top:30px;
			right:30px;
		}
		header .navWrap #gnav{
		border: 15px solid #fff;
		}
		header .navWrap #gnav ul.navi{
			position: relative;
		top: 0;
		left: 0;
		-webkit-transform: translate(0);
		transform: translate(0);
		margin-top: 100px;
		}
		header .navWrap #gnav ul.navi li{
			margin-bottom: 30px;
			font-size: 16px;
			letter-spacing: 5px;
		}
		header .navWrap #gnav ul.navi li a{
			font-size: 16px;
			letter-spacing: 5px;
		}
		header .navWrap #gnav .logo{
			width: 130px;
			left: 20px;
			bottom: 20px;
		}

	.ttl-sec{
		font-size: 20px;
		letter-spacing: 5px;
		margin-bottom: 40px;
	}
	
	section.main_v{
		padding: 170px 0 120px;
		background: url(../img/img_main_sp.jpg) no-repeat center top;
		background-size: cover;
	}
	section.main_v:after{
		background: url(../img/txt_url.png) no-repeat left top;
		background-size: 10px;
		width: 10px;
		height: 180px;
		right: 25px;
		top:85px;
	}
	section.main_v h1{
		margin-bottom: 40px;
	}
	section.main_v h1 img{
		width: 115px;
	}
	section.main_v .lead{
		font-size: 17px;
		letter-spacing: 5px;
		margin-bottom: 20px;
	}
	
	section#concept{
		padding: 100px 0 80px;
	}
	section#concept h3 img{
		width: 260px;
	}
	section#concept p{
		font-size: 14px;
		letter-spacing: 3px;
		text-align: center;
		line-height: 2.5em;
	}

	.sec-style{
		min-height: auto;
		width: 100%;
		margin: 0 auto -50px;
	}
	.sec-style .img01{
		width: 100%;
		max-width: 68%;
		position: relative;
		left: 0;
		top: 0;
		margin-left: 5%;
	}
	.sec-style .img02{
		width: 100%;
		max-width: 68%;
		position: relative;
		right: 0;
		top: 0;
		margin: 0 0 8% 26%;
	}
	.sec-style .img03{
		width: 100%;
		max-width: 68%;
		position: relative;
		left: 0;
		bottom: 0;
		margin-left: 5%;
	}
	.sec-style .img04{
		width: 100%;
		max-width: 40%;
		position: relative;
		right: 0;
		top: 0;
		margin: -22% 0 -13% 5%;
	}

	section#campaign{
		padding: 120px 0 80px;
		background: url(../img/bg_campaign_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	section#campaign .lead{
		font-size: 18px;
		letter-spacing: 1px;
		margin-bottom: 40px;
		line-height: 1.8em;
	}
	section#campaign .box{
		float: none;
		width: 100%;
		margin: 0 0 40px;
	}
	section#campaign .box:last-child{
		margin: 0;
	}
	section#campaign .box .label{
		margin-bottom: 10px;
	}
	section#campaign .box .name{
		font-size: 16px;
	}
	section#campaign .box .btn{
		display: block;
		font-size: 16px;
		color: #3e3a39;
		padding: 10px 0;
		letter-spacing: 2px;
		background: #fbe4e7;
		margin-top: 20px;
		text-align: center;
	}
	
	section#staff{
		padding: 80px 0 40px;
	}
	section#staff .inner .box{
		width: 48%;
		margin: 0 4% 40px 0;
	}
	section#staff .inner .box:nth-child(2n){
		margin-right: 0;
	}
	section#staff .inner .box .name{
		font-size: 14px;
		letter-spacing: 3px;
	}
	section#staff .inner .box .btn{
		display: block;
		font-size: 16px;
		color: #3e3a39;
		padding: 10px 0;
		letter-spacing: 2px;
		background: #fbe4e7;
		margin-top: 20px;
	}
	
	section#saloninfo{
		padding: 0 0 20px;
		background: none;
	}
	section#saloninfo .inner{
		max-width: 280px;
		transform: translateY(-20px);
	}
	section#saloninfo .inner h4{
		font-size: 20px;
		letter-spacing: 5px;
	}
	.area-map iframe{
		height: 187px;
	}
	
	.sec-logo{
		margin: 120px 0 80px;
	}

	.youtube{
	position: relative;
	text-align: center;
	margin: 0 0 120px;
	height: 0;
	padding-top: 56.25%;
}
    .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

footer{
	padding: 0 15px 100px;
}
	footer ul.nav-foot li{
		display: block;
		margin: 0 0 30px;
	}
	footer .copy{
		font-size: 12px;
		text-align: center;
		letter-spacing: 2px;
		margin-bottom: 40px;
	}


}