@charset "utf-8";
/* ---------------------------------------------------------------------------------
Copyright 2014.HAIR CATALOG.JP ALL RIGHTS RESERVED.

HTML CSS Selectors top 2021

$Revision: 4.0 $
--------------------------------------------------------------------------------- */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
#contents-wrapper {
	width: 100%;
	min-width: 1400px;
  padding-bottom: 0;
}

/*.new-style-category:last-child {
  display: none;
}*/

/*---------------------------------------------------------------------------------
メインビジュアル & New POST
--------------------------------------------------------------------------------- */
.hero {
  width: 100%;
  margin-bottom: 50px;
}
.hero_img,
.hero_movie {
  width: 100%;
  /* height: 610px; */
}
.hero_img div {
  /* height: 100%; */
}

.sec-new-post {
  padding-bottom: 100px;
}
.sec-new-post-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding-bottom: 40px;

}
.sec-new-post-ttl img {
  width: 90px;
  padding-right: 2px;
  position: relative;
  top: -5px;
}
.sec-new-post-ttl .en {
  font-family: 'Cinzel', serif;
  font-size: 27px;
  line-height: 1;
}
.sec-new-post-ttl .jp {
  display: block;
  width: 100%;
  padding-top: 10px;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
}
.new-post-list li {
  width: 390px!important;
  padding: 0 7px;
}
.new-post-list li a {
  display: block;
}
.new-post-list .img {
  display: block;
  padding-bottom: 14px;
}
.new-post-list .ttl {
  padding-bottom: 5px;
  font-size: 16px;
  font-weight: 500;
}
.new-post-list .desc {
  height: 63px;
  font-size: 14px;
  line-height: 1.5;
  display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}


