@charset "utf-8";
/*========= 背景動画設定のCSS ===============*/
.title-border {
display: flex;
align-items: center;
	width: 50%;
	margin: 0 auto ;
}
.title-border:before,
.title-border:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
.title-border:before {
margin-right: 1rem;
}
.title-border:after {
margin-left: 1rem;
}

/*header設定*/
#header{
    position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
    height: 100vh;/*高さを全画面にあわせる*/
} 

#video-area{
    position: fixed;
    z-index: -1;/*最背面に設定*/
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
}

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}


html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
.br-sp {
    display: none;
}
body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	color: #707070;
font-family: "游明朝",YuMincho,Yu Mincho,"ヒラギノ明朝 ProN W3",HiraMinProN-W3,"HG明朝E","ＭＳ Ｐ明朝",MS PMincho,"MS 明朝",serif;
	text-align:justify;
	background: #F9F3E8;

}

.googleMap {
  margin-bottom: 48px;
  position: relative;
  width: 600px;
  height: 450px;
  &:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #ff6c00;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: hue;
    pointer-events: none;
  }
}



figure.side_image {
  display: inline-block;
}
.charm{
  background-image: url(../image/charm-back.jpg);
	background-position: center;
	background-repeat: no-repeat;

}
.howto{
  background-image: url(../image/howto-back.png);
	background-position: center;
	background-repeat: no-repeat;


}
.voice{
  background-image: url(../image/voice-back.png);
	background-position: center;
	background-repeat: no-repeat;

}
.about{
  background-image: url(../image/about-back.png);
	background-position: center;
	background-repeat: no-repeat;

}
.price{
  background-image: url(../image/price-back.png);
	background-position: center;
	background-repeat: no-repeat;

}


.reserve{
  background-image: url(../image/price-back.png);
	background-position: center;
	background-repeat: no-repeat;

}

.info{
  background-image: url(../image/price-back.png);
	background-position: center;
	background-repeat: no-repeat;

}


.map{
  background-image: url(../image/price-back.png);
	background-position: center;
	background-repeat: no-repeat;

}

.contact{
  background-image: url(../image/price-back.png);
	background-position: center;
	background-repeat: no-repeat;

}

.specialthanks{
  background-image: url(../image/price-back.png);
	background-position: center;
	background-repeat: no-repeat;

}

.specialthanks ul{
  margin:0 20%; 

}





.items {
  display: flex;
  justify-content: space-between;
}
.items .item {
  width: 30%;
}
.item-img{
	text-align: center;
}
.item-img img{
	width: 100%;
}
.item-title{
  font-size: 23px;
text-align: center;
	color: #770005;
	line-height: 1.2em;
	margin-bottom: 2%;
	height: 70px;
}
.item-title span{
  font-size: 70%;
	display: block;
	
}


figure.side_image {
  display: inline-block;
	float: right;
	margin: 0 0 0px 20px;
	 width: 30%;
}

figure.side_image img {
 width: 100%;
	float: right;
}
 
p.side_text {
  display: inline-block;
}
nav ul li.current a,
nav ul li a:hover{
    color:red;
}
ul {
  list-style: none;
}

footer small{
}
a {
    text-decoration:none; 
	color: #707070;
}
a:hover{
  color : #78181f;
}
a:visited{
  color: #707070;
}
img {
	max-width: 100%;
	height: auto;
}

.main {
  background-attachment: ;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  min-height: calc(var(--vh, 1vh) * 100);
	margin-left: 250px;
	 background-image: url(../image/bbb.jpeg);
background-color:rgba(255,255,255,0);
background-blend-mode:lighten;
}
.main2 {
  background-attachment: ;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
margin-left: 250px;
	min-height: 100vh; 

}
.main3 {
  background-attachment: ;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
margin-left: 250px;

}
.wrap-top{
 display:flex;
	position: relative;
  min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
align-items: center;
 justify-content: center;	
margin: 0% 0 0%;
	margin-bottom: 0px;


}

.wrap{
 width: 450px;
	position: relative;
  min-height: 90vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
align-items: center;
 justify-content: center;	
margin: 0% 0 0%;
	left: 105px;
	
/* border: solid 1px #000000;
box-shadow: 1.5px 1.5px 2px #696969;*/


}
.wrap2{

width: 800px;
position: relative;
align-items: center;
justify-content: center;	
margin-bottom: 0px;
margin: 0 2em;
	
	padding: 5% 0;

}
.wrap3{

width: 800px;
text-align: center;

}
.top-tatelogo{
	position: absolute;
	top:3%;
	right:3%;
	z-index: 10;
	min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  	min-height: calc(var(--vh, 1vh) * 100);
width:6%;
}

.top-tatelogo img{
    width: 100%;
}

.top-yokologo{
	position: absolute;
	top:80%;
	left:270px;
	z-index: 10;
	min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  	min-height: calc(var(--vh, 1vh) * 100);
	width:50%;
}

.top-yokologo img{
    width: 70%;
}




.box img{
}
.topimg{
	width: 100%;
max-width:650px;
}
.box-inner{

margin: 0 15% 0% 20%;
text-align: left;
	}






.logo {
position: fixed;
top:70px;
left:80px;

}
navi{
position: fixed;
	top:30px;
	left:46px;	
	z-index: 1;
}
navi li {
	line-height: 2em;

}
.copyright {
	font-size: 70%;
	position: fixed;
	bottom: 3px;
	left: 0px;
	text-align: center;
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	z-index: 2;
}
.sns{
	text-align: center;
}

.company-btn {
	font-size: 80%;
	position: relative;
	bottom: 10px;
text-align: center;	

}

