@charset "UTF-8";

/*head固定なので、height 100px*/
.header-bk{
	position: fixed;
	display: block;
	width: 100%;
	background-color: #fff;
	opacity: 0.97;
	border-bottom: 1px solid #EBEBEB;
	top: 0;
	right:0;
	left: 0;
	z-index: 10001;}

/* Layout
++--------------------------------------------++*/
@media (min-width: 1025px){
	.header-inner, .sub-header, .footer-inner, .kiji-inner, .cta1-sec, .width-wrapper{
		min-width: var(--width-min);
		max-width: var(--width-max);
		margin: 0px auto;}
}

@media (max-width: 1024px){
	.header-inner, .sub-header, .footer-inner, .kiji-inner, .cta1-sec, .width-wrapper{
		max-width: 100%;
		margin: 0px auto;}
}


@media (min-width: 1025px){
		/*head固定なので、height 100px*/
	.header-bk{
		height: var(--fix-head);}

	.kiji-bk, .page-bk{
		padding-top: var(--fix-bodypage);}
}

@media (max-width: 767px){
	.header-bk{
		height: var(--fix-head-sm);}

	.kiji-bk, .page-bk{
		padding-top: var(--fix-bodypage-sm);}
}

@media (min-width: 768px) and (max-width: 1024px){
	.header-bk{
		height: var(--fix-head-tb);}

	.kiji-bk, .page-bk{
		padding-top: var(--fix-bodypage-tb);}
}

/* header
++--------------------------------------------++*/
/*
背景黒
#gnav-bk{
  position:absolute;
  top:0px;
  left:0px;
  width:100%;
  height:100%;
  background-color:#000000;
  opacity:0.5;
  display: none;
  z-index:1;}*/


/*hamburger*/
#hamburger{
	padding: 8px 14px;
	border: solid 1px #aaa;
	border-radius: 5px;
	background-color: #FFFCF5;
	position: fixed;
	cursor: pointer;}

#hamburger span{
	display: none;}

#hamburger i{color: #888;}

/*logo*/
.header-inner h1{
	padding-top: 0.25em;}

/*reserve*/
.header-inner{position: relative;}

/*++--- gnav design ---++*/
@media (min-width: 1025px) {
	.header-inner h1{
		font-size: 12px; font-size: 1.2rem;}

	#hamburger{display: none;}

	.gnav{display: block !important;}

	.head-reserve{
		position: absolute;
		top: 0px;
		right: 100px;}

	.head-reserve img{
		float: right;
		width: 75%;
		height: auto;}

	/*global nav*/
	.gnav ul{
		display: flex;
		justify-content: space-between;
		/*align-items: flex-end;*/}

	.gnav ul li{
		flex: 1;
		display: block;
		text-align: center;
		margin: 0 40px;}

	.gnav ul li a{
		display: block;
		font-family: var(--font-mincho);
		font-size: 18px; font-size: 1.8rem;
		color: var(--color-p1);
		text-shadow: 0px 0px 2px #DFDFDF;
		text-decoration: none}

	.gnav ul li a:hover{
		background-color: rgba(255,255,255,0.9);}

	.gnav ul li span{
		font-family: var(--font-gothic);
		display: block;
		font-size: 12px; font-size: 1.2rem;
		padding-bottom: 5px}
}

/*++--- 767px ---++*/
@media (max-width: 1024px) {

	.head-logo{
		margin: 0em 0 0 1em;
		/*width: 50%;*/}

	.header-inner h1{
		font-size: 10px; font-size: 1.0rem;
		padding: 0 0 0.5em;}

	#hamburger{
		z-index: 10002;}

	#hamburger:focus{outline: none;}

	.gnav{
		display: none;
		background: #D5C9AA;
		transform: translateX(0);
		position: fixed;
		top: 67px;
		left: 0;

		width: 100vw;
		height: calc(100vh - 67px);
		z-index: 9000;

/*		transition: all .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;*/
	}

	/*global nav*/
	.gnav ul{
		padding: 3em 0 0;}

	.gnav ul li{
		display: block;
		text-align: left;
		margin: 0;}

	.gnav ul li a{
		/*font-size: 1.2em;*/
		display: block;
		padding: .2em 0 .2em 1.5em;
		font-family: var(--font-mincho);
		color: #fff;
		text-decoration: none;
		border-left: solid 5px #fff;
		margin: 0 0 1em 1.5em;}

	.gnav ul li span{
		/*font-size: 16px; font-size: 1.6rem;*/
		font-family: var(--font-gothic);
		display: block;}
}

@media (min-width: 1025px){
	#logo{
		padding: 6px 0 5px;
		width: 230px;
		height: auto;}
}

