/* --- f view --- */

.f_view {
	margin-bottom:90px;
	/* height:950px; */
	height: calc(96vh - 130px);
	overflow:hidden;
	padding-left:80px;
}

.f_view_inner {
	width:100%;
}

.f_logo {
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%);
}

/* --- slider --- */

.slick-list,
.slick-track {
	height:100%;
}

.slider{
    margin:0;
    width: 100%;
	height:100%;
	position:relative;
}
/*
.slider::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:rgba(170,170,170,0.3);
	position:absolute;
	left:0;
	top:0;
	z-index:1;
}
*/
.slider img {
	width:100%;
	height:100%;
	object-fit: cover;
  transform-origin: center top;
  transform: scale(1);
  transition: 5s ease-out;
}
.slider .slick-active img {
  transform: scale(1.2);
}

/* --- slide1枚めをzoomさせるため --- */
.slider li.first-active.slick-active img {
  transform:scale(1);
}

.slick-dots {
	bottom:0;
	margin-bottom:16px;
	box-sizing: border-box;

}

.slick-dots li button:before {
	content:"";
	width:10px;
	height:10px;
	border:1px solid #8AABB8;
	border-radius: 50%;
	box-sizing: border-box;
}

.slick-dots li.slick-active button:before {
	background:#8AABB8;
}

/* --- concept --- */
.media-sp {
	text-align: center;
	margin-bottom: 20px;
	margin-top: 12px;
}

.media {
	text-align: center;
	margin-bottom: 90px;
}

@media screen and (max-width:768px){
	.media {
		display: none;
	}
}

.concept {
	margin-bottom:160px;
}

.concept h2 {
	font-size:4.5rem;
	margin-bottom:1em;
}

.concept p {
	margin-bottom:1em;
	line-height:2.185em;
}

/* --- menu --- */

