@CHARSET "utf-8";
body,html,img,ul,li,h2,hr { margin: 0px; padding: 0px;}
h2,h3,h4,h5 {font-weight: normal;}
body{
	text-align: center;
	background: url('../images/bg00.jpg');
	font-family:'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif !important;
	font-size: 0.8rem;
	line-height: 1.5;
	overflow-x: hidden;
	overflow-y: scroll;
}
.wrap {overflow: hidden;}
@font-face {
font-family: 'Bell';
  src: url('../fonts/BELL.eot'); /* IE9 Compat Modes */
  src: url('../fonts/BELL.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/BELL.woff') format('woff'), /* Modern Browsers */
       url('../fonts/BELL.TTF')  format('truetype'); /* Safari, Android, iOS */
font-family: 'BellB';
  src: url('../fonts/BELLB.eot'); /* IE9 Compat Modes */
  src: url('../fonts/BELLB.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/BELLB.woff') format('woff'), /* Modern Browsers */
       url('../fonts/BELLB.TTF')  format('truetype'); /* Safari, Android, iOS */
font-family: 'BellL';
  src: url('../fonts/BELLI.eot'); /* IE9 Compat Modes */
  src: url('../fonts/BELLI.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/BELLI.woff') format('woff'), /* Modern Browsers */
       url('../fonts/BELLI.TTF')  format('truetype'); /* Safari, Android, iOS */
}
.bell-l{ font-family: 'BellL';color:#333;font-weight: normal;}
a{ text-decoration: none; }
a img{border: 0;}
a:link {color:#000;} /*未訪問のリンクの色*/
a:visited {color:#000;} /*訪問済みのリンクの色*/
a:hover {color:#000;opacity: 0.6;} /*カーソルが乗っているリンクの色*/
a:active {color:#000;} /*クリック中のリンクの色*/
ul,li{ list-style: none; }
.right{ float:right; }
.left{ float: left; }
.clear{ clear:both; }

.font-14{ font-size: 14px; }.font-16{ font-size: 16px; }.font-20{ font-size: 20px; }.font-24{ font-size: 24px; }.font-26{ font-size: 24px; }
.font-28{ font-size: 28px; }.font-30{ font-size: 30px; }.font-36{ font-size: 36px; }
.font-50{ font-size: 50px; }.font-60{ font-size: 60px; }.font-70{ font-size: 70px; }.font-80{ font-size: 80px; }
.red{ color:#990000; }
.transfm180{ transform: rotateX(180deg); }

header{
	width:90vw;height: 170px;
	margin: 0px auto;
	position: relative;
}
header h1{
	background: url('../images/logo_bg.png');
	width: 242px;height: 168px;
	margin: 0px 20px 0 0;
}
header h1 img{ margin-top: 50px; }
.kusa{ position: fixed; }
#kusa00{ top: -24px;left: 30%;}
#kusa01{ top: 300px;right: -24px; }
#kusa02{ top: 528px;left: -150px; }

#kusa04{ top: 1300px;right: -224px; }
#kusa05{ top: 1328px;left: -350px; }


.salonname{
	font-size: 12px;
	text-align:left;
	padding-top: 15px;
}
.appoint{
	position: absolute;
	top: -16px;right: 0;
	width: 295px;height: 144px;
	background: url('../images/appoint_bg.png') no-repeat;
}
.appoint a{
	display: block;
	width: 80%;
	margin: 65px auto;
}
.appoint .bell-l::after,#recruit .bell-l::after {
position: absolute;content: '';
bottom: 48px;left: 30px;
width: 80%; height: 1px;
background: #333;
transform: scale(1, 1);
transform-origin: left top;
transition: transform .3s;
}
#recruit .bell-l::after { width: 66%;bottom: 86px; }
#appoint2{ display: none; }
#sns-sp{
	position: absolute;
	top: 145px;right: 94px;
}
#sns-sp img{
	margin: 3px;
}
.blog-a{
	position: absolute;
	top: 30px;right: 350px;
	width: 82px;min-height: 52px;
	background: url('../images/blog_bg.png') no-repeat;
	text-indent: 10px;
	padding-top: 45px;
}
nav{
	margin: 36px 0 28px;
	width: 96vw;
	text-align: center;
}

nav ul{font-size:0;}
nav li{
	display: inline-block;
	width: 9vw;height: 100%;
}
nav li a {
	display: block;
	width: 100%;height: 100%;
	padding-top: 16px;
	font-size: 24px;
	background: url('../images/navli_bg.png') no-repeat;
	background-position: top center;
	line-height: 1.0;	
	font-family: 'BellL';color:#333;font-weight: normal;
	position: relative;z-index: 100;
}
nav .current-menu-item {
	 opacity: 0.5;
}
nav .menu-item-object-custom {
	 opacity: 1;
}
.white-box{
	background: rgb(255,255,255);
	background: rgba(255,255,255,0.5); /* IE用 */
	-webkit-box-shadow: 0 0 5px 0 #777; /* Safari, Chrome用 */
	-moz-box-shadow: 0 0 5px 0 #777; /* Firefox用 */
	box-shadow: 0 0 5px 0 #777; /* CSS3 */
}
/* パララックス */
.box .box-l,.box .box-r,.box .box-s,.box .box-b {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  -ms-transition: all 1s;
  -webkit-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  opacity: 1;
}
.box .box-l.move {
  -webkit-transform: translate(-50px, 0);
  -o-transform: translate(-50px, 0);
  -ms-transform: translate(-50px, 0);
  opacity: 0;
}
.box .box-r.move {
  -webkit-transform: translate(50px, 0);
  -o-transform: translate(50px, 0);
  -ms-transform: translate(50px, 0);
  opacity: 0;
}
.box .box-s.move {
  -webkit-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform:translate(0, 0);
  opacity: 0;
}
.box .box-b.move {
  -webkit-transform: translate(0, 50px);
   -o-transform: translate(0, 50px);
  -ms-transform:translate(0, 50px);
  opacity: 0;
}
#main-sp{
	width:90vw;
	margin: 0px auto;
	min-height: 38vw;
}


#main{
	position: relative;
	width: 65%;
	
}
#main-img01,#main-img02{
	width:100%;
	position: absolute;
	top: 0;left: 0;
}
#news{
	width: 32%;
	text-align:left;
	position: relative;	
}
#news h2{
	border-bottom:3px solid #333;
	margin-bottom: 30px;
}
#news ul{
	padding-top:10px;
	padding-bottom:30px;
	min-height: 460px;
}
#news li{
	border-bottom: 2px dotted #000;
	margin: 0px 16px;
	padding: 10px 0 10px 0;
	display: none;
}
.news-date{
	font-size: 10px;
	font-weight: bold;
}
.news-tit{ font-size: 16px; }
.news-t{
	display: block;
	font-size: 12px;
}
#news .more-bt,#recruit{ z-index: 100; }
.more-bt{
	background: url('../images/more_bg.png') no-repeat;
	background-position: right 0px top 10px;
	text-align: left;
}
.more-bt,.more-btl{
	width: 300px;height: 80px;
	letter-spacing: 8px;
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.more-bt::after,.more-btl::after {
	position: absolute;
	bottom: 46px;left: -50px;
	content: '';
	width: 100%;height: 2px;
	background: #333;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
.more-bt:hover::after,.more-btl:hover::after {
	transform: scale(1, 1);
}
#news .more-bt{
	position: absolute;
	bottom: -120px;
	right: -120px;
}
#news .more-bt::after {
	bottom: 51px;
}
#recruit{
	width:175px;height:175px;
	position:absolute;
	bottom: -58vw;right: 0px;
}
#recruit img{
	position: absolute;top: 0px;right: 0px;
}
#recruit h2{
	margin-top: 52px;
}
#concept {
	position: relative;
	padding-top: 200px;
	min-height: 38vw;
}
#concept .left{
	margin-left: -70px;width: 50%;
}
/*
#concept .right{
	width: 56%;text-align:left;
}
*/
#concept h2{width: 50%;text-align:left;display: inline-block;}
#concept .concept-text{
	width: 50%;
	text-align: center;
	line-height: 2.0;
	
	display: inline-block;
	/*
	margin-top: -30px;
	float:right;
	*/
}

