@charset "utf-8";
@import 'https://fonts.googleapis.com/css?family=Halant';
/* ---------------------------------------------------------------------------------
Copyright 2014.HAIR CATALOG.JP ALL RIGHTS RESERVED.

HTML CSS Selectors brand

$Revision: 2.0 $
--------------------------------------------------------------------------------- */

#contents-wrapper {
	width: 100%;
	min-width: 1400px;
	padding-top: 0;
}


/*---------------------------------------------------------------------------------
一覧
--------------------------------------------------------------------------------- */
#contents-wrapper.list {
	padding-bottom: 165px;
}
/*ブランドヘッダー*/
#brand-header-wrapper {
	width: 100%;
	min-width: 1400px;
	padding-top: 80px;
	padding-bottom: 12px;
	position: relative;
	z-index: 2;
	
}
#brand-header-wrapper h1 {
	font-size: 12px;
	line-height: 1;
	color: #333;
	text-align: center;
	padding-top: 55px;
	padding-bottom: 35px;
}
#brand-header-wrapper h1 .en {
	display: block;
	font-family: 'Cinzel', serif;
	font-size: 26px;
	letter-spacing: 0.12em;
	padding-bottom: 18px;
}
#brand-header-wrapper nav {
	width: 100%;
	min-width: 1400px;
	background-color: #FFD9DA;
	text-align: center;
}
#brand-header-wrapper nav ul {
	width: 1200px;
	/*width: 710px;*/
	border-left: 1px solid #EECFCE;
	border-right: 1px solid #fff;
	margin: 0 auto;
	position: relative;
}
#brand-header-wrapper nav > ul:after {
	content: ""; 
	display: block;
	clear: both;
	height: 0;
}
#brand-header-wrapper nav ul li {
	width: 109px;
	float: left;
	position: relative;
	padding: 4px 0;
}
#brand-header-wrapper nav ul li a {
	display: block;
	padding: 4px 0px;
	font-family: 'Cinzel', serif;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.12em;
	border-left: 1px solid #fff;
	border-right: 1px solid #EECFCE;
	color: #666;
}
#brand-header-wrapper nav ul li a:hover {
	opacity:0.5;
}

#brand-header-wrapper nav ul ul {
	width: 140px;
	border: none;
	position: absolute;
	top: 28px;
	left: 0;
	display: none;
}
#brand-header-wrapper nav ul ul li {
	border-top: 2px solid #fbe2e2;
	background-color: #FFD9DA;
}
#brand-header-wrapper nav ul ul li a {
	border: none;
}


.brand-area {
	width: 100%;
	min-width: 1400px;
	position: relative;
	padding-bottom: 90px;
	background-image: url(../images/brand/area_sep.jpg);
	background-repeat: repeat-x;
	background-position: center bottom;
}
.brand-area:last-child {
	padding-bottom: 0;
	background-image: none;
}
.brand-area h2 {
	padding-top: 60px;
	padding-bottom: 32px;
	font-family: 'Cinzel', serif;
	font-size: 22px;
	line-height: 1;
	letter-spacing: 0.12em;
	color: #333;
	text-align: center;
	background-image: url(../images/brand/line_sep.png);
	background-repeat: repeat-x;
	background-position: center bottom;
}
.brand-area h2 .anchor {
	display: block;
	position: relative;
	top: -160px;
}
.brand-area ul {
	width: 1060px;
	margin: 0 auto;
	padding: 40px 0 0px;
	overflow:hidden;
}
.brand-area ul li {
	width: 470px;
	padding: 0 30px 80px;
	float: left;
	position: relative;
}
.brand-area ul li:nth-of-type(2n+1) {
	clear: left;
}
.brand-area ul li a:hover {
	opacity:0.5;
}

.brand-area ul li .image {
	display: table;
}
.brand-area ul li .image .photo {
	display: table-cell;
	width: 235px;
}
.brand-area ul li .image .logo {
	display: table-cell;
	width: 235px;
	text-align: center;
	vertical-align: middle;
	background-color: #fff;
}

