@charset "utf-8";
/*----------------------------------------------------
	一覧
----------------------------------------------------*/
.salonMap {
	position: relative;
	width: 829px;
	height: 633px;
	background: url("../salon/images/map.png") no-repeat;
}

.salonMap a {
	display: inline-block;
	position: absolute;
	width: 16.88782%;
}

.salonMap .midorigaoka {
    top: 12.5555%;
    left: 55.8%;
}

.salonMap .funabashi {
    top: 40.8%;
    left: 30.1%;
}

.salonMap .minamiguchi {
    top: 54%;
    left: 22.8%;
}

.salonMap .altina {
    top: 74%;
    left: 46.1%;
}

.salonMap .est {
    top: 40.2%;
    left: 66.5%;
}

.salonMap .est_13f {
    top: 40.2%;
    left: 83.5%;
}

.salonMap .aitas {
    top: 33.2%;
    left: 66.5%;
}

.salonMap .aitas_2f {
    top: 33.2%;
    left: 84.1%;
}


.salonMap .nichidai {
    top: 18.9%;
    left: 41.8%;
}



@media screen and (max-width: 640px) {
	.salonMap {
		display: none;
	}
}

@media screen and (min-width: 640px) {
	.salonMap-sp {
		display: block;
	}
}

.map-sp {
	width: 100%;
	height: auto;
}

/*----------------------------------------------------
	詳細
----------------------------------------------------*/
.salonDetail .linkMore {
	text-align: center;
}

.contentsNav ul {
	margin-bottom: 55px;
}

.contentsNav ul li {
	display: inline-block;
	margin-right: 6px;
}

.toggleBody {
	cursor: pointer;
}

.toggleBody.close + .body {
	display: none;
}

.toggleBody.open + .body {
	display: block;
	-webkit-animation: show 0.3s linear 0s;
	animation: show 0.3s linear 0s;
}

#menu:target + .ttl03 .close .toggleBody {
	display: block;
}



.salonVisual {
	text-align: center;
}

@-webkit-keyframes show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.salonDetailNav {
	max-width: 654px;
	margin: 20px auto 58px;
	text-align: center;
}

.salonDetailNav ul {
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 20px 0 4px;
	background: url(../salon/images/bg_nav.png) center bottom no-repeat;
	font-size: 20px;
	text-align: center;
	-ms-flex-pack: justify;
}

@media (max-width: 640px) {
	.salonDetailNav ul {
		padding: 20px 10px 4px;
		font-size: 16px;
	}
}
/* 
* 店舗情報
*/
.salonInfo {
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 10px 0 30px;
	-ms-flex-pack: justify;
}

.salonInfo .desc {
	width: 384px;
}

.salonInfo .desc h3 {
	margin-bottom: 10px;
}

.salonInfo .desc table {
	width: 100%;
	font-size: 14px;
	line-height: 1.78;
}

.salonInfo .desc table th {
	width: 70px;
	padding: 6px 0;
	vertical-align: top;
}

.salonInfo .desc table td {
	padding: 6px 0;
}


.salonInfo .desc .sns {
	width: 384px;
}

.salonInfo .desc .sns h3 {
	display: flex;
    margin-bottom: 2em;
}

.salonInfo .map {
	width: 440px;
}

.salonInfo .map .googlemap {
	position: relative;
	padding: 61.71% 0 0;
}

.salonInfo .map .googlemap > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.salonInfo .map .googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 640px) {
	.salonInfo {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 40px 3.125%;
	}

	.salonInfo .desc {
		width: 100%;
		margin-bottom: 20px;
	}

	.salonInfo .map {
		width: 100%;
	}
	.salonInfo .tel{
	font-size: 150%;		
	}
	
}
/* 
* ななとく
*/
.salonNanatoku {
	padding: 20px 0;
}

.salonNanatoku .body {
	padding: 20px 0;
	text-align: center;
}

@media (max-width: 640px) {
	.salonNanatoku .body {
		padding: 10px 3.125%;
	}
}
/* 
* メニュー
*/
.salonMenu {
	padding: 20px 0;
}

.salonMenu .body {
	padding: 20px 0;
}

.salonMenu div.menu_left {
	width: 384px;
	float: left;
}

.salonMenu div.menu_right {
	width: 384px;
	float: right;
}

.salonMenu div.menu_right div.ex p:first-child {
	margin-bottom: 16px;
}

.salonMenu .menus {
	margin-bottom: 40px;
}

.salonMenu .menus h3 {
	margin: 68px 0 20px;
}

.salonMenu .menus h3:first-child {
	margin-top: 0;
}

.salonMenu .menus p.ex {
	padding: 0 0 0 2em;
	font-size: 13px;
	text-indent: -1em;
}

.salonMenu .menus ul {
	margin-bottom: 34px;
	font-size: 14px;
	line-height: 1.7;
}

.salonMenu .menus ul li {
	clear: both;
}

.salonMenu .menus ul li span.title {
	display: inline-block;
}