@media (max-width: 767px){
	#logo{
		width: 150px;
		height: auto;}

	#hamburger{
		top: 1em;
		right: 1em;}

	#hamburger i{
		font-size: 24px; font-size: 2.4rem;}

	.head-reserve{
		position: fixed;
		top: 17px;
		right: 6em;
		min-width: 100px;
		width: 20%;
		height: auto}

	.gnav ul li a{font-size: 1.2em;}
	.gnav ul li span{font-size: 16px; font-size: 1.6rem;}
}

@media (min-width: 768px) and (max-width: 1024px){
	.head-logo{
		padding: 1em 2em 0em;}

	#hamburger{
		top: 1.25em;
		right: 4em;}

	#hamburger i{
		font-size: 48px; font-size: 4.8rem;}

	#logo{
		width: 300px;
		height: auto;}

	.head-reserve{
		position: fixed;
		top: 17px;
		right: 12em;
		min-width: 100px;
		width: 20%;

		height: auto}

	.gnav ul li a{font-size: 2.5rem;}
	.gnav ul li span{font-size: 2.8rem;}
}


/* bread
++--------------------------------------------++*/
.sub-header{
	padding: 1em 0 0 0em;}

.sub-header li{
	float: left;
	width: auto}

.sub-header ol:after{
	content: "";
	display: block;
	clear: both}

.sub-header li a{
	display: inline-block;
	padding: 5px 5px;
	color: var(--color-p1);
	font-weight: normal;
	font-size: 14px;
	text-decoration: none;
	opacity: 1.0;}

.sub-header li a[href]:hover{
	background-color: var(--color-bk3);
	color: var(--color-p1);
	border-radius: 8px}

.sub-header li:after{
	content: '\003e';
	margin: 0 2px;
	color: var(--color-p1);}

.sub-header li:last-child:after{content: none}

.sub-header i{
	font-size: 16px; font-size: 1.6rem;}

.sub-header span{
	display: inline-block;
	text-indent: -9999px}

@media (max-width: 599px){
	.sub-header li:last-child{
		text-indent: -9999px}
}

/* footer
++--------------------------------------------++*/
footer{
	background-color: #F7F7F7;}

/*icon*/
.footer-icon ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;}

/*icon*/
.footer-icon a {
	display: block;
	margin-right: 8px;
	padding: 0;
	color: inherit;
	text-decoration: none;
	border: solid 1px currentColor;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;}

.footer-icon a:hover {
	background-color: rgba(0,0,0,0.3);}

@media (min-width: 1025px){
	footer{
		padding: 2em 1em 1em;}

	.footer-flex{
		display: flex;}

	.footer-info{
		flex: 3;}

	.footer-menu{
		flex: 8;}

	.footer-menu{
		display: flex;}

	.footer-menu div{
		flex:1;}

	.footer-menu div:not(:last-child){
		margin-right: 2em;}

	.footer-info{
		font-size: 14px; font-size: 1.4rem;}

	.footer-info address{
		padding: 0 0 1em 0}


	.footer-menu a{
		display: block;}

	.footer-menu h3 {
		padding: 0 0 0.5em 0;
		border-bottom: solid 1px currentColor;
		font-size: 14px; font-size: 1.4rem;}

	.footer-menu a{
		display: block;
		padding: 0.5em;
		color: inherit;
		font-size: 12px; font-size: 1.2rem;}

	.footer-menu a:hover {
		background-color: var(--hover-main);}

	/*icon*/
	.footer-icon a {
		font-size: 16px; font-size: 1.6rem;}

	/*copyright*/
	.footer-copy{
		padding: 1em 0;}

	.footer-copy p{
		text-align: center;}
}

@media (max-width: 1024px){
	footer{
		padding: 2em 2em 1em;
		font-size: 16px; font-size: 1.6rem;}

	.footer-info address{
		font-size: 18px; font-size: 1.8rem;
		padding: 0 0 1em 0}

	.footer-menu a{
		display: block;}

	.footer-menu h3 {
		padding: 1em 0 0.5em 0;
		font-size: 22px; font-size: 2.2rem;
		border-bottom: solid 1px currentColor;
		/*font-size: 14px; font-size: 1.4rem;*/}

	.footer-menu a{
		display: block;
		padding: 1em;
		color: inherit;
		/*font-size: 14px; font-size: 1.4rem;*/}

	.footer-menu a:hover {
		background-color: var(--hover-main);}

	/*icon*/
	.footer-icon a {
		font-size: 22px; font-size: 2.2rem;}

	/*copyright*/
	.footer-copy{
		padding: 1em 0;}

	.footer-copy p{
		text-align: center;}
}