.concept {
	text-align: center;
	 -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	color: #CBCBCB;

}
.title {
font-size: 40px;
text-align: center;
color: #712020;
margin-bottom: 50px;
	line-height: 1.3em;
	font-weight: 100;

}
.reserve h2{
	
}
.reserve span{
	
font-size: 130%;
padding: 0.25em 0.25em;
    color: #712020;
    border: solid 2px #712020;
	font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";
	margin: 0 0.5em 0 0;
	


}



.reverse {
	width: 20px;
  display: none;  
  position: fixed;
  right: 0px;
  bottom: 3px;
	text-align: center;
	 -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	z-index: 1;
}

.tenpoimg{
	width: 60%;
	float: right;
	margin-bottom: 15px;
	
}
.tenpoimg img{
	width: 100%;
	float: right;
	
}
.smimg{
	
	}
.smimg img{
	width: 70%;
	}

.pc{
	display: block;
}
.sm{
	display: none;
}

.howto h2{
	font-weight: normal;
}
.howto span{
	padding: 0.5em 0.5em;
    margin: 0 0.5em 0 0;
    color: #fff;
    background: #770005;
}
.howtoimage{
	text-align: center;
	margin: 1.5em;
	padding: auto 0;
}
.howtoimage img{
	text-align: center;
	width: 70%;
}
.side-position{
	webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 250px;
    z-index: 1;
}

.qr{
	display: block;
}
footer{
	display: none!important;
	
}

.linebtn-B{
	text-align: center;
	margin-top: 50px;
}
.linebtn-B-footer{
	text-align: center;
	margin-top: 50px;
	position: relative;
}
@media screen and (max-width: 850px){
	
body {
	line-height: 2em!important;

}	
.howto h2{
	line-height: 2em;
}
footer{
	display: block!important;
 background-image: url(../image/bbb.jpeg);
	text-align: center!important;
	height: 100px;
	position: relative;

}	
.copyright{
	display: none;
	
	}
.copyright-sm{
text-align: center!important;
	
margin-top: 200px;	
	}	

.qr{
	display: none;
}
	
	.top-tatelogo{
	display: none;
}


.main {
  margin-left: 0px;
}
.main2 {
  
margin-left: 0px;

}	
.main3 {
  
margin-left: 0px;

}	
	
	.side-position{
		display: none;
		
	}
navi{
display: none;
}

	
.howtoimage{
	margin: 0em 0;
}
.howtoimage img{
	width:100%;
}	
	.items {
  display: block;
}
	.items .item {
  width: 100%;
}
	.pc{
	display: none;
}
.sm{
	display: initial;
}
	.topsm{
		display: none;
	}
.full {
	position: relative;
	 width: 100%;
  height: 100vh;
  background-image: url(../image/ryuto-main-sm-02.jpg);
  background-size: cover;
  background-position: center;
background-repeat: no-repeat;
}	
 
p.side_text {
  display: inline-block;
}	
	
figure.side_image {
display: initial;
float: right;
margin: 0 0 0px 0px;
width: 100%;
}

figure.side_image {
  display: inline-block;
	float: right;
	margin: 0 0 0px 20px;
	 width: 40%;
}
	
	
p.side_text {
  display: initial;
}	
	
.wrap-top,
.wrap2	{
left: 0px;
}	

.wrap-top{
left: 0px;
 min-height:100vh; 
}	
	

	
 .br-sp {
        display: block;
    }
.smimg{
	width: 100%;
	text-align: center;
	}

.smimg img{
	width: 100%;
	text-align: center;
	}	
	
	
	.title {
font-size: 30px;
margin-bottom: 20px;

}

	
	
.logo {
	position: relative;
    width: 100%;
    height: 100vh;
	top: 0px;
	left: initial;
	z-index: 1;
	

}

.logo img {
	position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	max-height: 30%;


}

	
	



.wrap{
		display: flex;
		font-size: 90%;


 flex-direction: column;
}
	
.wrap2{
		width: 70%;
	padding: 15% 0;
	
}
	
	.wrap3{

width: 70%;
	padding: 0% 0;

}
	.wrap-top{
		display: flex;
		font-size: 90%;


 flex-direction: column;
}
	.menu{
		display: none;
	}

.box{
 width: 100%;
}
	
.box img{
 max-width: 100%;
	margin-bottom: 10px;
}

	.item-body{
		margin-bottom: 30%;
	}	
	
	
}


.smbr{
	display: none;
}


 
@media screen and (max-width: 850px) {
	
.specialthanks ul{
  margin:0 0%; 

}	
	
	.reverse {
	width: 5%;
}
	
.reserve span{
line-height: 2.5em;

}
.smbr{
	display: block;
}
	
	
	
 .logo-02 {
	 display: none;
  	position: fixed;
	top:10px;
	left:10px;
	z-index: 30;
	min-height: 100vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
  	min-height: calc(var(--vh, 1vh) * 100);
width:5%;
	 
}
	
	
.logo-02 img {
  width: 100%;
	 opacity: 0.5;
}
}




.salonname{
	margin-bottom: 15px;
	font-size: 150%;
	line-height: 1.5em;
border-bottom: solid 1px #D6D6D6;
}




.txt-hide{
display: none;
}

button.more {
width: 120px;
margin: 20px auto;
display: block;
background-color: #666;
color: #fff;
padding:10px 15px;
border: none;
outline: 0;
transition: .5s;
-erbkit-transition: .5s;
cursor: pointer;
}
 
button.more::after {
content: "もっと見る";
transition: .2s;
-erbkit-transition: .2s;
}

button.more.on-click::after{
content: "閉じる";
}