.brand-area ul li span {
	display: block;
}
.brand-area ul li .name {
	padding-top: 20px;
	padding-bottom: 15px;
	font-family: 'Halant', serif;
	font-size: 21px;
	line-height: 1;
	letter-spacing: 0.12em;
}
.brand-area ul li .tel {
	padding-bottom: 10px;
	font-size: 13px;
	line-height: 1;
}
.brand-area ul li .add {
	font-size: 13px;
}
.brand-area ul li .add a {
	display: inline-block;
	padding: 2px 15px 2px 7px;
	padding-left: 7px;
	padding-right: 15px;
	font-size: 9px;
	line-height: 1;
	color: #999;
	text-decoration: underline;
	background-image: url(../images/brand/icon_map_list.png);
	background-repeat: no-repeat;
	background-position: right top;
}
.brand-area ul li .btn {
	position: absolute;
	top: 180px;
	right: 30px;
}

.brand-area .sep {
	width: 100%;
	min-width: 1400px;
	height: 2px;
	background-image: url(../images/brand/line_sep.png);
	background-repeat: repeat-x;
	background-position: center bottom;
}
.brand-area .sep:last-child {
	display: none;
}




/*---------------------------------------------------------------------------------
詳細
--------------------------------------------------------------------------------- */
#brand-visual-area {
	padding-top: 80px;
	width: 100%;
	min-width: 960px;
	border-bottom: 1px solid #808080;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#brand-visual-area #visual-block {
	position: relative;
}
#brand-visual-area  h2 {
	height: 220px;
	width: 200px;
	position: absolute;
	left: 30px;
	top: 50%;
	z-index: 3;
	margin-top: -110px;
}
#brand-visual-area #logo-slider span {
	display: block;	
}
#brand-visual-area #logo-slider img {
	display: block;
	float: left;
	height: 220px;
	width: 200px;
}

#brand-visual-area #visual-slider {
	position: relative;
	z-index: 2;
}
#brand-visual-area #visual-slider img {
	float: left;
	height: auto;
	width: 100%;
}

#brand-visual-area #logo-slider:after,
#brand-visual-area #visual-slider:after {
	content: ""; 
	display: block;
	clear: both;
	height: 0;
}

#contents-wrapper.info {

}

#contents-wrapper.info nav {

}
#contents-wrapper.info nav ul {
  letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
  text-align: center;
}
#contents-wrapper.info nav ul.info {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  border-bottom: 1px solid #CBCBCB;
}
#contents-wrapper.info nav ul li {
	display: block;
  letter-spacing: normal; /* 文字間を通常に戻す */
	color: #666;
	text-align: center;
	cursor: pointer;
}
#contents-wrapper.info nav ul.info li {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 300px;
  height: 66px;
	font-size: 14px;
	line-height: 1;
	font-weight: normal;
  color: #666;
  position: relative;
}
#contents-wrapper.info nav ul.info li:nth-of-type(2)::before,
#contents-wrapper.info nav ul.info li:nth-of-type(2)::after {
  width: 1px;
  height: 32px;
  background-color: #666;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content:"";
}
#contents-wrapper.info nav ul.info li:nth-of-type(2)::before {
  left: 0;
}
#contents-wrapper.info nav ul.info li:nth-of-type(2)::after {
  right: 0;
}
#contents-wrapper.info nav ul.info li.btn-style {
  width: 100%;
  border-top: 1px solid #CBCBCB;
  cursor:	auto;
}
#contents-wrapper.info nav ul.info li a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 300px;
  height: 66px;
  color: #666;
}
#contents-wrapper.info nav ul.info li .icon-arrow {
  display: inline-block;
  margin-left: 20px;
}
#contents-wrapper.info nav ul.info li .icon-arrow::after {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content:"";
}
#contents-wrapper.info nav ul li:hover {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	text-decoration: none;
}
#contents-wrapper.info nav ul.info li.btn-style:hover {
  opacity: 1;
}