#concept p,#concept h3{
	width: 80%;
	text-align:left;
	margin: 50px auto 50px;
}

#concept .more-bt{
	/*margin-left: 180px;
	margin: 50px auto 0;*/
}

#concept .concept-img{
	margin-left: -100px;
}
#menu{
	margin-top: 100px;
	position: relative;
	min-height: 500px;	
}
.menu-ue{
	width: 64%;
	margin:0 auto;
	text-align: left;
}
#menu p{
	width: 70%;
	line-height:2;
}
.mwaku{ display:block;overflow:hidden;position: absolute;z-index:0; }
.mwaku-top{width: 100%;height: 50px;text-align:center;background: url('../images/mwaku_top.png') no-repeat;background-position: center;top: -50px;left: 0;}
.mwaku-tl{top: 0px;left: 0;background: url('../images/mwaku_l.png') no-repeat;width: 10%;height: 10%;}
.mwaku-tr{top: 0px;right: 0;background: url('../images/mwaku_r.png') no-repeat;background-position: right 0px top 0px;width: 10%;height: 10%;}
.mwaku-t{top: 0px;left: 10%;background: url('../images/mwaku_um.png') repeat-x;width: 80%;height: 10%;}
.mwaku-l{top: 10%;left: 0;background: url('../images/mwaku_lm.png') repeat-y;width: 10%;height: 90%;}
.mwaku-r{top: 10%;right: 0;background: url('../images/mwaku_rm.png') repeat-y;background-position: right 0px top 0px;width: 10%;height: 90%;}
.mwaku-bl{bottom: -10%;left: 0;background: url('../images/mwaku_bl.png') no-repeat;background-position: left 0px bottom 0px;width: 10%;height: 10%;}
.mwaku-br{bottom: -10%;right: 0;background: url('../images/mwaku_br.png') no-repeat;background-position: right 0px bottom 0px;width: 10%;height: 10%;}
.mwaku-b{bottom: -10%;left: 10%;background: url('../images/mwaku_b.png') repeat-x;background-position: left 0px bottom 0px;width: 80%;height: 10%;}


