@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Festive&display=swap');
*{
}
.noimage{
	background-color:#999999;
	color:#fff;
	position: relative;
}
.noimage::after{
	content:"No Image";
	position:absolute;
	text-align: center;
	width:100%;
	top:calc(50% - 24px);
	line-height: 24px;
}
@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}
/* header anm */
#slide{
	width:200%;
	margin-top:-55%;
	display: flex;
	justify-content: flex-start;
	
}
#slide .page{
	width:100%;
	padding-top:27.5%;
	background-size: cover;
	animation: display 10s infinite;
}
#slidepage1{
	background-image: url("images/shop1.jpg");
}
#slidepage2{
	background-image: url("images/shop3.jpg");
}

.rampwrap{
display:flex;
align-items:center;
margin-top:1em;
}
.ramp{
background-image: url("images/mark.jpg");
background-size:contain;
width:200px;
aspect-ratio:1;
margin-right:0.5em;
border-radius:50%;
}

/* nail anm*/
.nail-img{
	overflow:hidden;
	position:relative;
}
#nail-slide{
	position:absolute;
	top:0;left:0;
	width:400%;
	display: flex;
	fustify-content: flex-start;
	animation: nail-anm 20s infinite;
}
#nail-slide .page{
	background-position:center;
	width:50%;
	padding-top:20%;
	background-size: cover;
}
#nailimg1{
	background-image: url("images/nail1.jpg");
}
#nailimg2{
	background-image: url("images/nail2.jpg");
}
#nailimg3{
	background-image: url("images/nail3.jpg");
}
#nailimg4{
	background-image: url("images/nail4.jpg");
}
/* maincolor : #97CC44 */
/* sp font-size : 16px;*/
html, body{
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color:#2B2313;
	font-size:4.5vw;
	line-height:6vw;
}
.main-container{
	width: 100%;
	max-width:1000px;
	margin:0 auto;
}
header{
	border-top:10px solid #97CC44;
}
#header-wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header-wrap #header-logo{
	background-image: url("images/header-logo.png");
	padding-top:14%;
	width:14%;
	background-size: contain;
	background-repeat: no-repeat;
}
#header-wrap .hamburger-menu{
    position: fixed;
    top: 10px;
    right: 1vw;
    display: flex;
    height: 8vw;
    width: 8%;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #97CC44;
		cursor:pointer;
}
.menu-btn span,.menu-btn span:before,.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 60%;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
		left:20%;
	transition: all 0.5s;
}
.menu-btn span:before {
		width:100%;
    bottom: 8px;
		left:0;
}
.menu-btn span:after {
    top: 8px;
		width:100%;
		left:0;
}
#menu-btn-check {
	display: none;
	position:absolute;
}

#header-wrap #header-menu{
	position:fixed;
	left:-100%;
	top:0;
	width:100vw;
	height:100vh;
	z-index:20;
	background-color:rgba(255,255,255,0.8);
	padding-top:18vw;
	transition: all 0.5s;
	opacity:0;
}
#menu-btn-check:checked ~ #header-menu {
opacity:1;
left:0;
}
#menu-btn-check:checked ~ .hamburger-menu .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .hamburger-menu .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .hamburger-menu .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#header-wrap #header-menu li{
		text-align: center;
		font-size:25px;
		line-height:36px;
		margin-bottom:1rem;
}
#header-wrap #header-menu li p{
		display: block;
		color:#959595;
		font-size: 15px;
		line-height: 21px;
		margin-top:-3px;
}
#header-wrap #header-info{
	margin-right:12%;
	text-align: right;
}
#header-wrap #header-address{
	font-size: 3vw;
}
#header-wrap #header-tel{
	font-weight: 600;
	font-size: 4vw;
}



#fastview{
	position: relative;
}
#main-img{
	width: 100%;
	padding-top:55%;
	overflow:hidden;
}
#main-text{
	color: #97CC44;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 6vw;
	line-height: 12vw;
	font-weight: 600;
	letter-spacing: 8px;
	margin-top:10vw;
	margin-bottom:10vw;
	padding-left:calc(50% - 6vw);
}