#contents-wrapper.info h3 {
  width: 173px;
  padding-top: 50px;
  padding-bottom: 13px;
  border-bottom: 1px solid #333;
  margin: 0 auto 80px;
  font-family: 'Halant', serif;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  color: #333;
}
#contents-wrapper.info h3 img {
  margin-right: 5px;
}
#contents-wrapper.info h3 span {
  display: block;
  padding-top: 5px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}


#brand-info-column {
/*	width: 860px;
	margin-right: auto;
	margin-left: auto;	*/
}
#side-info-column {
	float: left;
	width: 100px;
	padding-left: 60px;
}
#side-info-column li {
	padding: 0px;
	margin-top: 0px;
	padding-bottom: 25px;
}
#side-info-column li a {
	display: block;
	padding-bottom: 15px;
	font-family: 'Cinzel', serif;
	font-size: 13px;
	line-height: 13px;
	font-weight: normal;
	color: #666;
}
#side-info-column li a:hover {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	text-decoration: none;
}
#side-info-column ul li.current a {
	border-bottom: 1px solid #999999;
}


/*MAP*/
#access-block {
  width: 1220px;
  margin: 0 auto;
}
#access-block h3 img {
  margin-top: -5px;
}
#access-block .salon-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  align-content: flex-end;
  flex-wrap: wrap;
  padding-bottom: 80px;
  overflow:hidden;
}
#access-block .salon-wrap .detail {
  width: 510px;
}
#access-block .salon-wrap .map {
  width: 680px;
  position: relative;
  line-height: 1;
}
#access-block .salon-wrap .map iframe {
  width: 100%;
  height: 440px;
}
#access-block .salon-wrap .map p {
  padding-top: 2px;
  text-align: right;
	font-size: 14px;
	line-height: 1;
  color: #333;
  position: absolute;
  right: 0;
  bottom: -18px;
}
#access-block .salon-wrap .map p a {
  color: #333;
  text-decoration: underline;
}

#access-block .detail h4 {
  padding-left: 10px;
  border-left: 3px solid #1F1C1C;
  margin-bottom: 40px;
  font-family: 'Halant', serif;
	font-size: 28px;
	line-height: 1;
	font-weight: normal;
	color: #666;
  letter-spacing: 0.12em;
}
#access-block .detail p {
	font-size: 14px;
	line-height: 2;
	font-weight: normal;
	color: #666;
}
#access-block .detail p.reserve {
  width: 318px;
  padding-top: 24px;
}
#access-block .detail p.site {
  width: 318px;
  padding-top: 10px;
}
#access-block .detail a {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  height: 47px;
  padding-bottom: 3px;
  background-color: #FBF3F2;
  border: 1px solid #1F1C1C;
  position: relative;
  font-size: 14px;
  line-height: 1;
  color: #666;
}
#access-block .detail a:after {
  width: 8px;
  height: 8px;
  margin-left: 10px;
  content: "";
  vertical-align: middle;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 2px;
}



#access-block .detail p.photo {
  padding-top: 30px;
}
#access-block .detail p.photo  img {
  width: 100%;
  height: auto;
}
#access-block a:hover {
  opacity: 0.5;
}

/*MENU*/
#menu-block {
  width: 730px;
  margin: 0 auto;
  padding-bottom: 70px;
}
#menu-block h3 img {
  margin-top: -10px;
}
#contents-wrapper.info nav ul.menu {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding-bottom: 48px;
}
#contents-wrapper.info nav ul.menu li {
  box-sizing: border-box;
  width: 168px;
  height: 33px;
  padding: 7px 0 0;
  position: relative;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
  color: #999;
	cursor: pointer;
  border-left: 1px solid #CBCBCB;
}
#contents-wrapper.info nav ul.menu li.current {
  color: #333;
}
#contents-wrapper.info nav ul.menu li:last-child {
  border-right: 1px solid #A3A3A3;
}