.salonMenu .menus ul li span.price {
	display: inline-block;
	float: right;
	text-align: right;
}

.salonMenu .menus ul li span.desc {
	display: block;
	min-height: 18px;
	margin-bottom: 4px;
	padding: 0 0 0 1em;
	font-size: 12px;
}

.salonMenu .menus ul li span.keta {
	display: inline-block;
	width: 3em;
}

@media (max-width: 640px) {
	.salonMenu .body {
		padding: 10px 0;
	}

	.salonMenu div.menu_left {
		width: 100%;
		float: none;
	}

	.salonMenu div.menu_right {
		width: 100%;
		float: none;
	}

	.salonMenu .body {
		padding: 0 3.125%;
	}

	.salonMenu .menus h3 {
		margin: 7% 0 3.6%;
	}

	.salonMenu .menus p.ex {
		font-size: 10px;
	}

	.salonMenu .menus ul {
		font-size: 10px;
	}

	.salonMenu .menus ul li span.keta {
		width: auto;
	}
}
/* 
* スタッフ
*/
.salonStaff {
	padding: 20px 0;
}

.salonStaff .body {
	padding: 20px 0;
}

.salonStaff h3 {
	margin-bottom: 50px;
}

.salonStaff ul {
	margin-bottom: 20px;
    display:flex;flex-wrap:wrap;justify-content: space-around;
}

.salonStaff ul li {
	position: relative;
	width: 184px;
	margin: 0 0 48px 28px;
	float: left;
}

.salonStaff ul li:nth-child(4n+1) {
	margin-left: 0;
	clear: both;
}

.salonStaff ul li > a {
	display: block;
	margin-bottom: 8px;
	/*padding: 6% 9.3% 6%;
	background: url("../images/staff/bg_staffs.png") center 0 no-repeat;
	background-size: contain;*/
}

.salonStaff ul li .pic {
	padding: 143% 0 0 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.salonStaff ul li .job {
	display: block;
	font-size: 12px;
	text-align: center;
}

.salonStaff ul li .name {
	display: block;
	font-size: 16px;
	text-align: center;
}

.salonStaff ul li .name_en {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	text-align: center;
}

.salonStaff ul li > .reserve {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	text-align: center;
}

.salonStaff ul li > .reserve img {
	max-height: 28px;
}

.salonStaff ul li .link {
	display: block;
	text-align: center;
}

.salonStaff ul li .link .blog {
	display: inline-block;
	width: 20px;
	margin-right: 12px;
}

.salonStaff ul li .link .free_list {
	display: inline-block;
	width: 20px;
	margin-right: 12px;
}

.salonStaff ul li .link .reserve {
	display: inline-block;
	width: 98px;
}

.salonStaff ul li .more {
	display: none;
}

@media (max-width: 640px) {
	.salonStaff .body {
		padding: 10px 0;
	}

	.salonStaff ul {
		box-sizing: content-box;
	}

	.salonStaff ul li {
		width: 45%;
		margin: 0 2.5% 7%;
	}

	.salonStaff ul li:nth-child(2n+1) {
		clear: both;
	}
}
/* 
* ブログ
*/
.salonBlog {
	padding: 20px 0;
}

.salonBlog .body {
	padding: 20px 0;
}

.salonBlog h3 {
	margin-bottom: 50px;
}

.salonBlog .entries {
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-ms-flex-pack: distribute;
}

.salonBlog .entry {
	width: 170px;
	margin-bottom: 40px;
}

.salonBlog .entry.empty {
	height: 0;
	overflow: hidden;
}

.salonBlog .entry > span {
	display: block;
}

.salonBlog .entry .pic {
	margin-bottom: 24px;
	text-align: center;
}

.salonBlog .entry .pic img {
	max-width: 150px;
}

.salonBlog .entry h4 {
	margin-bottom: 10px;
	font-size: 17px;
	text-align: center;
}

.salonBlog .entry .link {
	text-align: center;
}

.salonBlog .entry .link a {
	display: inline-block;
	width: 120px;
	height: 25px;
	padding: 2px 0.5em;
	border: #9fa0a0 1px solid;
	font-size: 14px;
}

@media (max-width: 640px) {
	.salonBlog .body {
		padding: 10px 0;
	}

	.salonBlog .entries {
		padding: 0 3.125%;
	}

	.salonBlog .entry {
		width: 45%;
		margin-bottom: 40px;
	}

	.salonBlog .entry h4 {
		font-size: 14px;
	}

	.salonBlog .entry .link a {
		width: 80%;
	}
}

/*----- info -----*/
.saloninfo {
	padding: 20px 0;
}

.saloninfo .body {
	padding: 20px 0;
}

.saloninfo h3,.salonMenu h3 {
	margin-bottom: 50px;
}

.saloninfo .entries {
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-ms-flex-pack: distribute;
}

.saloninfo .entry {
	width: 170px;
	margin-bottom: 40px;
}

.saloninfo .entry.empty {
	height: 0;
	overflow: hidden;
}

.saloninfo .entry > span {
	display: block;
}

.saloninfo .entry .pic {
	margin-bottom: 24px;
	text-align: center;
}

.saloninfo .entry .pic img {
	max-width: 150px;
}

.saloninfo .entry h4 {
	margin-bottom: 10px;
	font-size: 17px;
	text-align: center;
}

.saloninfo .entry .link {
	text-align: center;
}

.saloninfo .entry .link a {
	display: inline-block;
	width: 120px;
	height: 25px;
	padding: 2px 0.5em;
	border: #9fa0a0 1px solid;
	font-size: 14px;
}

@media (max-width: 640px) {
	.saloninfo .body {
		padding: 10px 0;
	}

	.saloninfo .entries {
		padding: 0 3.125%;
	}

	.saloninfo .entry {
		width: 45%;
		margin-bottom: 40px;
	}

	.saloninfo .entry h4 {
		font-size: 14px;
	}

	.saloninfo .entry .link a {
		width: 80%;
	}
}
/*----------------------------------------------------
	xxxxxx
----------------------------------------------------*/
#content {
	padding: 0 0 0 32px;
}

