@charset "utf-8";


/*  l-mv
--------------------------------------------------*/
.l-mv{
	position: relative;
}
.mv-img{
	opacity: 0;
	filter: blur(2px);
	transition: opacity 1.5s,filter 1.5s;
}
.subloaded .mv-img{
	opacity: 1;
	filter: blur(0);
}
.mv-txt{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 1;
	opacity: 0;
	filter: brightness(2.0);
	transition: opacity 1.5s .5s,filter 1.5s .5s;
}
.subloaded .mv-txt{
	opacity: 1;
	filter: brightness(1.0);
}
@media screen and (min-width: 769px){
	.l-mv:before{
		content: '';
		position: fixed;
    top: 0;
    transform: translateX(-13%);
		width: 885px;
		padding-bottom: 532px;
		background: url(../img/bg_mv.png) no-repeat center center/cover;
		z-index: -1;
		opacity: 0;
		transition: opacity 1.5s;
	}
	.subloaded .l-mv:before{
		opacity: 1;
	}
}



/*  l-about
--------------------------------------------------*/
.l-about{
	position: relative;
	width: 100%;
	margin-top: -1.7rem;
	padding-bottom: 6.0rem;
}
.about-head {
	position: relative;
	margin-bottom: 4.5rem;
}
.about-head__bg {
	width: calc(295 / 320 * 100%);
	margin-right: auto;
}
.about-head__ttl {
	position: relative;
	width: calc(290 / 320 * 100%);
	color: #3686B2;
	text-shadow: 0px 0px 4.3px #FFF;
	/*font-size: 2.3rem;*/
	font-size: 7.1875vw;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: right;
	margin: calc(-60 / 320 * 100%) auto 0;
	z-index: 1;
}
.about-head__ttl span{
	text-align: left;
}
.about-contents {
	position: relative;
	width: calc(260 / 320 * 100%);
	margin: 0 auto;
}
.about-contents__txt {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
	margin-bottom: 3.5rem;
}
.about-contents__txt i{
	color: #3686B2;
}
.about-btn {
	width: calc(240 / 260 * 100%);
	margin: 0 auto;
}
@media screen and (min-width: 769px){
	.about-head__ttl {
		font-size: 34px;
	}
}



/*  sec - common
--------------------------------------------------*/
.sec {
	position: relative;
	width: 100%;
	z-index: 1;
}
.sec-head {
	position: relative;
	text-align: center;
}
.sec-ttl {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1rem;
	margin-bottom: 1.2rem;
}
.sec-ttl small{
	font-size: .5em;
	font-weight: 400;
}
.sec-subttl {
	color: #3686B2;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .05em;
}




/*  l-menu
--------------------------------------------------*/
.l-menu{
	position: relative;
	width: 100%;
	padding-top: 6.0rem;
	padding-bottom: 6.0rem;
}
.l-menu:before{
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: calc(310 / 320 * 100%);
	height: 100%;
	border-radius: 5rem 0rem 0rem 5rem;
	border-radius: 5rem 0rem 0rem 5rem;
	background: url(../img/bg_pattern.png) repeat center top/ 100px, linear-gradient(357deg, #CFEAF8 0%, rgba(227, 243, 252, 0.00) 100%);
	z-index: -1;
}
.menu-list {
	width: calc(260 / 320 * 100%);
	margin: 4.0rem auto;
	border-top: solid 1px rgba(54, 134, 178, 0.30);
	border-bottom: solid 1px rgba(54, 134, 178, 0.30);
}
.menu-list__item {
	padding: 4.0rem 0;
}
.menu-list__item + .menu-list__item{
	border-top: solid 1px rgba(54, 134, 178, 0.30);
}
.menu-list__item__ttl {
	color: #3686B2;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1rem;
	margin-bottom: 2.0rem;
}
.menu-list__item__desc {
	text-align: justify;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1rem;
}
.menu-btn {
	width: calc(240 / 320 * 100%);
	margin: 0 auto;
}
#coupon-modal .modal-container{
	border-radius: 3rem;
	background: #fff;
	padding: 3.0rem 0;
}
#coupon-modal .modal-content{
	width: calc(260 / 320 * 100%);
	margin: 0 auto;
}
#coupon-modal .modal-box{
	position: relative;
	width: 100%;
}
.modal-head{
	text-align: left !important;
}
.modal-shop{
	width: 100%;
	height: 37.5rem;
	overflow-y: scroll;
	margin-top: 3.0rem;
}
.modal-shop__list{
	width: 100%;
}
.modal-shop__list__item {
	width: 100%;
}
.modal-shop__list__item + .modal-shop__list__item{
	padding-top: 2.0rem;
	margin-top: 2.0rem;
	border-top: dotted 2px #3686B2;
}
.modal-shop__list__left {
	width: calc(80 / 260 * 100%);
}
.modal-shop__list__right {
	width: calc(160 / 260 * 100%);
}
.modal-shop__list__right-place {	
	color: #FFF;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: left;
	margin-bottom: .7rem;
}
.modal-shop__list__right-place span{
	display: inline-block;
	padding: .4rem .8rem .5rem 1.0rem;
	border-radius: 2.2rem;
	background: #3686B2;
}
.modal-shop__list__right-name {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 1.2rem;
}
.modal-shop__list__right-reserve {
	width: 100%;
}
.modal-shop__btn-close{
	width: calc(180 / 260 * 100%);
	margin: 3.0rem auto 0;
	font-weight: 400;
}
@media screen and (min-width: 769px){
	#coupon-modal .modal-container{
		overflow: hidden;
	}
  .modal-shop{
    height: 350px;
  }
}





