

/*------------------------------------------------------------
	テーマカラー設定
------------------------------------------------------------*/

.theme-pink {
  --theme-bg: #d9848f;
  --theme-text: #fff;
  --theme-label: #f5dde1;
  --slick-arrow: #d9848f;
  --faq-label: #f0dcdf;
  --faq-question: #d9848f;
  --top-button: #d9848f;
}

.theme-green {
  --theme-bg: #4B7B79;
  --theme-text: #fff;
  --theme-label: rgba(238, 237, 152, 0.8);
  --slick-arrow: #244C1B;
  --faq-label: #E8EDE8;
  --faq-question: #4B7B79;
  --top-button: #4B7B79;
}


/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/

#kv-area {
	padding-bottom: 30px;
}

#kv-area video {
	max-width: 100%;
	height: auto;
}


/*------------------------------------------------------------
	ボタン
------------------------------------------------------------*/

.button-box {
	padding: 30px 0 0;
}

.button-box li {
	margin-bottom: 15px;
}

a.btn-line {
	display: block;
	background: #21BA4F;
	width: 330px;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 60px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	margin: 0 auto;
	border-radius: 30px;
	position: relative;
	box-shadow: 0 4px 4px 0 #1E8F40;

}

a.btn-line:after {
	display: block;
	content: '\f105';
	font-family: 'font awesome 6 pro';
	position: absolute;
	color: #fff;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

a.btn-line.reserve {
	background: #EA6A1C;
	box-shadow: 0 4px 4px 0 #C5520C;
}


/*------------------------------------------------------------
	アーティスト
------------------------------------------------------------*/

#artist-area {
	background: url(../img/top/bg_artist_area.jpg) center center / cover no-repeat;
	padding: 40px 0;	
}

#artist-area .artist-area-holder {
	padding: 0 20px;
	margin-bottom: 50px;
}

#artist-area .artist-area-holder:last-of-type {
	margin-bottom: 0;
}

/*見出し*/
#artist-area .artist-hedding {
	text-align: center;
}

#artist-area .artist-hedding p {
	color: #073b10;
	text-align: center;
	line-height: 1;
	letter-spacing: 1px;
	margin-bottom: 10px;
}

#artist-area .artist-hedding h2 {
	font-size: 2.3rem;
	line-height: 1.6;
	letter-spacing: 0.5px;
	color: #333333;
	margin-bottom: 10px;
}

#artist-area .artist-hedding h2 span {
	position: relative;
	z-index: 1;
}

#artist-area .artist-hedding h2 span:before {
	display: inline-block;
	content: '';
	background: #f5dde1;
	width: 100%;
	height: 12px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}


#artist-area .artist-area-holder img {
	margin-bottom: 10px;
}

#artist-area p {
	text-align: justify;
}


/*症例紹介*/ 
.scroll-snap {
	display: flex;
	gap: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scroll-padding: 30px;
}

.scroll-snap .snap-post {
  position: relative;
  justify-content: center;
  align-items: center;
  flex: 0 0 260px;
  padding: 0 0 0 20px;
  scroll-snap-align: start;
}

.scroll-snap .snap-post:last-child {
  flex: 0 0 280px;
  padding: 0 20px 0 20px;
}


/*------------------------------------------------------------
	眉アートメイクとは？
------------------------------------------------------------*/

#artmake-area {
	background: url(../img/top/bg_artmake_area.jpg) center center repeat;
	background-size: 540px 1081px;
	padding: 40px 20px;
}

#artmake-area h2 {
	font-size: 6.2vw;
	text-align: center;
	line-height: 1.6;
	color: #333;
	letter-spacing: 0.5px;
	margin-bottom: 15px;
}

@media only screen and (min-width: 768px) {
	
	#artmake-area h2 {
		font-size: 2.3rem;
	}
	
}

#artmake-area h2 span {
	position: relative;
	z-index: 1;
}

#artmake-area h2 span:before {
	display: inline-block;
	content: '';
	background: #f5dde1;
	width: 100%;
	height: 12px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

#artmake-area .artmake-inner {
	background: #ecdde1;
	padding: 20px 20px 15px;
	margin-bottom: 70px;
	position: relative;
}

#artmake-area .artmake-inner .choose {
	background: url(../img/top/img_choose.svg) center center / contain no-repeat;
	width: 82px;
	height: 36px;
	text-indent: -9999px;
	position: absolute;
	top: -12px;
	left: 5px;
}

