@charset "UTF-8";
/* CSS Document */
/*=================================
commonLayout
=================================*/

.fadein{transition: all .5s ease-in-out;}
.delay1{transition-delay: .3s;}
.delay2{transition-delay: .6s;}
.delay3{transition-delay: .9s;}
.delay4{transition-delay: 1.2s;}
.delay5{transition-delay: 1.5s;}
@media only screen and (max-width: 767px) {
	.delay1,.delay2,.delay3,.delay4,.delay5{transition-delay: .3s;}
}
#animation-bgImg{
	width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
	background: linear-gradient(90deg, #ab5249, #ce7a6c, #ca8896, #ae889b,#5f879a);
	background-size: 150% 100%;
	animation: gradient 10s ease infinite;
}
#animation-bgImg::before{
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background: url(../../img/page/top/bg.png)no-repeat;
    background-size: cover;
    mix-blend-mode: screen;
}
/*ie*/
@media all and (-ms-high-contrast: none) {
	#animation-bgImg::before{
		mix-blend-mode: normal;
		opacity: .25;
	}
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}


.bgImg{
	width: calc(100% - 130px);
	height: 100vh;
    filter: blur(40px);
    opacity: 0;
    transition: opacity 1s, filter .45s;
    position: fixed;
    top: 0;
    left: 0;
	z-index: -1;
}
.pageload .bgImg{
	opacity: 1;
    filter: blur(0px);
}
@media only screen and (max-width: 1240px) {
	.bgImg{
		width: 100%;
	}
}

section:not(.kvArea){
	padding: 120px 0;
}
section:nth-of-type(even){
	background: rgba(255,255,255,.65);
}
section:nth-of-type(odd):not(.kvArea){
	background: rgba(255,255,255,.75);
}
@media only screen and (max-width: 1240px) {
	section:not(.kvArea){
		padding: 80px 0;
	}
}

/*contentsWrap*/
.contentsWrap{
	width: calc(100% - 130px);
}
.container{
	max-width: 1170px;
    width: 100%;
	margin: 0 auto;
	position: relative;
}
.row{
	margin: 0 -15px;
}
.container+.container{
	padding-top: 100px;
}
@media only screen and (max-width: 1366px) {
	.container {
		max-width: none;
		padding-right: 4%;
		padding-left: 4%;
	}
}
@media only screen and (max-width: 1240px) {
	.contentsWrap {
		width: 100%;
	}
}
@media only screen and (max-width: 767px) {
	.container {
		padding-right: 6%;
		padding-left: 6%;
	}
	.container+.container {
		padding-top: 60px;
	}
}

/*=================================
textDesign
=================================*/
figcaption{
	position: absolute;
	bottom: 4px;
	right: 4px;
	z-index: 1;
	color: #fff;
}

.pageTitle .title_en{
	font-family: 'Cinzel', serif;
    font-weight: 400;
    color: #fff;
    font-size: 8.2rem;
}
.sectionTitle{
	text-align: center;
}
.sectionTitle .title_en{
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	color: #cc6e64;
	font-size: 1.6rem;
}
.title_jp{
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: -.05em;
	line-height: 1.4;
}