/*---------------------------------------------------------------------------------
ランキング
--------------------------------------------------------------------------------- */
.ranking-style-list {
  width: 1200px;
  margin: 0 auto;
}
.ranking-style-list li {
  width: 228px!important;
  margin-right: 15px;
  position: relative;
}
.ranking-style-list .item {
	position: relative;
	z-index:1;
}
.ranking-style-list .item a {
	display: block;
	width: 228px;
	height: 184px;
  margin-bottom: 10px;
	overflow:hidden;
}
.ranking-style-list__salon {
  margin-bottom: 8px;
  font-size: 10px;
  line-height: 1;
  font-weight: 500;
  color: #F4A2A1;
}
.ranking-style-list__stylist {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1;
}
.ranking-style-list__desc {
  height: 54px;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1.5;
  display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.ranking-style-list .tag {
  display: flex;
  flex-wrap: wrap;
}
.ranking-style-list .tag a {
  display: block;
  padding: 3px 8px;
  border: 1px solid #F4A2A1;
  margin: 0 5px 5px 0;
  font-size: 10px;
  line-height: 1;
  color: #F4A2A1!important;
  white-space: nowrap;
}
.ranking-style-list li .count {
	width: 32px;
	height: 32px;
	padding-top: 8px;
	position: absolute;
	top: 166px;
	right: -1px;
	z-index: 2;
	font-family:'Lato';
	font-size: 12px;
	line-height: 1;
	color: #666;
	text-align: center;
	border-radius: 16px 16px 0px 0px;
	background-color: #FCFBF9;
	
}
.ranking-style-list li .count .icon {
	font-size: 16px;
	padding-bottom: 2px;
	display: block;
}
.ranking-style-list li .share-box {
  top: 130px;
}
.ranking-style-list li .share-box .icon-sns {
  background-color: #FCFBF9;
}
.ranking-style-list.num .slick-slide {
  counter-increment: rank-num;
}
.ranking-style-list.num li::before {
  box-sizing: border-box;
  width: 42px;
  height: 40px;
  padding-top: 10px;
  background-image: url("../images/top_2021/icon_style_ranking.svg");
  position: absolute;
  top: 3px;  
  left: 3px;
  z-index: 5;
  font-family: 'Cinzel', serif;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  color: #fff;
  content: counter(rank-num);
}

.ranking-style-list .slick-prev,
.ranking-style-list .slick-next {
  width: 60px;
  height: 60px;
  border-radius: 50%;
	position: absolute;
	top: 62px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border: none;
	cursor: pointer;
	font-size: 0;
	line-height: 0;
	background-color:transparent;
  z-index: 10;
}
.ranking-style-list .slick-prev {
  left: -30px;
  background-image: url("../images/top_2021/slide_next.svg");
}
.ranking-style-list .slick-next {
  right: -30px;
  background-image: url("../images/top_2021/slide_prev.svg");
}

.ranking-style-list .slick-prev:focus,
.ranking-style-list .slick-next:focus {
	border: none;
	outline :none;
}
.ranking-style-list .slick-prev.slick-disabled,
.ranking-style-list .slick-next.slick-disabled {
  display: none!important;
}
/*---------------------------------------------------------------------------------
New HAIR STYLE
--------------------------------------------------------------------------------- */
.new-style {
  padding: 80px 0;
  background-color: #FCFBF9;
}
.new-style-ttl {
  padding-bottom: 20px;
  font-size: 16px;
  line-height: 1;
  text-align: center;
}
.new-style-ttl .en {
  display: block;
  padding-bottom: 12px;
  font-family: 'Cinzel', serif;
  font-size: 36px;
  line-height: 1;
  text-align: center;
}
.new-style-ttl img {
  width: 90px;
}

.area-tab {
  display: flex;
  justify-content: center;
  padding-top: 20px;
  border-bottom: 1px solid #C8C8C8;
  margin-bottom: 25px;
  background-color: #FCFBF9;
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  z-index: 10;
}
.area-tab li {
  box-sizing: border-box;
  width: 84px;
  height: 48px;
  padding-top: 17px;
  border: 1px solid #FCFBF9;
  border-bottom-color: #C8C8C8;
  position: relative;
  top: 1px;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #F4A2A1;
  cursor: pointer;
}
.area-tab li.select {
  border: 1px solid #C8C8C8;
  border-bottom-color: #FCFBF9;
  color: #333;
}

.new-style-category {
  padding-bottom: 60px;
  border-bottom: 1px solid #C8C8C8;
  margin-bottom: 20px;
}
.new-style-category:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.new-style-category-ttl {
  padding-bottom: 25px;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  color: #F4A2A1;
  text-align: center;
}
.new-style-category-ttl span {
  display: block;
  padding-top: 5px;
  font-family: 'Noto Serif JP', serif;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  color: #333333;
}

.new-style-category-btn {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  width: 335px;
  height: 70px;
  border: 1px solid #333333;
  margin: 38px auto 0;
  position: relative;
  font-size: 10px;
  line-height: 1;
  font-weight: 500;
}
.new-style-category-btn span {
  display: block;
  padding-bottom: 10px;
  font-size: 18px;
  line-height: 1;
}
.new-style-category-btn::after {
  width: 10px;
  height: 20px;
  background-image: url("../images/top_2021/icon_more_arrow.svg");
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  content:"";
}

.new-style .ranking-style-list .slick-prev,
.new-style .ranking-style-list .slick-next {
  background-color: #FCFBF9;
}

.stylist-ranking {
  display: flex;
  justify-content: center;
}
.stylist-ranking li {
  width: 180px;
  margin: 0 25px;
  line-height: 1;
  font-size: 12px;
  text-align: center;
  counter-increment: staff-count;
}
.stylist-ranking li a {
  display: block;
  position: relative;
}
.stylist-ranking li a::before {
  font-family: 'Cinzel', serif;
  font-size: 32px;
  line-height: 1;
  color: #333;
  position: absolute;
  top: 3px;
  left: 0;
  content: counter(staff-count);
  z-index: 3;
}
.stylist-ranking li .img {
  width: 180px;
  height: 180px;
  padding-bottom: 15px;
}
.stylist-ranking li .img img {
  border-radius: 50%;
  border: 1px solid #C8C8C8;
}
.stylist-ranking li .area {
  padding-bottom: 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  color: #F4A2A1;
}
.stylist-ranking li .brand {
  padding-bottom: 5px;
}
.stylist-ranking li .name {
  font-size: 15px;
}

/*---------------------------------------------------------------------------------
Best HAIR STYLE RANKING
--------------------------------------------------------------------------------- */
.best-style {
  padding: 80px 0 0;
}
.best-style-ttl {
  padding-bottom: 40px;
  font-family: 'Cinzel', serif;
  font-size: 36px;
  line-height: 1;
  text-align: center;
}
.best-style-ttl img {
  display: block;
  width: 94px;
  margin: 0 auto 10px;
}
.best-style-category {
  padding: 20px 0 30px;
  margin-top: 20px;
  position: relative;
  z-index: 2;
}
.best-style-category::before {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content:"";
  opacity: 0;
  transition : all 500ms 0ms ease-out;
}
.best-style-category.hover::before {
  opacity: 1;
}
.best-style-category::after {
  width: 100%;
  height: 1px;
  background-color: #C8C8C8;
  position: absolute;
  top: -10px;
  left: 0;
  content:"";
}
.best-style-category-ttl {
  width: 1200px;
  margin: 0 auto 20px;
  font-family: 'Noto Serif JP', serif;
  font-size: 24px;
  line-height: 1;
  position: relative;
}
.best-style-category-ttl a {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  color: #F4A2A1;
  position: absolute;
  top: 0;
  right: 0;
}
.best-style .ranking-style-list .slick-prev,
.best-style .ranking-style-list .slick-next,
.best-style .ranking-style-list li .share-box .icon-sns,
.best-style .ranking-style-list li .count{
  background-color: #FBE2E2;
  transition : all 500ms 0ms ease-out;
}
.best-style-category.hover .ranking-style-list .slick-prev,
.best-style-category.hover .ranking-style-list .slick-next,
.best-style-category.hover .ranking-style-list li .share-box .icon-sns,
.best-style-category.hover .ranking-style-list li .count{
  background-color: #fff;
}

/*---------------------------------------------------------------------------------
BEAUTY AWAKE
--------------------------------------------------------------------------------- */
.beuty-awake {
  padding: 80px 0;
  background-color: #FCFBF9;
}
.beuty-awake-ttl {
  padding-bottom: 15px;
  line-height: 1;
  text-align: center;
}
.beuty-awake-ttl img {
  width: 150px;
}
.beuty-awake-ttl .jp {
  display: block;
  padding: 10px 0 10px;
  font-size: 12px;
  font-weight: 500;
}
.beuty-awake-ttl .en {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 36px;
}
.beuty-awake-read {
  box-sizing: border-box;
  width: 318px;
  height: 48px;
  padding-top: 10px;
  background: url("../images/top_2021/ba_read-pc.svg") no-repeat center;
  margin: 0 auto 46px;
  font-size: 12px;
  line-height: 1.41;
  text-align: center;  
}

.beuty-awake-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 1200px;
  margin: 0 auto 40px;
}
.beuty-awake-list li {
  width: 288px;
}
.beuty-awake-list li a {
  display: block;
  padding-bottom: 10px;
  background-color: #fff;
  position: relative;
}
.beuty-awake-list .img {
}
.beuty-awake-list .ttl {
  padding: 10px 10px 57px;
  font-size: 14px;
  line-height: 1.3;
}
.beuty-awake-list .name {
  padding: 0 0 18px 90px;
  font-size: 16px;
  line-height: 1;
}
.beuty-awake-list .salon {
  display: block;
  padding-bottom: 10px;
  font-size: 10px;
}
.beuty-awake-list .photo {
  width: 70px;
  height: 70px;
  position: absolute;
  bottom: 20px;
  left: 10px;
}
.beuty-awake-list .photo img {
  border-radius: 50%;
}
.beuty-awake-list .more {
  padding: 0 10px;
  font-size: 10px;
  line-height: 1;
  text-align: right;
  color: #F4A2A1;
}
.btn_ba-more {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  width: 335px;
  height: 127px;
  padding: 20px;
  background-color: #fff;
  border: 1px solid #333333;
  margin: 0 auto;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}