#artmake-area .artmake-inner img {
	margin-bottom: 10px;
}

#artmake-area .artmake-inner p {
	font-size: 1.4rem;
	text-align: justify;
	line-height: 1.8;
}

#artmake-area .artmake-inner:after {
	display: block;
	content: '';
    border-right: 180px solid transparent;
    border-top: 50px solid #ecdde1;
    border-left: 44vw solid transparent;
    position: absolute;
    bottom: -50px;
    left: 0;
}

@media only screen and (min-width: 768px) {
	
	#artmake-area .artmake-inner:after {
	    border-left: 156px solid transparent;
	}
	
}



/*こんな悩みを解決！（アイコン）*/
#artmake-area .problem {
	width: 30%;
	margin: 0 5% 15px 0;
}

#artmake-area .problem:nth-child(3n) {
	margin-right: 0;
}

#artmake-area .problem:nth-child(n+4) {
	margin-bottom: 40px;
}

#artmake-area .problem img {
	border-radius: 100px;
}

#artmake-area .problem figcaption {
	font-size: 1.1rem;
	text-align: center;
	line-height: 1.6;
	margin-top: 5px;
}






/*------------------------------------------------------------
	パウダーブロウ・フェザーナノブロウ
------------------------------------------------------------*/

.style-box {
	margin-bottom: 40px;
}

.style-box:last-of-type {
	margin-bottom: 10px;
}

.style-box h3 {
	display: inline-block;
	background: url(../img/top/no_01.png) left center / contain no-repeat;
	background-size: 64px 63px;
	font-size: 2.6rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
	padding-left: 70px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 10px;
}

.style-box + .style-box h3 {
	background-image: url(../img/top/no_02.png);
}

.style-box h3 span {
	font-size: 1.7rem;
}

.style-box h3:after {
	content: '';
	background: url(../img/top/ )
	background: #000;
}


.style-box h4 {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.5px;
	text-align: center;
	margin: 20px 0 5px;
}

/* Memo*/
.style-box .memo-box-frame {
	width: 90%;
	border: 1px solid #000;
	border-top: none;
	padding: 8px;
	position: relative;
	margin: 40px auto 20px;
}

.style-box .memo-box-frame:before,
.style-box .memo-box-frame:after {
	display: block;
	content: '';
	background: #000;
	width: 55px;
	height: 1px;
	position: absolute;
	top: 0;
}

.style-box .memo-box-frame:before {
	left: 0;
}

.style-box .memo-box-frame:after {
	right: 0;
}

.style-box .memo-box {
	background: #fff;
	margin: 0 auto;
	padding: 20px 25px 10px;
	position: relative;
}

.style-box .memo-box:after {
	display: block;
	content: '';
	background: url(../img/top/memo.svg) center center / contain no-repeat;
    width: 48px;
    height: 18px;
    position: absolute;
    top: -30px;
    left: 50px;
}

.style-box .memo-box img {
	max-width: 190px;
	margin: 0 auto;
}

.style-box .memo-box dl dt {
	width: 100%;
	font-size: 1.7rem;
	font-weight: 600;
	text-align: center;
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-49.5%);
}

.style-box .memo-box dl dd {
	font-size: 1.3rem;
	line-height: 1.8;
	margin-top: 10px;
}


.style-box h5 {
	font-size: 6vw;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 10px;
}

.style-box h5 span {
	font-size: 4vw;
}

@media only screen and (min-width: 768px) {
	
	.style-box h5 {
		font-size: 2rem;
	}
	
	.style-box h5 span {
		font-size: 1.4rem;
	}
	
}

.style-box .recommend {
	background: #fff;
	padding: 10px 0 10px 5px;
	box-shadow: 0px 0px 6px #ccc;
}

.style-box .recommend li {
	background: #fff;
	padding: 5px;
	font-size: 1.4rem;
	padding-left: 38px;
	position: relative;
}

.style-box .recommend li:before {
	content: '';
	display: inline-block;
	background: url(../img/top/check_mark.svg) center center / contain no-repeat;
	width: 22px;
	height: 20px;
	position: absolute;
	top: 10px;
	left: 10px;
}


/*------------------------------------------------------------
	料金
------------------------------------------------------------*/

.price-area {
	background: url(../img/top/bg_price.jpg) center top / cover no-repeat;
	padding: 40px 3% 30px;
}

