@charset "utf-8";
/* 文字化け防止 */
/* CSS Document */



	/*IE6 IE7 */
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#eee, endcolorstr=#ffffff));
	/* IE8 IE9 */
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#eee, endcolorstr=#ffffff))";
	zoom: 1;
	background: linear-gradient(to bottom, #eee, #fff);/* IE10+, W3C */

}

.IndexMain{
	width:100%;
	background:#fff;
	margin:0 auto 10%;
}

.IndexDetailArea{
	width:900px;
	margin:auto;

}

#IndexContentTitle{
	color:#222;
	font-size:30px;
	font-weight:300;
	letter-spacing:0.1em;
	padding-bottom:20px;
	padding-top:20px;
	margin:50px auto;
	text-align:center;
	width:100%;
}

#IndexDispArea{
	width:100%;
	text-align:center;
	margin:0 auto;	
}

.IndextopImageSlideArea{
	background-size:cover;
	height:650px;
	width:100%;
	position:relative;

}

.IndextopImageSlideAreaStringWrap {
	height: 100%;
    position: relative;
	margin: 0 auto;
    padding: 0;
    width: 100%;
	cursor: pointer;
}

.IndextopImageSlideAreaString{
    z-index: 10;
    color: #49C7EA;
    letter-spacing: .2em;
    cursor: pointer;
    font-weight: 500;
    text-align: center;
    position: absolute;
	right: 60px;
    top: 60px;
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: inline-block;

}

.HeadingLinkText{
  	text-align:left;
	margin:auto;
	color:#ffffff;
    line-height: 1.8;
}

.HeadingLinkText span{
	font-size:28px;
	background: #49C7EA;
    letter-spacing: .3em;
	padding-top: 10px;
    padding-bottom: 10px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.IndexInformationArea{
	width:100%;
	text-align:left;
	margin:0 auto 8%;

}

.IndexInformationDetailArea{
	width:100%;
	margin:auto;

}
.IndexInformationDetailArea_ul{
	font-size:0;

}

.IndexInformationDetailArea_li{
	margin: 0 auto 10px auto;
    text-align: left;
    line-height: 1;
    display: flex;
    background: #EDF4F8;
    padding: 0 30px;
    border-radius: 100px;
}
.IndexInformationDetailArea a{
	width:100%;
	font-size:15px;
	text-align:left;
	display:block;
	color:#1f1f1f;
	padding:15px 0;

}
.IndexInformationDetailArea a:hover{
	text-decoration:underline;
	color:#1f1f1f;

}

.InformationDate{
	font-size:13px;
	text-align:left;
	display:block;
	margin:auto 0;
	width: 140px;
    min-width: 140px;

}


.IndexLinkArea{
	width:100%;
	text-align:left;

}

.IndexLinkArea a{
    color: #00638E;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    background: #ffffff;
    padding: 10px 20px;
    box-sizing: border-box;
    width: auto;
    border-radius: 100px;
    border: 2px solid #00638E;
	display: inline-block;

}
.IndexLinkArea a:hover{
	text-decoration:none;
	color:#49C7EA;
	border: 2px solid #49C7EA;

}

.IndexScheduleArea{
	width:100%;
	text-align:center;
	margin:0 auto 10%;


}

.IndexHairStyleArea{
	margin: auto;
	text-align: center;
	width: 100%;
}

.IndexNewsArea{
	width:100%;
	text-align:center;
	margin:0 auto 10% auto;
}

.IndexNewsArea .IndexLinkArea{
	text-align: right;
}

.IndexShopArea{
	width:100%;
	text-align:center;
	margin:0 auto 10%;

}

.IndexMassage {
	display:flex;
	width: 900px;
	justify-content: space-between;
	align-items: center;
    margin: 0 auto 10%;
}

.IndexMenu {
	display:flex;
	width: 900px;
	justify-content: space-between;
	align-items: top;
    margin: 0 auto;
}

.TopMassageText{
	width: 470px;
}

.TopMenuText{
	width: 470px;
}

.IndexMassage h3,
.IndexMenu h3 {
	font-size:36px;
	color:#00638E;
	margin-bottom:20px;
	line-height: 1.6;
}

.TopMassageText p,
.TopMenuText p{
	font-size: 16px;
	margin-bottom: 15px;
	line-height: 1.8;
}

.TopMassageText p:last-of-type,
.TopMenuText p:last-of-type{
	margin-bottom: 30px;
}

.TopMassageText p span{
	font-size: 18px;
    font-weight: 600;
    background: linear-gradient(transparent 50%, #FFF6DE 50%);
    display: inline;
}

.TopMassageImg img{
	width: 370px;
}

.TopMenuImg img{
	width: 370px;
}

.IndexMenuKakomi {
	background: #EDF4F8;
	margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
	margin-bottom: 10%;
    padding: 3% 0 8% 0;
}

.IndexPhotoGallery{
	margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
	margin-bottom: 10%;
}

@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
	}
	.scroll-infinity__wrap {
	  display: flex;
	  overflow: hidden;
	}
	.scroll-infinity__list {
	  display: flex;
	  list-style: none;
	  padding: 0
	}
	.scroll-infinity__list--left {
	  animation: infinity-scroll-left 40s infinite linear 0.4s both;
	}
	.scroll-infinity__item {
	  width: calc(100vw / 3);
	}
	.scroll-infinity__item>img {
	  width: 99%;
	}