.btn_ba-more .en {
  display: block;
  padding: 10px 0 15px;
  font-family: 'Cinzel', serif;
  font-size: 32px;
}

/*---------------------------------------------------------------------------------
special contents
--------------------------------------------------------------------------------- */
.special-contents {
  padding: 80px 0;
}
.special-contents-ttl {
  padding-bottom: 42px;
  text-align: center;
}
.special-contents-ttl img {
  width: 152px;
  margin: 0 auto;
}
.special-contents-ttl .en {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 36px;
  line-height: 1;
}

.special-contents-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1200px;
  margin: 0 auto;
}
.special-contents-list li {
  width: 288px;
  background-color: #fff;
}
.special-contents-list li a {
  display: block;
  padding-bottom: 20px;
}
.special-contents-list__ttl {
  padding: 12px 10px 10px;
  font-family: 'Noto Serif JP', serif;
  font-size: 16px;
  line-height: 1;
}
.special-contents-list_desc {
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.5;
}

/*---------------------------------------------------------------------------------
COLUMN
--------------------------------------------------------------------------------- */
.column {
  padding: 80px 0;
  background-color: #FCFBF9;
}
.column-ttl {
  padding-bottom: 40px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
}
.column-ttl img {
  width: 153px;
}
.column-ttl .en {
  display: block;
  padding-bottom: 12px;
  font-family: 'Cinzel', serif;
  font-size: 36px;
  line-height: 1;
}