.price-card {
	background: #fff;
	width: 90%;
	margin: 0 auto;
	border: 1px solid #ccc;
	border-radius: 8px;
	padding: 15px 0;
}

.price-card dl dt {
	text-align: center;
}

.price-card dl dt span {
	font-size: 3.1rem;
	font-weight: 600;
	line-height: 1.2;
	position: relative;
	z-index: 1;
}

.price-card dl dt span:before {
	display: inline-block;
	content: '';
	background: var(--theme-label);
	width: 100%;
	height: 12px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.price-card dl dd {
	text-align: center;
}

.price-card img:first-of-type {
	width: 100%;
	margin:5px auto 0;
}



/*------------------------------------------------------------
	HBCが選ばれる6つの理由
------------------------------------------------------------*/

#about-area {
	background: url(../img/top/bg_artmake_area.jpg) center center repeat;
	background-size: 540px 1081px;
	padding: 30px 0 10px;
}

#about-area .about-holder {
	background: url(../img/top/bg_about_text.png) 40px 30px no-repeat;
	background-size: 340px auto;
	margin-bottom: 40px;
}

#about-area .about-holder:nth-of-type(odd) {
	background-position: -10px 30px;
	
}

#about-area .about-ttl {
	width: 237px;
	margin: 0 auto 30px;
}

#about-area .about-ttl-sub {
	height: 74px;
	margin-bottom: 10px;
}

#about-area .about-ttl-sub.ttl-05 {
	height: 58px;
}

#about-area .about-ttl-sub img {
	max-height: 100%;
	margin: 0 auto;
}

#about-area .about-text {
	padding:  0 5%;
	margin: 0 auto 15px;
}

#about-area figure {
	padding: 0 5%;
}

/*５つのポイント*/
.five-point {
	background: #fff;
	width: 100%;
	margin: 0 auto;
	padding: 30px 10px 10px;
	box-shadow: 0px 0px 6px #ccc;
	position: relative;
}

#about-area .five-point {
	width: 90%;
}

.five-point:after {
	display: block;
	content: '';
	background: url(../img/top/img_tape.png) center center / contain no-repeat;
	width: 134px;
	height: 54px;
	position: absolute;
	top: -27px;
	left: 50%;
	transform: translateX(-50%);
}

.five-point img {
	max-width: 280px;
	margin: 0 auto;
}

.five-point ul li {
	padding: 5px;
	font-size: 1.4rem;
	padding-left: 38px;
	position: relative;
}

.five-point ul li:before {
	content: '';
	display: inline-block;
	background: url(../img/top/check_mark.svg) center center / contain no-repeat;
	width: 22px;
	height: 20px;
	position: absolute;
	top: 10px;
	left: 10px;
}


/*------------------------------------------------------------
	施術の流れ
------------------------------------------------------------*/

h2.wide-ttl {
	background: var(--theme-bg);
	color: var(--theme-text);
	width: 100%;
	line-height: 60px;
	text-align: center;
}

#flow-area {
	padding: 20px 5% 40px;
	text-align: center;
}

#flow-area p {
	margin-bottom: 15px;
}

#flow-area p a {
	color: #d9848f;
	text-decoration: underline;
}


/*------------------------------------------------------------
	よくある質問
------------------------------------------------------------*/

#faq-area {
	padding: 35px 5% 40px 8%;
}

#faq-area .faq {
	margin-bottom: 15px;
}

#faq-area .faq:last-child {
	margin-bottom: 0;
}

#faq-area .faq dt {
	background: var(--faq-label);
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
	padding: 15px 20px 15px 25px;
	text-align: justify;
	position: relative;
	cursor: pointer;
}

#faq-area .faq dt:before {
	content: '\f107';
	font-family: 'font awesome 6 pro';
	line-height: 1;
	color: #000;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

#faq-area .faq dt.active:before {
	content: '\f106';
}


#faq-area .faq dt:after {
	content: 'Q';
	background: var(--faq-question);
	width: 30px;
	height: 30px;
	line-height: 28px;
	text-align: center;
	color: #fff;
	border-radius: 40px;
	position: absolute;
	top: 50%;
	left: -15px;
	transform: translateY(-50%);
}


#faq-area .faq dd {
	background: #f2f3f4;
	line-height: 1.8;
	padding: 15px 20px 15px 25px;
	text-align: justify;
}

#faq-area .faq dd.child {
	display: none;
}