/*  l-promise
--------------------------------------------------*/
.l-promise{
	position: relative;
	width: 100%;
	padding-top: 6.0rem;
	padding-bottom: 3.2rem;
}
.promise-btn {
	text-align: center;
	margin-top: 3.0rem;
	margin-bottom: 4.0rem;
}
.promise-btn__link {
	display: inline-block;
	border: 1px solid #BDCED7;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
	padding: 1.0rem;
}
.promise-list {
	width: calc(260 / 320 * 100%);
	margin: 0 auto;
}
.promise-list__item {
	position: relative;
	width: 100%;
}
.promise-list__item + .promise-list__item{
	margin-top: 3.0rem;
}
.promise-list__item a{
	position: relative;
}
.promise-list__item a:after{
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
  width: 1.4rem;
  height: 1.4rem;
  background: url(../img/icon_blank-blue.svg) no-repeat center center/cover;
  opacity: 0;
  transition: opacity .5s;
}
.promise-list__item.is-active a:after{
	opacity: 1;
}
.promise-list__num {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 4.0rem;
	height: 4.0rem;
	border: solid 1px rgba(54, 134, 178, 0.30);
	border-radius: 50%;
	color: rgba(54, 134, 178, 0.30);
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.01em;
	margin-right: 1.5rem;
}
.promise-list__num i{
	position: relative;
  display: inline-block;
  background: #fff;
  padding: .3rem 0 .5rem;
  margin-right: -.3rem;
  line-height: 1;
  z-index: 1;
}
.promise-list__txt {
	color: #3686B2;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .1em;
}
#promise-modal .modal-container{
	padding: 6.0rem 0 5.2rem;
}
#promise-modal .modal-content{
	width: 100%;
}
#promise-modal .modal-box{
	position: relative;
	width: 100%;
}
.promise-slide {
	position: relative;
}
.promise-slide__item {
	border-radius: 3rem;
	box-shadow: 0 1.2rem 2.0rem 0 rgba(140, 214, 255, 0.30);
	background: #fff;
}
.promise-slide__item__ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #3686B2;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1em;
	width: 100%;
	height: 10rem;
	border-radius: 3rem 3rem 0 0;
	background: url(../img/bg_pattern.png) repeat center top/ 100px, linear-gradient(357deg, #CFEAF8 0%, rgba(227, 243, 252, 0.00) 100%);
}
.promise-slide__item__desc {
	text-align: justify;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .1em;
	padding: 2.5rem;
	border-radius: 0 0 3rem 3rem;
	background: #fff;
}
.promise-slide__item__desc span{
	display: block;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
}
.promise-slide__prev,
.promise-slide__next {
	display: block;
	position: absolute;
	left: auto;
	right: auto;
	bottom: auto;
	margin: auto;
	top: 50%;
	transform: translateY(-50%);
	width: calc(40 / 320 * 100%);
	height: auto;
	font-size: 0;
	line-height: 1;
	opacity: 1;
}
.promise-slide__prev {
	left: 0;
}
.promise-slide__next {
	right: 0;
}
.promise-slide__prev:after,
.promise-slide__next:after{
	display: none;
}
.promise-slide__prev img,
.promise-slide__next img{
	width: 100%;
}
@media screen and (min-width: 769px){
	#promise-modal .modal-container {
    overflow: hidden;
	}
}