#menu .menu-li{
	width:50%;
	margin: 50px auto;
	position: relative;
	min-height: 500px;
	display: inherit;
}

#menu dl{
	width:80%;
	position: absolute;
	top: 50px;left: 10%;
	padding: 0;
	text-align:center;
}
#menu dt{
	margin-top: 20px;
	margin-bottom: 50px;
	font-weight: bold;
	letter-spacing: 2px;
}
#menu dd{
	font-weight: bold;
	letter-spacing: 2px;
	border-bottom: 2px dotted #000;
	padding: 16px 10% 8px;
	width: 80%;
	margin: 0;
	text-align: left;
	position:relative;
}
#menu dd .right{
	position:absolute;
	bottom: 8px;
	right: 10%;
}
#menu .more-bt{
	position: absolute;
	bottom: 0px;left: 44%;
	width: 150px;
	text-align:left;
}
#menu .more-bt::after { bottom: 52px; }
.menu-c {
	float: left;
	position: absolute;
	opacity: 0.2;
}
.c01{ top: -200px;left : 80px;width: 7%; }
.c02{ top: -100px;left : -180px;width: 15%; }
.c03{ top: 0px;right : -280px;width: 12%; }
.c04{ top: 100px;left : -260px;width: 7%; }
.c05{ top: 250px;left : -220px;width: 12%; transform: rotate( 150deg );}
.c06{ top: 300px;right : -200px;width: 7%; }
.c07{ top: 340px;right : -160px;width: 12%; }
.hasami{
	top: 1000px;left : -30%; 
	position: fixed;
	opacity: 0.6;
	display: none;
}
#access {
	margin-top: 100px;
	width:100%;
	text-align:center;
	position: relative;
}
#access .address{
	width:68%;
	margin: 0px auto;
	padding: 50px 0;
	line-height: 1.5;
	font-style: normal;
}
#access h2{
	position: absolute;
	top: -55px;
	width: 100%;
	text-align: center;
}
#access span{
white-space: nowrap;
}
.parking-t{
background: #efefef;
width: 90%;
display: block;
margin: 0 auto;
padding: 6px 0 5px;
}
#access dl{
width: 90%;
margin: 0 0 0 15%;
}
#access dt,#access dd{
float: left;
text-align: left;
margin: 0;
}
#access dt{ width: 55%; }
#access dd{ width:30%; white-space: nowrap;}
#map-sp{
	width: 90%;
	margin: 150px auto 0;
	border: 2px solid #000;
	text-align: center;
	position: relative;
}
#acc-kusa00,#acc-kusa01{
	position:absolute;
	width: 130px;
}
#acc-kusa01{
	bottom: 0px;left: -20px;
}
#acc-kusa00{
	top: -80px;left: 60%;
}
#acc-kusa01{
	position:absolute;
	bottom: 0px;left: -20px;
}
#map-sp .map-tit{
	position: absolute;
	width: 100%;top: -90px;
}
iframe{
	width:94%;
	margin: 24px auto;
}
#outlink-sp{
	width: 90%;clear: both;
	margin: 50px auto 0;
	text-align: center;
	position: relative;
	min-height: 200px;
}
#outlink-sp h2{
	width: 100%;
	border-bottom: 2px solid #000;
}
#outlink-sp div{
	display: block;
	width:48%;
	text-align: left;
}
#outlink-sp a{
margin: 0 0 5px 20px;
display: block;
}
footer{
	width: 100%;
	text-align: center;
	height: 280px;
	background: url('../images/footer_bg.png') repeat-x;
	background-position: bottom;
	position: relative;
	padding: 60px 0 0 0;
	overflow: hidden;
}
footer hr{
	background: #82B731;
	border: none;
	width: 100%;height: 80px;
	position: absolute;
	bottom : -50px;
	font-size: 14px;
}
footer .copyr{
	width:90%;
	margin: 150px auto 0;
	display: block;
	text-align: left;
}
footer .f-infobt-sp{
	width:90%;
	margin: 0 auto;
}
footer .f-infobt-sp img{ width:100%; }
footer .f-infobt-sp .left,footer .f-infobt-sp .right{
	width:48%;
	margin: 5px;
	position: absolute;
}
footer .f-infobt-sp .left{ top: 0;left: 0; }
footer .f-infobt-sp .right{ top: 0;right: 0; }
footer .f-infobt-sp span{ position: absolute;top: 2.4vw; }
footer .f-infobt-sp .bell-l{
top: 2vw;left: 0;width:49%;
border-right: 1px solid #333;
}
footer .f-infobt-sp .font-20{
	letter-spacing: 10px;
	width:50%;right: 10px;
}
.page-tbt{
	position: fixed;
	bottom : 8vh;
	right: 50px;
	display: none;
}