.column-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 1200px;
  margin: 0 auto 40px;
}
.column-list li {
  width: 288px;
  background-color: #fff;
}
.column-list li a {
  box-sizing: border-box;
  display: block;
  height: 100%;
  position: relative;
}
.column-list-in {
  padding: 10px 10px 20px 10px;
  line-height: 1;
  position: relative;
}
.column-list__date {
  font-size: 11px;
  padding-bottom: 5px;
}
.column-list__ttl {
  padding-bottom: 5px;
  font-family: 'Noto Serif JP', serif;
  font-size: 16px;
  overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.column-list__cate {
  padding-bottom: 5px;
  font-size: 12px;
  color: #866533;
}
.column-list__fav {
  box-sizing: border-box;
  display: inline-block;
  height: 20px;
  padding: 4px 10px 0 22px;
  border-radius: 10px;
  border: 1px solid #866533;
  font-size: 10px;
  color: #866533;
  position: relative;
}
.column-list__fav::before {
  width: 11px;
  height: 10px;
  background-image: url("../images/top_2021/icon_heart.svg");
  position: absolute;
  top: 0;
  bottom: 0;
  left: 9px;
  margin: auto;
  content:"";
}
.column-list__name {
  padding: 16px 0 10px 50px;
  font-size: 14px;
}
.column-list__job {
  padding: 0 0 0px 50px;
  font-size: 10px;
}
.column-list__photo {
  width: 40px;
  position: absolute;
  bottom: 10px;
  left: 10px;
}
.column-list__photo img {
  border-radius: 50%;
}
.column-more {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  width: 335px;
  height: 70px;
  border: 1px solid #333;
  margin: 0 auto;
  position: relative;
  font-size: 10px;
  line-height: 1;
}
.column-more .en {
  display: block;
  padding-bottom: 10px;
  font-size: 18px;
}
.column-more::after {
  width: 10px;
  height: 20px;
  background-image: url("../images/top_2021/icon_more_arrow.svg");
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  content:"";
}

/*---------------------------------------------------------------------------------
検索
--------------------------------------------------------------------------------- */
.top-search {
  padding: 80px 0;
}


/*---------------------------------------------------------------------------------
Slider
--------------------------------------------------------------------------------- */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  display: table;
  content: '';
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.slick-slide a {
  outline: none!important;
}
[dir='rtl'] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}