@media (min-width: 1025px){
	.footer-logo{
		width: 200px;
		padding: 0 0 0.5em 0;}
}

@media (max-width: 767px){
	.footer-logo{
		width: 150px;
		padding: 0 0 0.5em 0;}

	/*logo*/
/*	.footer-inner .footer-logo img{
		width: 50%;
		height: auto;}*/
}

@media (min-width: 768px) and (max-width: 1024px){
	.footer-logo{
		width: 200px;
		padding: 0 0 0.5em 0;}
	/*logo*/
/*	.footer-inner .footer-logo img{
		width: 25%;
		height: auto;}*/
}


/* 施術メニュー section
++--------------------------------------------++*/
.flow-bk{
	padding: 0 0 5em 0;}

.flow-sec{
	width: 800px;
	border: 1px solid #000;
	border-image-source: url(../../../uploads/img/bg-border/d.png);
	border-image-slice: 300;
	border-image-width: 150px;
	border-image-repeat: repeat;
	border-image-outset: repeat;
	padding: 4em 4.5em 6em;}

.flow-sec h2{
	font-family: var(--font-mincho);
	color: var(--color-main);
	letter-spacing: 0.5em;
	text-align: center;
	padding: 0em 0 1em 0;}

.flow-sec h2 span{
	display: block;
	letter-spacing: 0.25em;
	font-size: 26px; font-size: 2.6rem;}

.flow-sec h2 span:before, .flow-sec h2 span:after{
	content: '～';}


.flow-list{
	counter-reset: li;}

.flow-list > li{
	list-style: none;
	position: relative;/*リストの項目の位置を基準に*/
	padding-left: 4.5em; /*li:before分左に余白を。調整可*/
	/*margin-bottom: 0.8em;*//*リストの数字がくっついてしまう場合*/}

.flow-list > li:before {
	counter-increment: li;
	content: counter(li);

	position: absolute;

	background: var(--color-main);
	border: 1px solid var(--color-bk1);
	color: #ffffff;

	text-align: center;
	width: 1.9em; /*幅を決めるheightと同じ数値に*/
	height: 1.9em;
	line-height: 1.8;
	left: 0em;
	top: -3px;}

.flow-list > li:not(:last-child):after{
	font-family: "FontAwesome";
	content: "\f063";
	display: block;
	color: var(--color-main);
	margin: 0.7em 3em;}

.flow-sec ol li p{
	padding: 0em 0 0 0em;
	text-align: left;}

@media (min-width: 768px){
	.flow-list{
		padding: 0 0 0 3em;}
}

@media (max-width: 767px){
	.flow-list{
		padding: 0 0 0 0em;}
}

/*@supports (-ms-ime-align:auto) {
	.flow-list > li:before {
		background: #CDBA88;}

	.flow-list li{
		color: #666666 !important;}
}
*/
/* Menu Price
++--------------------------------------------++*/
.menuprice-sec{
	width: 800px;
	padding: 0 0 3em;}

.menuprice-sec h2{
	font-family: var(--font-mincho);
	color: var(--color-main);
	font-size: 26px; font-size: 2.6rem;
	text-align: center;
	border-bottom: 2px solid var(--color-bk1);
	margin: 0 0 0.5em 0;}

.menuprice-sec h2 span:before{
	content: ' / ';}

.menuprice-sec dl{
	font-size: 20px; font-size: 2.0rem;}

.menuprice-sec p{
	text-align: right;}

.menuprice-sec p span{
	font-size: 19px; font-size: 1.9rem;}


@media (min-width: 768px){
	.menuprice-sec dl > span{
		display: flex;
		align-items: center;
		margin: 0 1em;}

	.menuprice-sec dl > span::after{
		content: '';
		border-top: 3px dotted;
		color: #D9D9D9;
		flex: 1 1 auto;
		order: 1;}

	/*.menuprice-sec dl span.b::after {
		height: 15px;
		content: '';
		background: radial-gradient(#000 10%, transparent 0) center/ 15px 15px;
		flex: 1 1 auto;
		order: 1;}*/
	.menuprice-sec dl dt{
		padding: 0 .5em 0 0;}

	.menuprice-sec dl dd{
		padding: 0 0 0 1em;
		order: 2;}
}