@media only screen and (max-width:1200px){
.news-tit{ font-size: 14px; }
.news-t{ margin-top: 0px; }
#news .more-bt{
	bottom: -50px;
	right: -370px;
}
/*
#concept h2{
	margin-bottom: 50px;
}
#concept .more-bt{
	margin-left: 0px;
}
*/
#recruit{ bottom: -700px; }
#access dl{
width: 80%;
margin: 0 5% 0 10%;
}
#access {
	margin-top: 50px;
}
#access dt{ width: 70%; }
#access dd{ width:30%; }
}

@media only screen and (max-width:1020px){
header,#main,#news,#menu,footer .f-infobt-sp,#page-ncon{ width: 100%;}
h1{ margin-top: -20px; }
#main-sp,#access .address { width: 90%; }
#main{ min-height: 70vw; }
#news ul{ min-height: 400px; }
#news .more-bt{ bottom: -100px;left: 50px; }
#menu .menu-li{ width: 76%; }
}
@media only screen and (max-width:940px){
nav li{width: 10vw;}
#concept p,#concept h3{
	width: 100%;
}
.menu-ue{
	width: 94%;
}
#menu dl{ width: 90%;left:5%;}
#menu dd{
	padding: 10px 0 24px;
	width: 100%;
	letter-spacing: 0;
}
#menu dd .right{
	right: 5px;
	bottom: 5px;
}
#menu dt{
	margin-top: 0px;
}
footer .f-infobt-sp img{ height: 70px; }
footer .f-infobt-sp .font-20{ letter-spacing: 0px;}
footer .f-infobt-sp{ width:88%; }

}
@media only screen and (max-width:740px){
header h1{ margin: 0px 10px 0 0; }
.appoint{
	top: 70px;
	left: 240px;
	background: none;
	text-align: left;
	width: 140px;
}

.appoint a{ margin: 0px auto; }
/*
.appoint .appoint-t,.appoint .bell-l::after,footer .f-infobt-sp img{
	display: none;
}
*/
.appoint .bell-l::after,footer .f-infobt-sp img{
	display: none;
}
.appoint .appoint-t{
border-top:1px dotted #666666;
}
#appoint2{ display:block; }
.appoint .bell-l{ font-size: 22px; }
.blog-a,#sns-sp{ right: 50px; }
nav li{width: 14vw;}
nav li:nth-last-of-type(1){
	display: none;
}
.kusa{ opacity: 0.4; }
.hasami{
	left : -70px; 
	opacity: 0.2;
}

#concept h2{ margin:0;}
#concept .concept-text{
	width: 100%;
}
#concept p,#concept h3{
	width: 90%;
}
#concept .more-bt{
margin-left:50px;

}
#menu{
	margin-top: 80px;
}
#menu .menu-li,#access dt,#access dd,footer .f-infobt-sp{ width: 100%; }
#access .address,#map-sp{ width: 96%; }