#menu-block .content_wrap3 ul {
  border-top: 1px solid #848484;
}
#menu-block .content_wrap3 li {
  padding: 30px 18px;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #848484;
	font-size: 15px;
	line-height: 1;
  color: #1F1C1C;
  position: relative;
}
#menu-block .content_wrap3 li span.name {
  display: block;
  width: 470px;
  font-size: 18px;
}
#menu-block .content_wrap3 li span.price {
  display: block;
  width: calc(100% - 470px);
  text-align: right;
  font-size: 18px;
}
#menu-block .content_wrap3 li span.desc {
	display: block;
  padding-top: 20px;
  font-size: 13px;
  line-height: 1.5;
}
#menu-block .content_wrap3 li span:empty {
  display: none;
}
#menu-block .content_wrap3 li a {
  display: block;
  width: 168px;
  height: 13px;
  padding: 12px 0px 8px 42px;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  color: #666;
  position: absolute;
  top: 7px;
  right: 0;
}
#menu-block .content_wrap3 li a:before {
  width: 5px;
  height: 5px;
  right: 15px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#menu-block .content_wrap3 li a .icon {
  display: block;
  width: 22px;
  height: 22px;
  padding: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  font-size: 22px;
  line-height: 1;
}
#menu-block .content_wrap3 li a:hover {
  opacity: 0.5;
}
#menu-block .content_wrap3 p {
  padding-top: 46px;
  font-size: 13px;
}
#menu-block .content_wrap3 li a:not([href^="http"]) {
  display: none;
}

/*STYLIST*/
#stylist-block {
  width: 1220px;
  margin: 0 auto;
}
#stylist-block h3 img {
  margin-top: -5px;
}

#tab2 {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  margin-bottom: 115px;
  font-family: 'Halant', serif;
  font-size: 28px;
  line-height: 1;
}
#contents-wrapper.info nav #tab2 li {
  width: auto;
  padding-left: 30px;
  color: #848484;
}
#contents-wrapper.info nav #tab2 li.current {
  color: #1F1C1C;
}
#tab2 li::after {
  color: #1F1C1C;
  content:"/";
  margin-left: 30px;
}
#tab2 li:last-child::after {
  content:"";
}

#stylist-block .stylist-list {
  display: flex;
  flex-wrap: wrap;
}
#stylist-block .stylist-list li {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 50%;
  margin-bottom: 100px;
}
#stylist-block li a:hover {
  opacity: 0.5;
}
#stylist-block .photo {
  width: 330px;
  margin-right: 43px;
}
#stylist-block .photo img {
  width: 100%;
  height: auto;
}
#stylist-block .data {
  width: 160px;
  color: #1F1C1C;
}
#stylist-block .name {
  position: relative;
  margin-bottom: 18px;
  font-size: 18px;
  line-height: 1;
}
#stylist-block .name .en {
  display: block;
  padding-bottom: 5px;
  font-family: 'Halant', serif;
  font-size: 14px;
  line-height: 1;
}
#stylist-block .name a {
  width: 28px;
  position: absolute;
  bottom: 0;
  right: 0;
}
#stylist-block .name a img {
  width: 100%;
  height: auto;
}
#stylist-block .reserve {
  width: 134px;
  margin-bottom: 10px;
}
#stylist-block .for-detail {
  width: 158px;
}
#stylist-block .reserve a,
#stylist-block .for-detail a {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  height: 47px;
  padding-bottom: 3px;
  background-color: #FBF3F2;
  border: 1px solid #1F1C1C;
  position: relative;
  font-size: 14px;
  line-height: 1;
  color: #666;
}
#stylist-block .reserve a::after,
#stylist-block .for-detail a::after {
  width: 8px;
  height: 8px;
  margin-left: 10px;
  content: "";
  vertical-align: middle;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: relative;
  top: 2px;
}