@media (max-width: 767px){
	.menuprice-sec dl{
		margin: 1em 1em 1em;
		border-bottom: 2px dotted #D9D9D9;}

	.menuprice-sec dl dt{
		float: left;
		clear: both;
		padding-left: 0.5em;}

	.menuprice-sec dl dd{
		text-align: right;
		padding-right: 0.5em}
}


/* CTA
++--------------------------------------------++*/
.cta1-sec h3{
	font-family: var(--font-mincho);
	font-size: 21px; font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 0.5em;
	text-align: center;
	padding: 0 2em 1em;}

.cta1-bk{
	padding: 2.0em 0;
	background-color: var(--color-accent3);/*686BC8 ABテスト用*/
	color: #fff;}


/*layout*/
@media (min-width: 1025px){
	.cta1-left{
		float: left;
		width: 450px;
		margin: 0 3em 0 2em;
		text-align: center;}

	.cta1-right{
		float: left;
		width: 460px;
		margin: 0 0 0 0;}

	.cta1-wrapper:after{
		content: "";
		display: block;
		clear: both;}
}

@media (max-width: 1024px){
	.cta1-left{
		width: 80%;
		margin: 0 auto 1em;
		text-align: center;}

	.cta1-right{
		text-align: center;
		margin: 0px auto;}
}

/*design*/
.cta1-right p{
	padding: 0;}

/*tel*/
.cta1-tel1{
	font-size: 16px; font-size: 1.6rem;}

.cta1-tel1 span{
	font-size: 12px; font-size: 1.2rem;}

.cta1-tel2{
	font-size: 13px; font-size: 1.3rem;}

.cta1-tel3{
	font-size: 26px; font-size: 2.6rem;
	font-weight: bold;
	color: #fff;}

/*net*/
.cta1-left a{
	display: block;
	font-size: 21px; font-size: 2.1rem;
	margin: 0 auto;
	background: #FFF;
	color: var(--color-p1);
	border: 1px solid #444;
	padding: 0.5em 1em;
	text-decoration: none;}

.cta1-left a:before{
	font-family: FontAwesome;
	content: "\f073";
	font-size: 40px; font-size: 4.0rem;
	vertical-align: sub;
	margin: 0 0.5em 0 0;}

.cta1-left a:after{
	font-family: FontAwesome;
	content: "\f054";
	margin: 0 0 0 1em;}

/* menu list
++--------------------------------------------++*/
.menulist-aside{
	padding: 3em 0}

.menulist-aside h2{
	font-family: var(--font-mincho);
	font-size: 26px; font-size: 2.6rem;
	color: var(--color-main);
	text-align: center;
	letter-spacing: 0.5em;
	padding: 0 0 1em;}

/* esth layout*/
/*esthe h3*/
.menulist-aside a:hover{
text-decoration: none;}

.menulist-aside-div{
	font-family: var(--font-mincho);
	color: var(--color-main);
	text-align: center;
	padding: 0;}


/*lead*/
.menulist-aside .lead p{
	font-size: 26px; font-size: 2.6rem;
	margin: 0;
	padding: 0;}


/*label*/
.menulist-aside h3{
	font-size: 16px;font-size: 1.6rem;}

.menulist-aside .lead{
	padding: .3em 0em;}

.menulist-aside .bottom h3,
.menulist-aside .bottom p,
.menulist-aside .bottom p span{
	vertical-align: top;
	margin: 0;padding: 0;}

.menulist-aside .bottom{
	border-top: solid 1px #ccc;}

.menulist-aside .bottom .labelW,
.menulist-aside .bottom .labelM{
	margin: 0 0 0 .5em;
	font-weight: bold;
	display: inline-block;
	border-radius: 6px;
	color: #fff;
	font-size: 1.0rem;
	padding: .3em .75em;}

.menulist-aside .labelW{
	background-color: #CD87AD;}
.menulist-aside .labelM{
	background-color: #8794CD;}

/*layout*/

/*center寄せ*/
.menulist-aside .bottom{
	display: flex;
	justify-content: center;
	position: relative;
	padding: .5em 0em;}

/*.menulist-aside .bottom p{
    position: absolute;
    right: 2px;}*/

/*左右寄せ*/
.lr2{
	display: flex;
/*	justify-content: space-between;*/
/*	justify-content: space-around;*/
	justify-content: center;
	padding: .5em .5em;}

.lr2 h3{
	margin-right: 1em !important;
/*	position: relative;*/
}



/*flex*/
.menulist-aside-img1, .menulist-aside-img2{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;}


@media (min-width: 768px){
	.menulist-aside-img1{
		padding: 0 0 3em;}
}


@media (max-width: 767px){
	.menulist-aside ul li{
		margin: 0 0 3em;}

	/*左右寄せ*/
	.lr2{
		padding: .5em 3em;}
}




.bl_flex{
	display: flex;
	justify-content: space-between
}

@media (max-width: 767px){
	.bl_flex{
		display: block;
	}

}