.num{
	position: relative;
	display: inline-block;
	font-family: 'Cinzel', serif;
    font-weight: 500;
    font-size: 5.2rem;
	line-height: 1;
}
.num::before{
	content: "";
    font-size: 1.4rem;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

.sectionTitle .title_en + .title_jp{
	display: block;
	margin-top: 50px;
}
.sectionTitle + p{
	margin-top: 50px;
}
.sectionTitle + p ~ *{
	margin-top: 30px;
}
.sectionTitle ~ *{
	margin-top: 60px;
}

@media only screen and (max-width: 991px) {
	.title_jp{
		font-size: 2.2rem;
	}
}

@media only screen and (max-width: 767px) {
	.title_jp {
		font-size: 2.6rem;
	}
	.sectionTitle .title_en + .title_jp {
		margin-top: 15px;
	}
	.sectionTitle + p{
		margin-top: 30px;
	}
	.sectionTitle + p ~ *{
		margin-top: 15px;
	}
	.sectionTitle ~ *{
		margin-top: 40px;
	}
}


/*=================================
btnDesign
=================================*/
/*.cvWrap*/
.cvWrap.outlink{
	text-align: center;
}
.cvWrap.outlink p{
	margin-top: 15px;
}
.cvWrap ul{
	display: flex;
    justify-content: center;
	margin: 0 -15px;
}
.cvWrap li{
	width: 370px;
	height: 70px;
	margin: 0 15px;
}
.cvWrap li a {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 1.8rem;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 35px;
}
.cvWrap li a > span{
	position: relative;
    padding: 0 35px 0 12px;
}
.cvWrap li a > span::after{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
    z-index: 2;
	transition: all .5s ease;
    font-size: 24px;
    font-family: "Material Icons";
}
.cv_res{
	background: linear-gradient(90deg, #b65d55, #d48479, #be8e9e, #d17f71);
    background-size: 800% 800%;
    animation: btnAnimation 10s ease infinite;
}
.cv_res > span::after{
	content: "edit_calendar";
}
.cv_contact{
	background: linear-gradient(90deg, #be8e9e, #ca8896, #ae889b,#5f879a);
    background-size: 800% 800%;
    animation: btnAnimation 10s ease infinite;
}
.cv_contact > span::after{
	content: "question_answer";
}
.cv_request{
	background: linear-gradient(90deg, #ae889b,#78b2cc);
    background-size: 800% 800%;
    animation: btnAnimation 10s ease infinite;
}
.cv_request > span::after{
	content: "menu_book";
}
.cv_outlink{
	background: #333;
}
.cvWrap li a.cv_outlink > span::after{
	content: "open_in_new";
}
@keyframes btnAnimation{
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

@media only screen and (max-width: 767px) {
	.cvWrap li a {
		font-size: 1.6rem;
	}
	.cvWrap ul {
		flex-flow: column wrap;
		align-content: center;
	}
	.cvWrap li {
		width: calc(100% - 30px);
		margin: 0 15px;
	}
	.cvWrap li+li {
		margin-top: 15px;
	}
	
}
.cvBtn span.text{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
}
.cvBtn span.circle1{
	display: block;
	width: 102%;
	height: 102%;
	border-radius: 100%;
	border: 1px solid rgba(255,255,255,.5);
	animation: rotate 5s linear infinite;
	position: absolute;
    top: 0;
	transition: all .75s;
	z-index: -1;
}
.cvBtn span.circle2{
	display: block;
	width: 105%;
	height: 105%;
	border-radius: 100%;
	border: 1px solid rgba(255,255,255,.55);
	animation: rotate 4s linear infinite forwards;
	position: absolute;
    top: 0;
	transition: all .75s;
	z-index: -1;
}
@keyframes rotate { 
  0% { 
   transform: rotate(0deg) translateY(4%);
  }
  100% {  
	transform: rotate(360deg) translateY(4%);
  }
}
.cvBtn:hover span.circle1{
	animation: stop .5s linear forwards;
	width: 100%;
	height: 100%;
}
.cvBtn:hover span.circle2{
	animation: stop .5s linear forwards;
	width: 100%;
	height: 100%;
}
@keyframes stop{ 
  to {  
	transform: rotate(0deg) translateY(0%);
  }
}
.cvBtn span.animation{
	background: linear-gradient(90deg, rgba(197,96,92,.45), rgba(212,141,129,.25));
    position: absolute;
    border-radius: 100%;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    animation: pulsate 2s ease-out;
    animation-iteration-count: infinite;
    z-index: -2;
	box-shadow: 0px 0px 15px rgba(255,255,255,.65)inset,0px 0px 15px rgba(255,255,255,.35);
}
@keyframes pulsate {
    0%   { transform: scale(1, 1); }
    50%  { opacity: 1; }
    100% { transform: scale(1.25, 1.25); opacity: 0.0; }
}


.cvBtn span.arrow{
	position: absolute;
    top: 50%;
    left: 90%;
    transform: translateY(-50%);
    background: url(../../img/page/top/arrow1.png) no-repeat;
    width: 69px;
    height: 12px;
    display: block;
    background-size: contain;
    transition: all .5s ease;
}
.cvBtn:hover span.arrow{
    left: 100%;
}

.cvBtn.fixed{
	transition: all .5s ease;
	opacity: 0;
	pointer-events: none;
	position: fixed;
    width: 100px;
    height: 100px;
    bottom: 30px;
    right: 15px;
    z-index: 100;
    text-align: center;
    border-radius: 100%;
	font-size: 1.4rem;
    line-height: 1.4;
    color: #fff;
}
.cvBtn.fixed.inview{
	opacity: 1;
	pointer-events: auto;
}
@media only screen and (max-width: 1240px) {
	.cvBtn.fixed {
		background: linear-gradient(90deg, #c5605c, #d48d81);
	}
}

/*=================================
header
=================================*/
header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 30px 4%;
	z-index: 10;
}
header .siteLogo{
	width: 140px;
}

/*contentsNav*/
.contentsNav{
	position: fixed;
	width: 130px;
	height: 100vh;
	top: 0;
	right: 0;
	transition: all .5s;
}
.contentsNav.height_min{
	height: 60vh;
}
.contentsNav ul{
    text-align: center;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.contentsNav li a{
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	color: #fff;
	position: relative;
	display: block;
}
.contentsNav li a::before{
	content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    margin: auto;
    width: 20px;
    height: 1px;
	opacity: 0;
	transition: all .3s;
	background: rgba(255,255,255,75);
}
.contentsNav li a.current::before{
	opacity: 1;
}
.contentsNav li+li{
	margin-top: 60px;
}
/*ie*/
@media all and (-ms-high-contrast: none) {
	.contentsNav li+li{
		margin-top: 40px;
	}
}
@media only screen and (max-width: 1440px) {
	
	.contentsNav li+li {
		margin-top: 45px;
	}
}
@media only screen and (max-width: 1439px), screen and (min-height: 1240px){
    .contentsNav ul {
        padding: 50px 0;
        justify-content: flex-start;
    }
    .contentsNav.height_min{
        top: -30%;
    }
}
@media only screen and (max-width: 1240px) {
	header {
		position: fixed;
		z-index: 100;
		display: flex;
		justify-content: space-between;
		transition: all .5s ease;
		background: none;
		padding: 15px 4%;
	}
	header.active{
	    background: rgba(255,255,255,.75);
		box-shadow: 0px 0px 15px rgba(0,0,0,.25);
	}
		.active .contentsNav li a {
			color: #333;
		}
		.active .contentsNav li a::before,
		.active .contentsNav li a::after{
			border: 1px solid rgba(51,51,51,.45);
		}
	
	.contentsNav {
		position: static;
		width: auto;
		height: auto;
	}
	.contentsNav.height_min{
		height: auto;
	}
	.contentsNav ul {
        padding: 0;
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	.contentsNav li+li {
		margin: 0 0 0 40px;
	}
	.contentsNav li a {
		font-size: 1.6rem;
	}
}
@media only screen and (max-width: 991px) {
	header .siteLogo {
		width: 70px;
	}
	.contentsNav li+li {
		margin: 0 0 0 20px;
	}
}
@media only screen and (max-width: 767px) {
	.contentsNav li a {
		font-size: 1.1rem;
	}
	.contentsNav li+li {
		margin: 0 0 0 10px;
	}
}
@media only screen and (max-width: 320px) {
	header {
		padding: 10px;
	}
	.contentsNav li,
	.contentsNav li+li {
		margin-bottom: 5px;
	}
	.contentsNav li+li {
		margin-left: 4px;
	}
}


/*=================================
footer
=================================*/
h1{
	text-align: center;
    color: #fff;
    padding: 15px;
    font-size: 1.1rem;
    background: #222;
	line-height: 1.4;
	opacity: 0;
}
.pageload h1{
	opacity: 1;
}
footer{
    margin-top: 150px;
    background: #333;
	padding-top: 25px;
}
footer ul{
	display: flex;
    justify-content: center;
    align-items: baseline;
}
footer li{
	margin: 0 30px;
}
footer li a{
	display: block;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
}
footer li figure{
	margin-bottom: 15px;
}
footer li:nth-child(1){
	width: 160px;
}
footer li:nth-child(2){
	width: 250px;
}

.address{
	font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	color: #fff; text-align: center; margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.25);
}
.address p a{color: #fff; text-decoration: underline;}
.address h3{font-size: 16px;}
.address .f_tell{margin: 10px 0 0;}
.address .f_tell a{color: #fff; padding-left: 34px;
    font-size: 25px; font-weight: 600; letter-spacing: 2px;
    background: url(../../img/element/ico_tel_01.png) left center no-repeat;
    background-size: 22px 19px; text-decoration: none;
}

.address2{
	font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	text-align: center;
    color: #fff;
	margin-top: 30px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.25);
}
.address2 strong{
	display: block;
}
.address2 span{
	display: block;
    margin-top: 15px;
    font-size: 1.2rem;
}
.address2 a.questionBtn{color: #ffffff; border-bottom: 1px solid #adadad;}




.copyright{
	text-align: center;
    color: #fff;
    padding:15px;
    font-size: 1rem;
	font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media only screen and (max-width: 767px) {
	footer {
		margin-top: 50px;
	}
	footer ul{
		flex-flow: column nowrap;
		align-items: center;
	}
	footer ul li+li{
		margin-top: 30px;
	}
	footer li:nth-child(1){
		width: 150px;
	}
	footer li:nth-child(2){
		width: 250px;
	}
}

#caption-wrap li { font-size: 11px; font-family: 'Noto Sans JP', sans-serif;}


/* 共通 */
body{font-family: YakuHanMP_Noto, 'Noto Sans JP';}
section:not(.kvArea){padding:  0;}
section:nth-of-type(even),
section:nth-of-type(odd):not(.kvArea){background: none;}
.en_text{font-family: 'Cinzel', serif;}
.inner{max-width: 1200px; width: 100%; margin: 0 auto;}
.anchor,
section.anchor{padding-top: 100px; margin-top: -100px;}
main{display: block;}
main p{font-size: 16px; line-height: 1.6; color: #666;}
.annoText{position: absolute; bottom: 0; right: 0; padding: 2px 5px; color: #fff; background: rgba(0,0,0,0.5);
	font-size: 10px; text-align: right; line-height: 1.2;}

.annotation_area{padding: 50px 0;}
.annotation_area p{font-size: 12px;}

.slick-prev:before,
.slick-next:before{content: "";}

@media screen and (max-width: 1200px){
	.inner{padding: 0 40px;}
}
@media screen and (max-width: 640px){
	.inner{padding: 0 20px;}
	.anchor,
	section.anchor{padding-top: 60px; margin-top: -60px;}
	main p{font-size: 13px;}
}

/* 表示・非表示 */
.pc_only{display: block;}
.pc_tab_only{display: block;}
.tab_only{display: none;}
.sp_tab_only{display: none;}
.sp_only{display: none;}

@media screen and (max-width: 960px){
	.pc_only{display: none;}
	.pc_tab_only{display: block;}
	.tab_only{display: block;}
	.sp_tab_only{display: block;}
	.sp_only{display: none;}
}

@media screen and (max-width: 640px){
	.pc_only{display: none;}
	.pc_tab_only{display: none;}
	.tab_only{display: none;}
	.sp_tab_only{display: block;}
	.sp_only{display: block;}
}

/* 2022.07 */
/*@media screen and (min-width: 641px) {
    .h-menu{display: none;}
}

.h-menu_text a{font-size: 18px; color: #fff; display: block; padding: 10px 0; margin-bottom: 10px;}
.h-menu_text a span{position: relative;}
.h-menu_text.current a span::after{content: ""; width: 100%; height: 1px; background: #fff;
	position: absolute; left: 0; right: 0; bottom: -3px; transition: 0.3s ease-in;}
.h-menu_text.soon a{pointer-events: none; opacity: 0.5;}
.h-menu_text.soon a::after{content: "coming soon"; font-size: 12px; font-weight: normal; letter-spacing: 1px; margin-left: 5px;}

.h-menu_text.newIcon a::after{content: "NEW"; font-size: 12px; font-weight: normal; letter-spacing: 1px; margin-left: 5px; padding:0px 5px 2px;background: #da433e;color: #ffffff; }

.h_nav_pcOnly{background: #cadde8;
	background: -moz-linear-gradient(left,  #cadde8 0%, #f3f9fc 50%, #cadde8 100%);
	background: -webkit-linear-gradient(left,  #cadde8 0%,#f3f9fc 50%,#cadde8 100%);
	background: linear-gradient(to right,  #cadde8 0%,#f3f9fc 50%,#cadde8 100%);
	text-align: center; padding: 10px 15px 20px;}
.h_nav_pcOnly ul{display: flex; flex-wrap: wrap; justify-content: center; max-width: 1200px; margin: 0 auto;}
.h_nav_pcOnly ul li{width: calc(100% / 4);}
.h_nav_pcOnly ul li{position: relative;}
.h_nav_pcOnly ul li a{font-size: 20px; font-weight: 500; letter-spacing: 3px; padding: 5px 15px; color: #666; display: block; border-right: 1px solid #666;}
.h_nav_pcOnly ul li:nth-child(1) a{border-left: 1px solid #666;}
.h_nav_pcOnly ul li a span{position: relative;}
.h_nav_pcOnly ul li.current a span::after{content: ""; display: block;
    width: 100%; height: 3px; background: #a6d2ea;
    position: absolute; bottom: -6px; left: 0;}

.h_nav_pcOnly ul li.newIcon::before{position: absolute;content: "NEW";font-size: 12px;font-weight: normal;letter-spacing: 1px;top: -12px;padding: 2px 5px;background: #da433e;color: #ffffff;left: 0;top: -10px;}

.h_nav_pcOnly ul li.soon a{color: #c5d7e4; pointer-events: none;}
.h_nav_pcOnly ul li.soon a span::before{content: "coming soon"; font-size: 12px; font-weight: normal; letter-spacing: 1px; color: #c5d7e4; position: absolute; bottom: -11px; left: 0; right: 0; margin: auto;}

@media screen and (max-width:960px){
	.h_nav_pcOnly ul li a{font-size: 15px; letter-spacing: 0; padding: 5px;}

}
@media screen and (max-width:640px){
    .h_nav_pcOnly{display: none;}
}*/

main{padding-top: 160px;}
@media screen and (max-width:960px){
    main{padding-top: 140px;}
}
@media screen and (max-width:640px){
	main{padding-top: 130px;}
}

.metaverseBnr{margin-top: 40px; text-align: center;}
.metaverseBnr a{display: inline-block; text-align: center;}
@media screen and (max-width:640px){
	.metaverseBnr{margin-top: 15px;}
}

/* 2023.03 ヘッダー改修 ========================*/
/* ------------------- 
header
------------------- */
header{position: fixed; z-index: 11; background: #fff; width: 100%; padding: 0; display: block;}

.header_inner{height: 90px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 20px 35px; position: relative;}
.h-logoWrap{width: 40%; display: flex; flex-wrap: wrap; align-items: center;}
.h-logoWrap .h-logo{/*max-width: 170px;*/ width: 100%; margin-right: 30px;}
.h-logoWrap .h-o_salon{max-width: 240px; width: 100%;
	font-size: 20px; font-weight: 500; color: #666; line-height: 1;}

.h-menuWrap{width: 60%; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center;}
.h-topLink a{font-size: 18px; line-height: 1.2; position: relative; padding-right: 20px;}
.h-topLink a::after{content: ""; display: block; width: 10px; height: 10px;
	border-top: 1px solid #333; border-right: 1px solid #333; transform: rotate(45deg) translateY(-50%);
	position: absolute; top: 50%; right: 0;}
.h-menu_btn,
.h-menu_btn_normal{background: #e17682; font-size: 24px; font-weight: 500; letter-spacing: 1px; line-height: 1.2;
	color: #fff; padding: 12px 50px; margin-left: 25px; border-radius: 3px; position: relative; overflow: hidden;}
.h-menu_btn::before,
.h-menu_btn_normal::before{content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: #c25a66; transition: all .35s ease-Out; transform: translateX(-100%);}
.h-menu_btn:hover,
.h-menu_btn_normal:hover{cursor: pointer;}
.h-menu_btn:hover::before,
.h-menu_btn_normal:hover::before{transform: translateX(0);}
.h-menu_btn span,
.h-menu_btn_normal span{padding-left: 40px; background: url(../../img/element/icon_calendar.png) no-repeat left center; position: relative; z-index: 2; display: block;}
.h-menu_btn_normal span{color: #ffffff;}

.h-menu_link{pointer-events: none; visibility: hidden; opacity: 0; transition: 0.4s ease-in-out;}
.h-menu_link.show{pointer-events: auto; visibility: visible; opacity: 1;}
.h-menu_link{position: fixed; top: 0; left: 0; width: 100%; height: 100%;
background: rgba(255,255,255,1); z-index: 100;}
.h-menu_btn_close{width: 50px; height: 50px; background: #ccc; position: absolute; top: 10px; right: 10px; transition: 0.2s ease;}
.h-menu_btn_close:hover{opacity: 0.7; cursor: pointer;}
.h-menu_btn_close span:nth-child(1){width: 50px; height: 2px; display: block; background: #000;
	transform: rotate(45deg); transform-origin: left; position: absolute; top: 6px; left: 8px;}
.h-menu_btn_close span:nth-child(2){width: 50px; height: 2px; display: block; background: #000;
	transform: rotate(-45deg); transform-origin: left; position: absolute; bottom: 6px; left: 8px;}

.h-reservation_area{height: 100%; padding: 55px 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.h-reservation_wrap{max-width: 900px; width: 100%; padding: 0 15px; opacity: 0; transform: translateY(50px); transition: 0.4s ease-in-out;}
.h-menu_link.show .h-reservation_wrap{opacity: 1; transform: translateY(0);}
.h-reservation_lead{text-align: center; margin-bottom: 30px;}
.h-reservation_lead h2{font-size: 2vw; font-weight: 400; margin-bottom: 15px;}
.h-reservation_lead p{font-size: 14px;}
.h-reservation_link ul{display: flex; flex-wrap: wrap; justify-content: space-between;}
.h-reservation_link ul li{width: 49%; margin-bottom: 20px; position: relative;}
.h-reservation_link ul li a{display: block; text-align: center; padding: 30px 10px; position: relative; overflow: hidden;}
.h-reservation_link ul li a::after{content: ""; display: block;
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); transition: 0.3s ease-in;}
.h-reservation_link ul li a p{line-height: 1.6; position: relative; z-index: 3; position: relative;}
.h-reservation_link ul li a p::before{content: ""; width: 13px; height: 13px; display: block;
	border-top: 2px solid #4ebcb4; border-right: 2px solid #4ebcb4;
	transform: rotate(45deg) translate(-35%,-38%); position: absolute; right: 14px; top: 50%; z-index: 2;}
.h-reservation_link ul li a p::after{content: ""; width: 30px; height: 30px; border-radius: 50%;
	background: #fff; display: block; position: absolute; top: 50%; right: 3px; transform: translateY(-50%);}
.h-reservation_link ul li a span{display: block; color: #fff;}
.h-reservation_link ul li a span:nth-child(1){font-size: 24px; letter-spacing: 1px;}
.h-reservation_link ul li a span:nth-child(2){font-size: 20px; letter-spacing: 1px;}
.h-reservation_link ul li a .reservation_back{position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: 0.3s ease-in;}
.h-reservation_link ul li:nth-child(1) a .reservation_back{background: url(../../img/element/reservation_img01.jpg) no-repeat center center; background-size: cover;}
.h-reservation_link ul li:nth-child(2) a .reservation_back{background: url(../../img/element/reservation_img02.jpg) no-repeat center center; background-size: cover;}
.h-reservation_link ul li:nth-child(3) a .reservation_back{background: url(../../img/element/reservation_img03.jpg) no-repeat center center; background-size: cover;}
.h-reservation_link ul li:nth-child(4) a .reservation_back{background: url(../../img/element/reservation_img04.jpg) no-repeat center center; background-size: cover;}
.h-reservation_link ul li a:hover:after{opacity: 0.5;}
.h-reservation_link ul li a:hover .reservation_back{transform: scale(1.2);}

.h-reservation_link ul li a p .btnCap{position: absolute;bottom: -23px;right: 3px;font-size: 11px;font-weight: normal;}

.h-reservation_cvBtn_document{text-align: center; margin: 20px 0 0;}
.h-reservation_cvBtn_document a{font-size: 18px; letter-spacing: 1px; display: inline-block;}
.h-reservation_cvBtn_document a::after{content: ""; width: 100%; height: 4px; display: block; background: #4ebcb4; transition: 0.3s ease; margin-top: 5px;}
.h-reservation_cvBtn_document a:hover::after{width: 0;}

footer{margin-top: 0;}

@media screen and (max-width: 1280px){
	.header_inner{padding: 20px 40px;}
}
@media screen and (max-width: 1200px){
	.header_inner{padding: 20px;}
	.h-logoWrap{width: 50%;}
	.h-menuWrap{width: 50%;}
	.h-logoWrap .h-o_salon{display: block; margin-top: 5px;}
}
@media screen and (max-width: 960px){
	.header_inner{padding: 10px 15px;}
	.h-logoWrap .h-logo{/*max-width: 140px;*/ margin-right: 20px;}
	.h-logoWrap .h-o_salon{max-width: 190px;}

	.h-menu_btn,
	.h-menu_btn_normal{font-size: 20px; padding: 10px 20px;}
	.h-menu_btn span,
	.h-menu_btn_normal span{background-size: 20px; padding-left: 30px;}

	.h-reservation_lead h2{font-size: 34px;}
	.h-reservation_cvBtn_document a{font-size: 15px;}
}
@media screen and (max-width: 640px){
	.header_inner{height: 70px; padding: 10px;}
	.h-logoWrap{width:140px;}
	.h-menuWrap{width: calc(100% - 140px);}
	.h-logoWrap .h-logo{max-width: inherit; width: 100%; margin-right:0;}
	.h-logoWrap .h-o_salon{max-width: inherit; width: 100%;}

	.h-topLink a{font-size: 11px; padding-right: 6px;}
	.h-topLink a::after{width: 6px; height: 6px;}
	.h-menu_btn,
	.h-menu_btn_normal{margin-left: 14px; padding: 9px 12px;}
	.h-menu_btn span,
	.h-menu_btn_normal span{font-size: 15px; background-size: 14px;}

	.h-reservation_lead h2{font-size: 20px; font-weight: 500;}
	.h-reservation_lead p{font-size: 12px;}
	.h-reservation_link ul li{margin-bottom: 10px;}
	.h-reservation_link ul li a{padding: 25px 5px;}
	.h-reservation_link ul li a span:nth-child(1){font-size: 20px;}
	.h-reservation_link ul li a span:nth-child(2){font-size: 15px;}
	.h-reservation_link ul li a p::before{width: 8px; height: 8px; right: 8px;}
	.h-reservation_link ul li a p::after{width: 20px; height: 20px; right: 0;}
}


/* ------------------- 
header_gnav
------------------- */
#header_gnav{height: 70px; background: #f6fffe;}
#header_gnav ul{height: 100%; display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto;}
#header_gnav ul li{width: calc(100% / 5); border-left: 2px solid #b2b2b2;}
#header_gnav ul li:nth-child(1){border-left: none;}
#header_gnav ul li a{display: block; text-align: center; padding: 20px 3px;
	font-size: 20px; font-weight: 500; line-height: 1.4; letter-spacing: 1px; color: #4ebcb4;}
#header_gnav ul li a:hover{background: #cde9e6;}
#header_gnav ul li a span{padding-left: 45px; background-size: auto 100%;}
#header_gnav ul li:nth-child(1) a span{background: url(../../img/element/icon_question.png) no-repeat left center; background-size: auto 100%;}
#header_gnav ul li:nth-child(2) a span{background: url(../../img/element/icon_consultation.png) no-repeat left center; background-size: auto 100%;}
#header_gnav ul li:nth-child(3) a span{background: url(../../img/element/icon_seminar.png) no-repeat left center; background-size: auto 100%;}
#header_gnav ul li:nth-child(4) a span{background: url(../../img/element/icon_phone.png) no-repeat left center; background-size: auto 100%;}
#header_gnav ul li:nth-child(5) a span{background: url(../../img/element/icon_bubble.png) no-repeat left center; background-size: auto 100%;}

@media screen and (max-width:1200px){
	#header_gnav ul li a{font-size: 16px; padding: 16px 3px;}
	#header_gnav ul li a span{padding: 2px 0 2px 42px;}
}
@media screen and (max-width:960px){
	#header_gnav{height: 50px;}
	#header_gnav ul li a{font-size: 14px; letter-spacing: 0; padding: 16px 3px;}
	#header_gnav ul li a span{padding: 2px 0 2px 36px;}
}
@media screen and (max-width:640px){
	#header_gnav{height: 60px;}
	#header_gnav ul li{border-left: 1px solid #b2b2b2;}
	#header_gnav ul li a{font-size: 10px; padding: 5px 0;}
	#header_gnav ul li a span{padding: 34px 0 0; display: block;}
	#header_gnav ul li:nth-child(1) a span{background: url(../../img/element/icon_question.png) no-repeat center top; background-size: 35px;}
	#header_gnav ul li:nth-child(2) a span{background: url(../../img/element/icon_consultation.png) no-repeat center top; background-size: 35px;}
	#header_gnav ul li:nth-child(3) a span{background: url(../../img/element/icon_seminar.png) no-repeat center top; background-size: 35px;}
	#header_gnav ul li:nth-child(4) a span{background: url(../../img/element/icon_phone.png) no-repeat center top; background-size: 35px;}
	#header_gnav ul li:nth-child(5) a span{background: url(../../img/element/icon_bubble.png) no-repeat center top; background-size: 35px;}	
}