/*------------------------------------------------------------
	主宰者メッセージ
------------------------------------------------------------*/

#message-area {
	background: url(../img/top/bg_message.jpg) center center / cover no-repeat;
	padding: 30px 5% 70px;
}

#message-area .message-ttl {
    width: 192px;
    margin: 0 auto 10px;
}

#message-area h3 {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.8;
	text-align: center;
	margin: 20px 0 10px;
}

#message-area dl {
	text-align: right;
	margin-top: 5px;
}

#message-area dl dt {
	font-size: 1.1rem;
	line-height: 1.6;
}

#message-area dl dd {
	font-size: 1.8rem;
	margin-top: 5px;
}

/*------------------------------------------------------------
	サロン紹介
------------------------------------------------------------*/

#salon-info {
	background: url(../img/top/bg_location.png) center top / cover no-repeat;
	position: relative;
	padding-top: 80px;
	margin-top: -70px;
}

#salon-info .salon-ttl {
    width: 285px;
    margin: 0 auto 10px;
}

#salon-info .info-conts-box {
	background: #fff;
	width: 90%;
	margin: 0 auto;
	padding: 5px 20px 30px;
	position: relative;
	top: -30px;
}

#salon-info .info-conts-box h3 {
	font-weight: 600;
	letter-spacing: 0.5px;
	text-align: center;
	margin-top: 15px;
	position: relative;
	z-index: 1;
}

#salon-info .info-conts-box h3:before {
	content: ''; 
	display: block;
	background: #ecdde1;
	width: 100%;
	height: 15px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

#map-canvas {
	margin: 10px 0;
}

.address {
	margin-bottom: 5px;
}

.address dt {
	width: 68px;
	font-size: 1.3rem;
	line-height: 1.8;
}

.address dt span {
	background: #f1f1f1;
	padding: 3px 6px;
}

.address dd {
	width: calc(100% - 68px);
	font-size: 1.3rem;
	padding-left: 10px;
	line-height: 1.8;
}



/*------------------------------------------------------------
	バナー
------------------------------------------------------------*/

/*
#banner-area {
	background: #f2f3f4;
	width: 100%;
	padding: 25px 5vw;
}
*/

.carusel-01 {
	margin: 0 auto;
}

/*
.carusel-01 div {
	padding: 0 5px;
}
*/

.carusel-01 div img {
	max-width: calc(100% - 10px);
	margin: 0 auto;
}



.video-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 900px;
  cursor: pointer;
}
.video-wrap video {
  width: 100%;
  height: auto;
  display: block;
}
.play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.play-btn::before {
  content: "";
  display: block;
  margin-left: 6px;
  border-style: solid;
  border-width: 20px 0 20px 32px;
  border-color: transparent transparent transparent white;
}



/*------------------------------------------------------------
	【LIP】
------------------------------------------------------------*/

/* アカデミー直結*/
.academy-inner {
	background: url(../img/lip/bg_academy.png) center top / cover no-repeat;
	position: relative;
	padding: 40px 30px;
}

.academy-inner:before,
.academy-inner:after {
	display: block;
	content: '';
	border: 1px solid #c7b299;
	position: absolute;
}

.academy-inner:before {
	width: calc(100% - 10px);
	height: calc(100% - 20px);
	top: 10px;
	left: 5px;
}

.academy-inner:after {
	width: calc(100% - 20px);
	height: calc(100% - 30px);
	top: 15px;
	left: 10px;
}

.academy-inner h3 {
	font-size: 4.5vw;
	font-weight: 600;
	line-height: 1.8;
	text-align: center;
	margin-bottom: 10px;
}


@media only screen and (min-width: 768px) {
	
	.academy-inner h3 {
		font-size: 1.7rem;
		font-weight: 600;
		line-height: 1.8;
		text-align: center;
		margin-bottom: 10px;
	}
	
}


.academy-inner h3 span {
	font-weight: 600;
	position: relative;
	z-index: 1;
}

.academy-inner h3 span:before {
	display: inline-block;
	content: '';
	background: #f5dde1;
	width: 100%;
	height: 12px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.academy-inner img {
	margin-bottom: 10px;
}

.academy-inner p {
    text-align: justify;
}


/* リップ複数回必要*/

.lip-flow {
	margin-bottom: 40px;
}

.lip-flow h2 {
	margin-bottom: 10px;
}

.lip-flow figure {
	margin: 20px 0 15px;
}