#content .ttl {
	margin-bottom: 12px;
}

#content .shops .shop {
	margin-bottom: 76px;
	padding: 0 0 64px 0;
	background: url("../images/line.png") center bottom no-repeat;
}

#content .shops .shop .meta > span {
	display: inline-block;
	margin-bottom: 12px;
}

#content .shops .shop .meta .tel {
	float: right;
}

#content .shops .shop .pic_map {
	padding: 0 0 24px;
}

#content .shops .shop .pic_map .picture {
	width: 376px;
	float: left;
}

#content .shops .shop .pic_map .picture li {
	float: left;
}

#content .shops .shop .pic_map .picture li:nth-child(1) {
	margin-bottom: 10px;
}

#content .shops .shop .pic_map .picture li:nth-child(2) {
	margin-right: 8px;
}

#content .shops .shop .pic_map .map {
	width: 450px;
	height: 278px;
	float: right;
}

#content .shops .shop .detail {
	display: table;
	width: 100%;
}

#content .shops .shop .detail > div {
	display: table-cell;
	vertical-align: middle;
}

#content .shops .shop .detail .address {
	width: 284px;
}

#content .shops .shop .detail .info {
	width: 248px;
}

#content .shops .shop .detail .contact {
	vertical-align: bottom;
}

#content .shops .shop .detail .contact ul li {
	float: right;
}

#content .shops .shop:last-child {
	background: none;
}

@media (max-width: 640px) {
	#content {
		padding: 0 0 0 0;
	}

	#content .ttl {
		margin-bottom: 12px;
	}

	.sp_shops .sp_shop {
		margin-bottom: 3.4%;
		padding: 0 3.125% 10%;
		background: url("../images/line.png") center bottom no-repeat;
	}

	.sp_shops .sp_shop:last-child {
		background: none;
	}

	.sp_shops .meta span.name {
		display: block;
		margin-bottom: 12px;
		font-size: 15px;
	}

	.sp_shops .meta span.tel {
		display: block;
		margin-bottom: 12px;
		padding: 0 12.6%;
	}

	.sp_shops .pic_map {
		padding: 0 12.6%;
	}

	.sp_shops .picture {
		margin-bottom: 4px;
	}

	.sp_shops .map {
		width: 100%;
		height: 280px;
		margin-bottom: 12px;
		padding: 0 12.6%;
	}

	.sp_shops .detail {
		padding: 0 12.6%;
		font-size: 10px;
	}

	.sp_shops .detail .address {
		margin-bottom: 12px;
	}

	.sp_shops .detail .info {
		margin-bottom: 12px;
	}

	.sp_shops .detail .contact ul {
		display: table;
		width: 100%;
		table-layout: fixed;
	}

	.sp_shops .detail .contact ul li {
		display: table-cell;
	}
}

.shop_photo .meta span.tel {
	padding: 0;
}

#slide {
	width: 832px;
	height: 732px;
	background: url("../salon/images/bg_photo.png") 0 0 no-repeat;
}

#slide .inner {
	width: 698px;
	margin: 0 auto;
	padding: 60px 0 0;
}

#slide .caption {
	padding: 8px 0 16px;
}

#slide .main {
	width: 100%;
	height: 478px;
}

#slide .thumb li {
	margin-left: 17px;
	float: left;
}

#slide .thumb li:first-child {
	margin-left: 0;
}

#sp_slide {
	width: 100%;
}

#sp_slide .main {
	width: 100%;
	margin-bottom: 16px;
}

#sp_slide .thumb {
	position: relative;
}

#sp_slide .thumb li {
	padding: 0 8px;
	box-sizing: content-box;
}

#sp_slide .thumb .bt_prev {
	display: block;
	position: absolute;
	top: 50%;
	left: -6px;
	margin-top: -8px;
}

#sp_slide .thumb .bt_next {
	display: block;
	position: absolute;
	top: 50%;
	right: -6px;
	margin-top: -8px;
}