.menu {
	margin-bottom:180px;
	padding:80px 0 0 0;
	background:linear-gradient(180deg,#E1E7E9 0%,#E1E7E9 70%,#fff 70%,#fff 100%);
}

.menu .h_title {
	margin-bottom:1.2em;
}

.menu .btn_link {
	font-size:3rem;
	margin-bottom:1em;
	padding-top:0.2em;
}

.menu_wrap {
	text-align:center;
}

.menu_wrap a {
	width:48.75%;
}

/* --- voice --- */

.voice {
	margin-bottom:140px;
}

.voice .h_title::after{
	margin:0;
}

.voice_block {
	text-align:center;
	border:2px solid #8AABB8;
	width:32%;
}

.voice_block a{
	width:100%;
	height:100%;
	display:inline-block;
	padding-bottom:10px;
}

.voice_block figure {
	height:20vw;
	max-height:230px;
	margin-bottom:15px;
	overflow:hidden;
}

.voice_block figure img {
	transition:transform .4s;
}

.voice_block:hover {
	opacity:0.8;
}

.voice_block:hover figure img {
	transform:scale(1.1);
}

.voice_txt_box{
	width:90%;
	margin:0 5%;
}

.voice_txt_box .voice_tit{
	width:100%;
	text-align:left;
	font-weight:bold;
    margin-bottom:15px;
	display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    word-break:break-all;
}

.voice_tag_area{
	width:100%;
	display:inline-block;
	text-align:left;
	padding-top:15px;
    border-top:1px solid #f2f4f3;
}

.voice_tag_area p{
	color:#8AABB8;
	font-size:14px;
	margin-right:15px;
	margin-bottom:10px;
	display:inline-block;
	float:left;
}

/* --- blog --- */

.blog {
	margin-bottom:140px;
}

.blog .h_title {
	text-indent:-0.5rem;
}

.blog .h_title::after {
	left:0;
	right:auto;
	margin:0;
}

.blog_link {
	width:32%;
	display:block;
	padding-bottom:0.2em;
	position:relative;
	overflow: hidden;
}

.blog_link figure {
	overflow:hidden;
	width:100%;
	height:21vw;
	max-height:274px;
}

.blog_link:hover figure img {
	transform:scale(1.1);
}


.blog_link .cate {
	position:absolute;
	left:0;
	top:0;
}

.blog_link h2 {
	margin:1em 0;
}

.blog_link figure img {
	transition:transform .4s;
}

/* --- two link --- */

.twolink {
	background: linear-gradient(0deg,#E1E7E9 0%,#E1E7E9 50%,#fff 50%,#fff 100%);
}

.twolink a {
	width:48.75%;
	height:35vw;
	max-height:460px;
	position:relative;
	overflow:hidden;
	display: block;
}

.twolink a::before,
.twolink a::after,
.two_wrap::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}

.twolink a::after {
	background:rgba(157,146,127,0.5);
}

.twolink .staff_link::before {
	background:url(../images/index/bg_twolink_staff.jpg) no-repeat center / cover;
	transition:transform .4s;
}
.twolink .salon_link::before {
	background:url(../images/index/bg_twolink_salon.jpg) no-repeat center / cover;
	transition:transform .4s;
}

.twolink a:hover::before{
	transform:scale(1.1);
}

.two_wrap {
	width:100%;
	height:100%;
	position:relative;
}
.two_wrap::before {
	border:1px solid #fff;
	width:calc(100% - 20px);
	height:calc(100% - 20px);
	z-index:3;
	right:0;
	bottom:0;
	margin:auto;
}

.twolink .h_title {
	position:relative;
	z-index:3;
	margin-bottom:0;
}

/* --- insta --- */

.insta {
	padding:210px 0;
}

.insta .inner {
	max-width:100%;
	padding:0;
}

.insta .btn_link {
	display: block;
	/*width:280px;*/
	/* width: 245px; */
  /* width: 313px; */
	/* width: 270px; */
	width: 370px;
	margin:0 auto;
	font-size:2.3rem;
	margin-bottom: 35px;
}

.insta_wrap {
	margin-top:3.75em;
	height:14.5vw;
	max-height:280px;
}

.insta .detail {
	width: 14.5vw!important;
	height:14.5vw;
	max-width:280px;
	max-height:280px;
	margin-left:60px;
}

.insta .detail img {
	width:100%;
	height:100%;
	object-fit: cover;;
}

/* --- information --- */
.information {
	padding:22vw 70px 150px 70px;
	background:url(../images/index/bg_top_information.jpg) no-repeat top center / contain;
}

.information .inner {
	padding:75px 0 0 0;
}

.shop_info {
	width:100%;
	/* max-width:480px; */
  /* max-width: 490px; */
	/* max-width: 580px; */
	max-width: 450px;
	margin:0 auto 60px;
}

.shop_info > div {
	width:100%;
}

.shop_info > div:not(:last-of-type){
	margin-bottom:2em;
}

.shop_info dt {
	font-size:1.8rem;
	margin-right:1em;
}

.google_map {
	width:100%;
	height:470px;
}

.google_map iframe {
	width: 100%;
	height:100%;
}








/* --- ver sp --- */

@media screen and (max-width:768px){



	.f_view {
		height:140vw;
		padding:0 0 22.5vw 0;
		/*margin-bottom:7.5vw;*/
		margin-bottom:-55.5vw;
	}
	/*.slider {
		height:125vw;
	}*/
	.slider {
		height:71vw;
	}
	.slick-dotted.slick-slider {
		margin-bottom:0;
	}

	.slick-dots {
		display: none!important;
	}

	.f_logo {
		display: none;
	}

	.f_logo_sp {
		/*width:46vw;*/
		width:40vw;
		right:auto;
		left:50%;
		/*top:auto;*/
		bottom:0;
		margin: 0 auto 30px auto;
	}

	.concept {
		margin-bottom:12.5vw;
	}

	.concept h2 {
		font-size:8.25vw;
	}

	.menu {
		padding:10vw 0 0 0;
		margin-bottom:12.5vw;
		background: linear-gradient(180deg,#E1E7E9 0%,#E1E7E9 38%,#fff 38%,#fff 100%);
	}

	.menu .h_title {
		margin-bottom:1.0em;
	}

	.menu_wrap a {
		width:100%;
	}

	.menu_women {
		margin-bottom:6vw;
	}

	.menu .btn_link {
		font-size:5.75vw;
		margin-bottom:0.2em;
		margin-left:16vw;
	}

	/* --- voice_sp --- */

	.voice {
		margin-bottom:8.75vw;
	}

	.voice_block {
		width:100%;
		max-width:100%;
		margin-bottom:5vw;
	}

	.voice_block:last-of-type {
		margin-bottom:0;
	}

	.voice_block figure {
		height:50vw;
		max-height:100%;
	}

	/* --- voice_sp_fin --- */

	.blog {
		margin-bottom:8.75vw;
	}

	.blog_link {
		width:100%;
	}

	.blog_link:not(:last-of-type) {
		margin-bottom:6vw;
	}


	.blog_link figure {
		height:64.25vw;
	}

	.blog_link h2 {
		font-size:3.5vw;
		margin:1em 0 0.5em 0;
	}

	.twolink {
		    background: linear-gradient(0deg,#E1E7E9 0%,#E1E7E9 75%,#fff 75%,#fff 100%);
	}

	.twolink a {
		width:100%;
		height:70.75vw;
		max-height:100%;
	}

	.staff_link {
		margin-bottom:1em;
	}

	.insta {
		padding:11.25vw 0;
	}

	.insta .btn_link {
		/* width:51.25vw; */
    /* width:64.25vw; */
		/* width: 55.25vw; */
		width: 74vw;
		font-size:4.5vw;
		/* margin:0 auto 0 29vw; */
    /* margin:0 auto 0 25vw; */
		/* margin: 0 auto 0 26vw; */
		margin: 0 auto 0 17vw;
		margin-bottom: 35px;
	}

	.insta_wrap {
		height:44vw;
		max-height:100%;
		margin-top:7.5vw;
	}

	.insta .detail {
		width:44vw!important;
		height:44vw;
		margin-left:9.5vw;
	}

	.information {
		padding:36.25vw 5vw 11.25vw 5vw;
		background:url(../images/index/bg_top_information_sp.jpg) no-repeat top center / contain;
	}

	.information .inner {
		padding:12.5vw 0 0 0;
	}

	.shop_info {
		margin:0 auto 6vw auto;
	}

	.shop_info > div:not(:last-of-type) {
		margin-bottom:1.5em;
	}

	.shop_info dt,
	.shop_info dd {
		text-align:center;
		margin:0;
		width:100%;
	}
	.shop_info dt {
		font-size:4vw;
		margin-bottom:0.8em;
	}
	.shop_info dd {
		font-size:3.5vw;
		font-weight:400;
	}

	.google_map {
		height:50vw;
	}


}

@media screen and (min-width:768px){
	.f_logo_sp {
		display: none;
	}
}


/*

.insta_wrap {
    transition: all 500ms;
}
.insta_slider {
 	display: flex;
}
.slider_inner {
 	display: flex;
}
.slider_inner:first-child {
    animation: loop 120s linear infinite;
}
.slider_inner:nth-child(2) {
    animation: loop2 120s -80s linear infinite;
}
.slider_inner:last-child {
    animation: loop3 120s -40s linear infinite;
}
*/