/*  l-flow
--------------------------------------------------*/
.l-flow{
	position: relative;
	width: 100%;
	padding-top: 5.2rem;
	padding-bottom: 6.0rem;
}
.l-flow:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding-bottom: calc(467 / 320 * 100%);
  margin-top: calc(-15 / 320 * 100%);
	background: url(../img/img_flow_bg1.png) no-repeat top left/cover;
	z-index: -1;
}
.flow-main {
	position: relative;
	margin-top: 4.5rem;
	margin-bottom: 4.5rem;
}
.flow-main:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: 2.5rem;
	width: 27.2rem;
	height: 42.1rem;
	background: url(../img/img_flow_bg2.png) no-repeat top left/cover;
	z-index: -1;
}
.flow-list {
	position: relative;
	width: 100%;
}
.flow-list__item {
	width: 100%;
}
.flow-list__item:nth-of-type(2){
	margin-top: 1rem;
}
.flow-list__item:nth-of-type(3){
	margin-top: 5.0rem;
}
.flow-list__item__figure {
	position: relative;
}
.flow-list__item:nth-of-type(1) .flow-list__item__figure{
	width: calc(270 / 320 * 100%);
	margin-left: auto;
}
.flow-list__item:nth-of-type(2) .flow-list__item__figure{
	width: 100%;
}
.flow-list__item:nth-of-type(3) .flow-list__item__figure{
	width: calc(279 / 320 * 100%);
	margin-left: auto;
}
.flow-list__item__num {
	position: relative;
	width: 5rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;
}
.flow-list__item:nth-of-type(1) .flow-list__item__num{
	margin-top: -6.3rem;
}
.flow-list__item:nth-of-type(2) .flow-list__item__num{
	margin-top: -6.5rem;
}
.flow-list__item:nth-of-type(3) .flow-list__item__num{
	margin-top: -6rem;
}
.flow-list__item__box {
	width: calc(240 / 320 * 100%);
	margin-left: auto;
	margin-right: auto;
}
.flow-list__item__box__ttl {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .1em;
	margin-bottom: 1.5rem;
}
.flow-list__item__box__desc {
	text-align: justify;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
}
.flow-follow {
	position: relative;
	padding: 2.0rem 0 3.2rem;
	width: calc(260 / 320 * 100%);
	margin: 0 auto;
	border: 1px solid #BDCED7;
}
.flow-follow__box {
	position: relative;
	padding-top: 2.6rem;
	width: calc(210 / 260 * 100%);
	margin: 0 auto;
}
.flow-follow__box:before{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	width: 1.6rem;
	height: 1.2rem;
	background: url(../img/icon_flow_follow.svg) no-repeat center center/cover;
}
.flow-follow__ttl {
	color: #3686B2;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	margin-bottom: 1.5rem;
}
.flow-follow__txt {
	text-align: justify;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .08em;
}
.flow-follow__note {
	margin-top: 1.0rem;
	margin-bottom: 1.0rem;
}
.flow-follow__note__item {
	position: relative;
	text-align: justify;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .1em;
	padding-left: 1.3rem;
}
.flow-follow__note__item:before{
	content: '';
	position: absolute;
	left: 0;
	top: .8rem;
  width: .4rem;
  height: .4rem;
	background: #333;
	border-radius: 50%;
}