#sec-storeinfo{
	padding:0 20px;
}

#sec-instagram,#sec-healing,#sec-powerstone,#sec-uranai,#sec-o2,#sec-cosmetic,#sec-selection,#sec-cafe{
	margin-top: 15vw;
}

#sec-selection .sub-img{
	background-image: url("images/select1.jpg");
}
#sec-healing .sub-img{
	background-image:url("images/aroma2.jpg");
}
#sec-powerstone .sub-img{
	background-image:url("images/powerstone1.jpg");
}
#sec-uranai .sub-img{
	background-image:url("images/uranai.jpg");
}
#sec-uranai #photo_rin, #sec-uranai #photo_runa{
	width:50%;
	padding-top:60%;
	margin:1em 25%;
	background-size: cover;
	border-radius: 50%;
}
#sec-uranai #photo_rin{
	background-image: url("images/rin.jpg");
	
}
#sec-uranai #photo_runa{
	background-image: url("images/runa.jpg");	
}
#sec-uranai .name{
	background-color:#97CC44;
	color:#fff;
	display: block;
	text-align:center;
	border-radius: 0.9em;
	line-height:1.8em;
}

#sec-cosmetic .sub-img{
	background-image:url("images/cosme2.jpg");
}
#sec-instagram h2{
	font-family: 'Festive', cursive;
}

#sec-instagram #instagram-btn{
	padding:0.8rem;
	font-weight:600;
	border:1px solid #2B2313;
	border-radius:0.4rem;
	font-size:1.4rem;
	display:flex;
	justify-content:center;
	align-items:center;
	margin-top:1.8rem;
}
#sec-instagram #instagram-btn i{
	font-size:1.4rem;
	padding-right:0.8rem;
}

#sec-cafe .sub-img{
	background-image:url("images/cafeopen.jpg");
}
#sec-cafemenu{
	display:flex;
	flex-wrap:wrap;
	width:100%;
}
#sec-cafemenu h3{
	font-size:1.2em;
	padding-left:0.3em;
	padding-bottom:0.3em;
	margin-bottom:0.5em;
	color:#87bb4f;
	border-bottom:2px solid #87bb4f;
}
#sec-cafemenu #grandmenu, #sec-cafemenu #drinkmenu{
	box-sizing:border-box;
	padding-left:0.5em;
	padding-right:0.5em;
}
#sec-cafemenu #grandmenu{
	margin-bottom:1.5em;
}
#sec-cafemenu .menulist li{
	padding:0.5em;
	width:100%;
	display:flex;
	justify-content:space-between;
}
#sec-cafemenu .menulist p small{
	display:block;
}
#sec-cafemenu .menulist span{
	font-weight:bold;
	display:block;
	float:right;
}
#sec-cafemenu .menulist span small{
	display:block;
}
#alcholmenu{
	background-color:#222;
	color:#fff;
	font-weight:bold;
	padding:0 0.5em;
	border-radius:0.5em;
	margin:0.5em;
}
.sub-dec{
	width:100%;
	padding: 20px;
}
.sub-dec dl{
	margin-top:1em;
	margin-bottom:1em;
}
.sub-dec dt{
	marrgin:0.5em;
	font-weight:bold;
}
.sub-dec dd{
	margin-left:1em;
	padding:0.5em;
}
.sub-img{
	width:94%;
	margin:auto;
	padding-top: 56%;
	border-radius: 10px;
	background-position: center;
	background-size: cover;
}
.sub-dec table{
	margin-left:1em;
}
.sec-title{
	text-align: center;
	position: relative;
}
.sec-title h2{
	font-weight: 600;
	font-size: 8vw;
	line-height:12vw;
	position: relative;
	text-align:center;
	display:inline-block;
}
.sec-title h2::before{
	content:"";
	height:6vw;
	width:6vw;
	background-image: url("images/h2back.png");
	position: absolute;
	top:-2vw;
	left:-2vw;
	background-size: contain;
	background-repeat: no-repeat;
}
.sec-title::after{
	content:"";
	height:6vw;
	width:6vw;
	background-image: url("images/h3-sep.png");
	position: absolute;
	bottom:-10vw;
	left:calc(50% - 3vw);
	background-size: contain;
	background-repeat: no-repeat;
}
.sec-title p{
	font-size: 3vw;
	line-height:5vw;
	color: #959595;
	
}
.sec-subtitle{
	margin-top: 50px;
	margin-bottom:5vw;
	font-weight: 600;
	font-size:6vw;
	line-height: 8vw;
	position: relative;
	text-align:center;
}
.sec-subtitle::after{
	content: "";
	width: 8vw;
	border-bottom: 2px solid #959595;
	position: absolute;
	left: calc(50% - 4vw);
	bottom:-2.5vw;
}
.sub-dec-tx, #access-dec, #reform-dec{
	margin-top:15vw;
}
.btn-green{
	width:80%;
	margin:4vw auto;
}
.btn-green a{
	display:block;
	width:100%;
	height:100%;
	text-decoration: none;
	background:#97CC44;
	text-align:center;
	color:#FFFFFF;
	font-weight: 600;
	font-size:5vw;
	line-height:9vw;
	padding:2vw;
	border-radius:6.5vw;
	-webkit-border-radius:6.5vw;
	-moz-border-radius:6.5vw;
	box-shadow:3px 1px 5px 0px #DEDEDE ;
}