#access dd{ text-align: right; }
#access dl{
width: 70%;
margin: 0 10% 0 15%;
}
#outlink-sp div{
	clear: both;
	width:100%;
	margin: 0 0 0 0;
}
.page-tbt{ right: 5px; }
footer{ margin: 20px 0 0 0; }
footer .f-infobt-sp a{
	height: 60px;
	border: 1px solid #CCC;
	background: #A3CE62;
}
footer .f-infobt-sp .left,footer .f-infobt-sp .right{
	margin: 10px;
	width:47%;
}
footer .f-infobt-sp .bell-l{
	color:#fff;
	border-right: 1px solid #fff;
}
footer .f-infobt-sp .font-20{
	font-size: 16px;
	top: 20px;
	color:#fff;
}
}
@media only screen and (max-width:600px){
.blog-a{ display: none; }
#appoint2{ display:block; }
nav{ width: 100vw; }
nav li{width: 15vw;}
nav li a { font-size: 20px;	}
#sns-sp{ top: 10px;right: 10px;width: 25px;}
#main-sp { width: 100%; }
#news { width: 96%;margin:20px 2% 0; }
#news .news-t{ display:none; }
#news ul{ min-height: 300px; }
#concept { min-height: 900px; }
#concept h2{
	width: 100%;
	text-align:center;
}
#concept .left{
	margin-top:50px;
	margin-left: 0px;
	width: 100%;
}
#concept .right{
	width: 100%;
	top: 80vw;
	position: relative;
}
#concept p,#concept h3{ width: 94%; }
#menu p{ width: 100%;}
#menu dd{
letter-spacing: 0px;
font-size:13px;
}
#menu .more-bt{
	position: absolute;
	bottom: 0px;left: 40%;
	width: 150px;
	text-align:left;
}
#access dt span{ width: 100%;display:block;}
#access .font-16,#access .font-20{ font-size: 14px; }
#access dd{ margin-bottom: 14px; }
footer .f-infobt-sp .bell-l{ display:none; }
footer .f-infobt-sp .font-20{
	font-size: 20px;
	width: 90%;
	top: 16px;left: 10px;
}

}
@media only screen and (max-width:400px){
/*
#recruit{ bottom: -790px; }
*/
header h1{
	background: none;
	width: 180px;height: 108px;
	margin: 0px 20px 0 0;
	position: relative;
	z-index: 100;
}
header h1 img{ margin-top: 20px; }
nav{ margin: 60px 0 28px 0; }
nav li{width: 16vw;}
nav li a { font-size: 17px; }
.salonname{ display: none; }
.appoint{
	top: 90px;left: 1%;height: 57px;
	width: 98%;
	display: block;
	text-align: center;
	background: #333333;
	
}
.appoint a,.appoint .bell-l{
	color:#FFFFFF;
}
nav{
	margin: 0px 0 10px;
}
/*
.appoint span{
border: 1px solid #999;
	width: 100%;
	display: block;
	text-align: center;
	border: 1px solid red;
	margin: 0 auto;
}

.appoint{
	top: 70px;
	left: 0px;
	background: none;
	text-align: center;
	width: 100%;
	border: 1px solid red;
}


.appoint a{
	width: 45%;float:left;
}
*/
iframe{ height: 100vw; }
#access .address{line-height:1.2;}
#access .address span{ display:block;width: 90%;margin:0 5%; }
footer .f-infobt-sp .left,footer .f-infobt-sp .right{ width:45%; }
}