/*  l-voice
--------------------------------------------------*/
.l-voice{
	position: relative;
	width: 100%;
	padding-top: 5.5rem;
	padding-bottom: 5.0rem;
	background: url(../img/bg_pattern.png) repeat center top/ 100px, linear-gradient(357deg, #CFEAF8 0%, rgba(227, 243, 252, 0.00) 100%);
	overflow: hidden;
}
.voice-slide {
	width: calc(300 / 320 * 100%);
	margin-left: auto;
	margin-top: 4.0rem;
}
.voice-slide__item {
}
.voice-slide__item__txt {
	position: relative;
	width: 100%;
	border-radius: 3rem;
	background: #FFF;
	box-shadow: 0px 5px 10px 0px rgba(54, 133, 178, 0.20);
	padding: 2.5rem 3.0rem;
}
.voice-slide__item__txt:before{
	content: '';
	position: absolute;
	left: 3.0rem;
	bottom: 0;
	transform: translateY(100%);
	width: 2.0rem;
	height: 2.4rem;
	background: url(../img/icon_bubble.svg) no-repeat center top/cover;
}
.voice-slide__item__txt p{
	position: relative;
	color: #BEA369;
	text-align: justify;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .05em;
	z-index: 1;
}
.voice-slide__item__info {
	text-align: center;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2.4rem;
}
.voice-slide__item__info i{
	display: inline-block;
	margin-right: 1.5rem;
}
.voice-slide__item__info .i1{
	width: 4.9rem;
}
.voice-slide__item__info .i2{
	width: 4.2rem;
}
.voice-slide__item__info .i3{
	width: 4.9rem;
}
.voice-slide__item__info .i4{
	width: 3.5rem;
}
.voice-slide__item__info .i5{
	width: 3.9rem;
}





/*  l-salon
--------------------------------------------------*/
.l-salon{
	position: relative;
	width: 100%;
	padding-top: 5.2rem;
	padding-bottom: 6.0rem;
}
.salon-list {
	width: calc(260 / 320 * 100%);
	margin: 4.0rem auto 0;
}
.salon-list__item {
	padding-top: 3.0rem;
	border-top: solid 1px rgba(54, 134, 178, 0.30);
}
.salon-list__item + .salon-list__item{
	margin-top: 3.0rem;
}
.salon-list__item__head {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .1em;
	text-align: left;
	margin-bottom: .2rem;
}
.salon-list__item__head span{
	display: inline-block;
	padding: .4rem .8rem .5rem 1.0rem;
	border-radius: 2.2rem;
	background: #3686B2;
	color: #FFF;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	margin-right: 1.0rem;
	vertical-align: 0.05rem;
}
.salon-list__item__name {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .1em;
	margin-bottom: 1.2rem;
}
.salon-list__item__box {
	width: 100%;
}
.salon-list__item__left {
	width: calc(80 / 260 * 100%);
}
.salon-list__item__right {
	width: calc(170 / 260 * 100%);
}
.salon-list__item__access {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
	margin-bottom: 1.0rem;
}
.salon-list__item__access a{
	position: relative;
	display: block;
	padding-right: 1.8rem;
}
.salon-list__item__access__txt {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .1em;
}
.salon-list__item__access__icon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.7rem;
}
.salon-list__item__tel {
	position: relative;
	color: #3686B2;
	text-align: justify;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1em;
	margin-bottom: 1.4rem;
}
.salon-list__item__tel a{
	position: relative;
	display: block;
	padding-left: 2.0rem;
}
.salon-list__item__tel:before{
	content: '';
	position: absolute;
	left: 0;
	top: 55%;
	transform: translateY(-50%);
	width: 1.6rem;
	padding-bottom: 1.6rem;
	background: url(../img/icon_tel.svg) no-repeat center center/cover;
}
.salon-list__item__info {
	position: relative;
}
.salon-list__item__info a{
	position: relative;
	display: block;
}
.salon-list__item__info__shop {
	width: 8.6rem;
}
.salon-list__item__info__insta {
	width: 1.8rem;
}
@media screen and (min-width: 769px){
	.salon-list__item__box{
		align-items: center;
	}
}




/*  l-recruit
--------------------------------------------------*/
.l-recruit{
	position: relative;
	width: 100%;
	padding-top: 6.0rem;
	padding-bottom: 6.0rem;
	background: url(../img/bg_recruit.jpg) no-repeat center center/cover;
	overflow: hidden;
}
.recruit-box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 33.0rem;
	background: url(../img/bg_recruit_contents.svg) no-repeat center center/cover;
	filter: drop-shadow(0px 5px 10px rgba(54, 133, 178, 0.20));
}
.recruit-cnt {
	width: 100%;
	text-align: center;
}
.recruit-ttl {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: .4rem;
}
.recruit-heading {
	color: #3686B2;
	font-size: 3.4rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .05em;
	margin-bottom: 1.0rem;
}
.recruit-desc {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.46;
	letter-spacing: .1em;
	margin-bottom: 1.5rem;
}
.recruit-desc i{
	color: #3686B2;
}
.recruit-btn {
  width: calc(220 / 320 * 100%);
  margin: 0 auto;
}
@media screen and (min-width: 769px){
	.recruit-box {
		height: 43.0rem;
	}
}



/*  l-recruit
--------------------------------------------------*/
.fixed-btn{
	position: fixed;
	right: 0;
	bottom: 20px;
	width: 45px;
	z-index: 10;
}
@media screen and (min-width: 769px){
	.fixed-btn {
		display: none;
	}
}