#sec-access{
	margin-top:15vw;
}
#access-dec{
	padding:0 20px;

}
#access-map iframe{
	margin-top:1.5rem;
	width:100%;
	height:450px;
}

#reform-wrap{
	margin-top:100px;
	padding:10px 0 100px;
	background-color: #E9F4E8;
}
#sec-reform{
	margin-top:15vw;
}
#reform-dec{
	padding:0 20px;
}
#reform-sub-title{
	margin-top:1.5rem;
	text-align:center;
}
#reform-sub-title h6{
	display:inline-block;
	padding:1rem 0.5rem 0.5rem;
	line-height:8vw;
	font-size:6vw;
	border-bottom:2px solid #959595;
}
#reform-photo{
	margin-top:1.5rem;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}
#reform-photo div{
	width:45%;
	margin-bottom:1.5rem;
	border-radius:10px;
}
#reform-photo img{
	width:100%;
	height:auto;
	border-radius:10px;
}
footer{
	margin-top: 130px;
	background-color:#97CC44;
	color:#fff;
}
#footer-info{
	width: 90%;
	margin:11vw 5% 6vw;
	display: flex;
	justify-content: center;
	align-items: center;
	
}
#footer-info img{
	width:31.81%;
	height: auto;
}
#footer-navi{
	padding:20px 2px 0;
	display: flex;
	justify-content: center;
}
#footer-navi .lnk{
	padding-left:2em;
	padding-right:2em;
}

#copyrights{
	text-align: center;
	padding-bottom: 65px;
}

.sub-dec-tx{
		padding-left:20px;
		padding-right:20px;
}

/* トップに期間限定バナー */
.sp-banner{
	margin-top:4em;
	text-align:center;
}
.sp-banner img{
	width:96%;
	height:auto;
	max-width:900px;
}
/* タブレット */

@media screen and (max-width: 1000px) {
	.main-container{
		width:100% !important;
	}
	.sec-title{
	}
}
@media screen and (min-width: 600px) {
/* タブレット用レイアウト 600px以上の範囲に収めるデザインはこの中に記述 */

	html, body{
		font-size:18px;
		line-height:24px;
	}
	.main-container{
		width:1000px;
	}
	#header-wrap #header-logo{
		height:140px;
		width:140px;
	}
	#header-wrap .hamburger-menu{
		display:none;
	}
	#header-wrap #header-menu{
		display: flex;
		position:relative;
		left:0;
		width:auto;
		height:auto;
		padding-top:0;
		opacity:1;
	}
	#header-wrap #header-menu li{
		text-align: center;
		font-size:25px;
		line-height:36px;
		margin-left:30px;
		margin-bottom:0;
	}
	#header-wrap #header-menu li p{
		display: block;
		color:#959595;
		font-size: 15px;
		line-height: 21px;
		margin-top:-3px;
	}
	#header-wrap #header-info{
		margin-right:0;
		margin-left:30px;
	}
	#header-wrap #header-address{
		font-size: 16px;
	}
	#header-wrap #header-tel{
		font-weight: 600;
		font-size: 24px;
	}
	
	#fastview{
		position: relative;
	}
	#main-img{
	}
	#main-text{
		position: absolute;
		right: 0;
		top:-32px;;
		margin-top:0;
		margin-bottom:0;
		margin-right: 90px;
		margin-top: 46px;
		font-size: 32px;
		line-height: 72px;
		font-weight: 600;
		letter-spacing: 8px;
		padding-top:32px;
		padding-bottom: 32px;
		padding-left:0;
		background-color: rgba(255,255,255,0.8);
		border-radius:3px;
	}


	footer{
		margin-top: 130px;
		background-color:#97CC44;
		color:#fff;
	}
	#footer-info{
		width: 44%;
		margin:100px 28% 75px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		
	}
	#footer-info img{
		width:31.81%;
		height: auto;
	}
	#footer-navi{
		padding-top:20px;
		display: flex;
		justify-content: center;
	}
	#footer-navi .lnk{
		padding-left:2em;
		padding-right:2em;
	}
	
	#copyrights{
		text-align: center;
		padding-bottom: 65px;
	}


	.btn-green{
			width:360px;
			height:75px;
			line-height:75px;
			margin: 60px auto 0;
	}
	.btn-green a{		
		font-size:24px;
		line-height:75px;
		border-radius:50px;
		-webkit-border-radius:50px;
		-moz-border-radius:50px;
		box-shadow:3px 1px 5px 0px #DEDEDE ;
		padding:0;
	}
	.btn-green a:hover{
	}
	#sec-cafemenu #grandmenu, #sec-cafemenu #drinkmenu{
		box-sizing:border-box;
		width:50%;
	}

	#sec-healing,#sec-nail, #sec-powerstone,#sec-uranai,#sec-o2,#sec-cosmetic,#sec-selection,#sec-cafe{
		display: flex;
		justify-content: flex-end;
		flex-direction: row-reverse;
		margin-top: 70px;
	}
	#sec-instagram{
		margin-top:70px;
	}
	#sec-instagram .sub-dec{
		width:100%;
	}
	.instagram-dec{
		display:flex;
		align-items:center;
	}
	#instagram-tx{
		width:70%;
	}
	#instagram-btn{
		margin:0 20px;
	}
	.sub-dec{
		width:40%;
		padding: 20px;
	}
	.sub-img{
		width:60%;
		padding-top: 56%;
		border-radius: 10px;
	}
	.sec-title{
		text-align: left;
		margin-left: -20px;
	}
	.sec-title h2{
		display: inline-block;
		font-size: 45px;
		line-height:60px;
		position: relative;
	}
	.sec-title h2::before{
		position: absolute;
		width:40px;
		height:60px;
		left:-20px;
		top:-20px;
	}
	.sec-title p{
		font-size: 18px;
		line-height:24px;
		color: #959595;
		padding-left:15px;
	}
	.sec-title::after{
		content:none;
	}
	.sec-subtitle{
		margin-top: 50px;
		margin-bottom: 2rem;
		font-weight: 600;
		font-size:30px;
		padding-left: 20px;
		line-height: 44px;
		position: relative;
		text-align:left;
	}
	.sec-subtitle::after{
		content: "";
		border-bottom: 2px solid #2B2313;
		position:absolute;
		left:0;
		bottom: -5px;
		width:100%;
	}

	.sub-dec-tx{
		margin-top:2rem;
	}

	#access{
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#access-dec{
		margin-top:0;
		width:60%;
		padding-left:10px;
		position:relative;
		border-radius:2px;
		border-left:5px solid #97cc44;
	}

	#sec-access{
		margin-top:70px;
	}	
	
	
	#reform{
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#reform-dec{
		margin-top:0;
		width:60%;
		padding-left:10px;
		position:relative;
		border-radius:2px;
		border-left:5px solid #97cc44;
	}
	#sec-reform{
		margin-top: 70px;
	}
	#reform-sub-title h6{
		font-size:30px;
		line-height:44px;
	}
	#reform-photo div{
		width:22%;
	}
	#nail-slide .page{
		background-position:center;
		width:50%;
		padding-top:25%;
		background-size: cover;
	}
}

/* PC */
@media screen and (min-width: 1025px) {
/* PC用レイアウト 1,025px以上の範囲に収めるデザインはこの中に記述 */
}


#sec-cristal .full-clm-wrap{
	padding:20px;
}
#sec-cristal .full-clm-wrap table{
	margin-top:1.8em;
	margin-bottom:2.8em;
}
#sec-cristal .full-clm-wrap .prof{
padding:1em;
border:1px solid #999;
margin-top:1.5em;
}

@keyframes display {
  0% {
    transform: translateX(0);
    opacity: 0;
  }
  10% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(0);
    opacity: 1;
  }
  55%{
	transform: translateX(0);
	opacity: 0;
  }
  55.1%{
	transform: translateX(-100%);
	opacity: 0
  }
  65%{
	transform: translateX(-100%);
    opacity: 1;
  }
  90%{
	transform: translateX(-100%);
	  opacity:1;
	}
  100% {
	transform: translateX(-100%);
    opacity: 0;
  }
}

@keyframes nail-anm {
	0%{
		animation-timing-function: linear;
		transform: translateX(0);
		opacity:0;
	}
	2.5%{
		animation-timing-function: linear;
		transform: translateX(0);
		opacity:1;
	}
	22.5%{
		animation-timing-function: linear;
		transform: translateX(0);
		opacity:1;
	}
	25%{
		animation-timing-function: linear;
		transform: translateX(0);
		opacity:0;
	}
	25.1%{
		animation-timing-function: linear;
		transform: translateX(-25%);
		opacity:0;
	}
	27.5%{
		animation-timing-function: linear;
		transform: translateX(-25%);
		opacity:1;
	}
	47.5%{
		animation-timing-function: linear;
		transform: translateX(-25%);
		opacity:1;
	}
	50%{
		animation-timing-function: linear;
		transform: translateX(-25%);
		opacity:0;
	}
	50.1%{
		animation-timing-function: linear;
		transform: translateX(-50%);
		opacity:0;
	}
	52.5%{
		animation-timing-function: linear;
		transform: translateX(-50%);
		opacity:1;
	}
	72.5%{
		animation-timing-function: linear;
		transform: translateX(-50%);
		opacity:1;
	}
	75%{
		animation-timing-function: linear;
		transform: translateX(-50%);
		opacity:0;
	}
	75.1%{
		animation-timing-function: linear;
		transform: translateX(-75%);
		opacity:0;
	}
	77.5%{
		animation-timing-function: linear;
		transform: translateX(-75%);
		opacity:1;
	}
	97.5%{
		animation-timing-function: linear;
		transform: translateX(-75%);
		opacity:1;
	}
	99.9%{
		animation-timing-function: linear;
		transform: translateX(-75%);
		opacity:0;
	}
	100%{
		animation-timing-function: linear;
		transform: translateX(0%);
		opacity:0;
	}
}