@charset "utf-8";
/* ---------------------------------------------------------------------------------
Copyright © 2023 CALON Rights Reserved.

HTML CSS Selectors top

$Revision: 1.0 $
--------------------------------------------------------------------------------- */
.view-more {
  width: 900px;
  margin: 40px auto 0;
  font-family: var(--font-ro);
  font-size: 16px;
  line-height: 1;
  text-align: right;
  position: relative;
}
.view-more::after {
  width: 30vw;
  height: 2px;
  background-color: #000;
  position: absolute;
  left: 900px;
  top: 12px;
  content:"";
}
.sec-ttl {
  font-family: var(--font-en);
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  overflow:hidden;
  position: absolute;
  top: 0;
  z-index: 1;
}
.sec-ttl span {
  display: block;
}

.fit-ttl.fixed {
  /*position: fixed!important;*/
}
.fit-ttl span {
  opacity : 0;
  transform: translate(0,50px);
  transition : all 300ms 300ms ease-out;
}
.fit-ttl.fixed span {
  opacity: 1.0;
  transform: translate(0,0px)!important;
}
/*---------------------------------------------------------------------------------
fv
--------------------------------------------------------------------------------- */
.top-fv {
  width: 100%;
  height: 100vh;
  position: relative;
}
.top-fv__video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.top-fv-inner {
  width: 850px;
  position: absolute;
  top: 44%;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 2;
  font-family: var(--font-en);
  color: #fff;
}
.top-fv-ttl {
  font-size: 130px;
  line-height: 0.88;
  font-weight: 700;
  text-align: right;
  opacity: 0.6;
}
.top-fv-ttl span {
  display: block;
}
.top-fv-ttl > span {
  overflow:hidden;
}
.top-fv-ttl > span:nth-of-type(2) {
  width: fit-content;
  padding-bottom: 15px;
  margin-top: 5px;
  margin-left: auto;
}
.top-fv-ttl > span:nth-of-type(2) span {
  border-bottom: 7px solid #fff;
}
.top-fv-read {
  padding-top: 20px;
  font-size: 12px;
  line-height: 2;
  text-align: right;
  transition-delay:1000ms;
}
.fv .top-fv-read {
  opacity: 0.8;
}

/*---------------------------------------------------------------------------------
Concept
--------------------------------------------------------------------------------- */
.concept {
  padding: 140px 0 165px;
  position: relative;
  z-index: 5;
}
.concept-ttl {
  font-family: var(--font-min);
  font-size: 52px;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: 116px;
  right: 0;
  left: 0;
  z-index: 2;
}
.concept-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 910px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.concept__img {
  width: 410px;
  transition-delay:800ms;
}
.concept__img .fade-img-in {
  transition-delay:1000ms;
}
.concept__txt {
  width: 465px;
  padding-top: 65px;
  font-size: 16px;
  line-height: 2.22;
  transition-delay:1100ms;
}
.concept-sub {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  align-content: flex-end;
  width: 505px;
  margin-top: 30px;
  margin-left: auto;
  position: relative;
  right: -50px;
}
.concept-sub__txt {
  width: 195px;
  font-family: var(--font-en);
  font-size: 11px;
  line-height: 1.81;
  font-weight: 500;
  text-align: right;
}
.concept-sub__img {
  width: 300px;
}

.concept-sub .view-more2 {
  width: 410px;
  height: 80px;
  position: absolute;
  top: 28px;
  right: 490px;
}
.concept-sub .view-more2 a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 33px 0 0 20px;
  background-color: #000;
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  position: relative;
}
.concept-sub .view-more2 a::before,
.concept-sub .view-more2 a::after {
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content:"";
}
.concept-sub .view-more2 a::before {
  width: 57px;
  background-color: #fff;
  opacity: 0.6;
  right: 0;
}
.concept-sub .view-more2 a::after {
  width: 42px;
  background-color: #000;
  right: -42px;
}
/*---------------------------------------------------------------------------------
Online Store
--------------------------------------------------------------------------------- */
.store-wrap {
  padding: 56px 0 48px;
  background-color: #f3f3f6;
  margin-bottom: 192px;
  position: relative;
  z-index: 3;
}
.store-wrap::before {
  display: block;
  width: 318px;
  height: 60px;
  background-image: url("../img/store/category_bg.png");
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content:"";
  z-index: 1;
}
.store-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 700px;
  height: 276px;
  padding: 38px 19px 27px 30px;
  background-color: #fff;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.store-inner-in {
  width: 140px;
  font-family: var(--font-en);
}
.store-inner-in__logo {
  width: 44px;
  margin: 0 auto 20px;
}
.store-inner-in__ttl {
  margin-bottom: 5px;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}
.store-inner-in__txt {
  margin-bottom: 8px;
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}
.store-inner-in__icon {
  width: 33px;
  margin: 0 auto 15px;
}
.store-inner-in a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 130px;
  height: 40px;
  border-radius: 20px;
  background-color: #000;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.2em;
  color: #fff;
}
.store-photo {
  display: flex;
  justify-content: space-between;
  width: 474px;
  height: 200px;
}
.store-photo-in {
  width: calc(calc(100% - 33px) / 4);
  height: 100%;
  position: relative;
  overflow:hidden;
  transform: translate(0,0);
  opacity: 1;
}
.store-photo-in::before {
  display: block;
  width: 100%;
  height: 0;
  background-color: #f2f3f4;
  position: absolute;
  top: 0;
  left: 0;
  transition : all 800ms 300ms ease-out;
  content:"";
}
.store-photo-in:nth-of-type(even)::before {
  transition-delay:400ms;
}
.effect-on.store-photo-in::before {
  height: 100%;
}
.store-photo-in__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 2;
  transition : all 800ms 400ms ease-out;
}
.store-photo-in:nth-of-type(even) .store-photo-in__img {
  transition-delay:500ms;
}
.effect-on .store-photo-in__img {
  top: 0;
}

/*---------------------------------------------------------------------------------
Feature
--------------------------------------------------------------------------------- */
.feature {
  height: 100vh;
  background-color: #20201e;
  margin-bottom: 115px;
  color: #fff;
  position: relative;
  z-index: 3;
}
.feature__ttl {
  font-family: var(--font-en);
  font-size: 50px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  text-align: right;
  position: absolute;
  top: 40px;
  right: 0;
  z-index: 3;
}
.feature__ttl span {
  display: block;
  padding-top: 20px;
  font-family: var(--font-go);
  font-size: 28px;
  line-height: 1.43;
  text-align: right;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.feature-wrap {
  height: 100%;
}
.feature-list {
  display: flex;
  flex-wrap: nowrap;
  height: 100%;
  overflow:hidden;
} 
.feature-list li {
  display: flex!important;
  position: relative;
  width: 100%;
  height: 100vh;
}
.feature-list-photo {
  display: flex;
  width: 50%;
  height: 100%;
  background-color: #383838;
}
.feature-list-inner {
  width: 505px;
  padding: 290px 40px 0;
  position: relative;
}


.feature-list-inner__count {
  margin-bottom: 55px;
  font-family: var(--font-en);
  line-height: 1;
  position: relative;
}
.feature-list-inner__count::before {
  width: 134px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 65px;
  left: -123px;
  content:"";
}
.feature-list-inner__count::after {
  width: 82px;
  height: 1px;
  background-color: #fff;
  transform: rotate(-47deg);
  position: absolute;
  bottom: 25px;
  left: 110px;
  content:"";
}
.feature-list-inner__count .current {
  display: inline-block;
  width: 170px;
  font-size: 120px;
  font-weight: 100;
  text-align: center;
}
.feature-list-inner__count .total {
  display: inline-block;
  font-size: 32px;
  font-weight: 300;
  position: relative;
  bottom: -22px;
}
.feature-list-inner__ttl {
  margin-bottom: 12px;
  font-size: 24px;
  line-height: 1.33;
}
.feature-list-inner__txt {
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 1.71;
  display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}

.feature-view-more {
  width: 115px;
  font-family: var(--font-ro);
  font-size: 16px;
  line-height: 1;
  text-align: right;
  margin-left: auto;
  position: absolute;
  right: 0;
  bottom: 30px;
}
.feature-view-more::after {
  width: 30vw;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 118px;
  top: 12px;
  content:"";
}

.slick-next,
.slick-prev {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 100px;
  height: 60px;
  background-color: #000;
  font-family: var(--font-en);
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  position: absolute;
  bottom: 0;
  z-index: 3;
  border: none;
  outline: none;
  cursor: pointer;
}
.slick-prev {
  left: 0;
}
.slick-next {
  right: 50%;
}
.feature-list li:first-child .nav-prev,
.feature-list li:last-child .nav-next {
  display: none;
}

/*---------------------------------------------------------------------------------
JURNAL.
--------------------------------------------------------------------------------- */
.jurnal {
  width: 934px;
  /*padding-bottom: 335px;*/
  padding-bottom: 75vh;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.jurnal .sec-ttl {
  height: 100%;
  height: fit-content;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.jurnal .sec-ttl span {
  width: 934px;
  margin: 0 auto;
}
.jurnal-list {
  position: relative;
  z-index: 2;
}
.jurnal-list li {
  width: 530px;
  margin-bottom: 60px;
}
.jurnal-list li a {
  display: block;
  position: relative;
}
.jurnal-list .fade-img-in {
  width: 100%;
  padding-top: 62.1%;
  position: relative;
}
.jurnal-list .fade-img-in img {
  position: absolute;
  top: 0;
  left: 0;
}
.jurnal-list__category {
  padding: 20px;
  font-family: var(--font-ro);
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  position: absolute;
  bottom: -55px;
}
.jurnal-list__category span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  position: absolute;
  top: 23px;
}
.jurnal-list__txt {
  width: 315px;
  font-size: 12px;
  line-height: 1.66;
  display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
  position: absolute;
  top: 375px;
}
.jurnal-list li:nth-of-type(odd) {
  margin-left: auto;
}
.jurnal-list li:nth-of-type(odd) .jurnal-list__category,
.jurnal-list li:nth-of-type(odd) .jurnal-list__category span,
.jurnal-list li:nth-of-type(odd) .jurnal-list__txt {
  text-align: right;
  right: 0;
}

.jurnal-list li:nth-of-type(even) .jurnal-list__category,
.jurnal-list li:nth-of-type(even) .jurnal-list__category span,
.jurnal-list li:nth-of-type(even) .jurnal-list__txt {
  left: 0;
}

/*---------------------------------------------------------------------------------
STYLE.
--------------------------------------------------------------------------------- */
.style {
  /*padding-bottom: 220px;*/
  padding-top: 75vh;
  padding-bottom: 75vh;
  position: relative;
}
.style .sec-ttl {
  width: fit-content;
  height: fit-content;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto; 
}
.style-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 1010px;
  padding-top: 63px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.style-list li {
  width: 50%;
  padding: 50px 0 80px;
  position: relative;
  z-index: 2;
}
.style-list li a {
  display: block;
}
.style-list li:nth-of-type(1) a,
.style-list li:nth-of-type(4) a{
  width: 420px;
  height: 630px;
  margin: 0 auto;
}
.style-list li:nth-of-type(2) a {
  width: 320px;
  height: 320px;
}
.style-list li:nth-of-type(3) a {
  width: 420px;
  height: 280px;
}
.style-list li:nth-of-type(even) {
  transition-delay: 500ms;
}
.style-list li:nth-of-type(even) .fade-img-in,
.style-list li:nth-of-type(even) .fade-img-in img {
  transition-delay: 700ms;
}

.style-list li:last-child {
  width: 500px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 20px;
  z-index: 1;
}
/*---------------------------------------------------------------------------------
OTONA STYLE.
--------------------------------------------------------------------------------- */
.otona-style {
  padding-top: 75vh;
  padding-bottom: 220px;
  position: relative;
}
.otona-style .sec-ttl {
  width: fit-content;
  height: fit-content;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;  
}
.otona-style-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 1010px;
  padding-top: 63px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.otona-style-list li {
  width: 50%;
  padding: 50px 0 80px;
  position: relative;
  z-index: 2;
}
.otona-style-list li a {
  display: block;
}
.otona-style-list li:nth-of-type(1) a {
  width: 320px;
  height: 320px;
}
.otona-style-list li:nth-of-type(2) a,
.otona-style-list li:nth-of-type(3) a{
  width: 420px;
  height: 630px;
  margin: 0 auto;
}
.otona-style-list li:nth-of-type(4) a {
  width: 420px;
  height: 280px;
  margin-left: auto;
}
.otona-style-list li:nth-of-type(even) {
  transition-delay: 500ms;
}
.otona-style-list li:nth-of-type(even) .fade-img-in,
.otona-style-list li:nth-of-type(even) .fade-img-in img {
  transition-delay: 700ms;
}

.otona-style-list li:last-child {
  width: 500px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}


/*---------------------------------------------------------------------------------
BEFORE AFTER.
--------------------------------------------------------------------------------- */
.bf {
  padding-top: 140px;
  margin-bottom: 230px;
  position: relative;
}
.bf .sec-ttl {
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
}
.bf-list {
  display: flex;
  flex-wrap: wrap;
  width: 930px;
  margin: 0 auto;
  position: relative;
  left: -35px;
  z-index: 2;
}
.bf-list li {
  width: 310px;
  margin: 0 0 30px;
}
.bf-list li a {
  display: block;
  padding: 0 30px;
  overflow:hidden;
}
.style-list__img {
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.bf-list__ttl {
  margin-bottom: 15px;
  padding-left: 30px;
  position: relative;
  font-size: 14px;
  line-height: 1.42;
  display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.bf-list__ttl::before {
  width: 23px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 15px;
  left: 0;
  content:"";
}
.bf-list__txt {
  font-size: 14px;
  line-height: 1.42;
  display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
.bf-list__name {
  padding-top: 10px;
  font-family: var(--font-en);
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
}
.style-list-ba {
  min-height: 124px;
  padding: 48px 102px 20px 0;
  position: relative;
  font-family: var(--font-en);
  font-weight: 600;
  text-align: right;
}
.style-list-ba__ttl {
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1;
}
.style-list-ba__name {
  font-size: 12px;
  line-height: 1.33;
}
.style-list-ba__img {
  width: 100px;
  position: absolute;
  top: -45px;
  right: -17px;
}

/*---------------------------------------------------------------------------------
SALON
--------------------------------------------------------------------------------- */
.salon-wrap {
  padding: 87px 0 115px;
  background-color: #20201e;
  margin-bottom: 310px;
  color: #fff;
  transition : all 300ms 0ms ease-out;
  position: relative;
  z-index: 2;
}
.chengeBG.salon-wrap {
  background-color: #f1f0e5;
  color: #000;
}
.salon-wrap .sec-ttl {
  margin-bottom: 140px;
  color: #fff;
  opacity: 0.8;
  text-align: center;
  position: relative;
}
.chengeBG.salon-wrap .sec-ttl {
  color: #000;
}
.salon-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 1010px;
  margin: 0 auto;
}
.salon-list li {
  width: 412px;
  padding-bottom: 35px;
  position: relative;
}
.salon-list li::before {
  width: 267px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  content:"";
  opacity: 0.25;
}
.salon-list-info::after {
  width: 1px;
  height: calc(100% - 252px);
  background-color: #fff;
  position: absolute;
  top: 230px;
  content:"";
  opacity: 0.25;
}
.chengeBG .salon-list li::before,
.chengeBG .salon-list-info::after {
  background-color: #000;
}
.salon-list-info__name {
  padding: 56px 0 32px;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  position: relative;
}
.salon-list-info__name::before {
  display: block;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  content:"";
}
.salon-list-info-add {
  margin: 0 auto 87px;
  font-family: var(--font-en);
  font-size: 16px;
  line-height: 1;
  position: relative;
}
.salon-list-info-add::before {
  position: absolute;
  background-repeat: no-repeat;
  right: 0;
  left: 0;
  margin: auto;
  content:"";
}
.salon-list-info-add span {
  width: fit-content;
  font-family: var(--font-en);
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  bottom: -40px;
}
.salon-list-info-add em {
  font-size: 24px;
}
.salon-list-info-txt {
  width: 340px;
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 1.42;
}

.salon-list-info__photo {
  width: 380px;
  overflow:hidden;
  position: relative;
}
.salon-list-info__photo .inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  padding: 30px 35px 0;
  background-color: rgba(0,0,0,0.80);
  color: #fff;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  transition : all 200ms 0ms ease-out;
}
.salon-list li:hover .salon-list-info__photo .inner {
  top: 0;
}
.salon-list-info-btn-salon {
  width: 212px;
  margin: 0 auto 15px;
}
.salon-list-info-btn-salon a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 200px;
  height: 80px;
  padding-right: 16px;
  border: 1px solid #fff;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  position: relative;
}
.salon-list-info-btn-salon a::after {
  width: 100px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: -65px;
  bottom: 0;
  margin: auto;
  content:"";
}
.salon-list-info-btn-menu {
  width: 212px;
  margin: 0 auto 15px;
}
.salon-list-info-btn-menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 200px;
  height: 45px;
  border: 1px solid #fff;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  position: relative;
}
.salon-list-info-btn {
  width: 150px;
}
.salon-list-info-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  height: 45px;
  border: 1px solid #fff;
  font-family: var(--font-cormorant);
  line-height: 1;
  content:"";
}
.salon-list-info-btn a.tel {
  font-size: 11px;
}
.salon-list-info-btn a.tel em {
  font-size: 18px;
}
.salon-list-info-btn a.reserve {
  font-size: 14px;
}
.salon-list-info-map {
  width: 100%;
  margin-top: 16px;
}
.salon-list-info-map a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: fit-content;
  margin: 0 auto;
  font-family: var(--font-cormorant);
  font-size: 14px;
  line-height: 1;
  text-decoration: underline;
  color: #fff;
}
.salon-list-info-map a img {
  width: 18px;
  margin-right: 10px;
}

.salon-list .salon-list-info:nth-of-type(1)::before {
  right: -42px;
}
.salon-list .salon-list-info:nth-of-type(1)::after {
  right: 50%;
}
.salon-list .salon-list-info:nth-of-type(1) {
  padding-right: 32px;
  background: url("../img/about/salon01_bg-w-pc.svg") no-repeat right top;
}
.chengeBG .salon-list .salon-list-info:nth-of-type(1) {
  background-image: url("../img/about/salon01_bg-b-pc.svg");
}
.salon-list .salon-list-info:nth-of-type(1)::after {
  right: 0;
}
.salon-list .salon-list-info:nth-of-type(1) .salon-list-info__name {
  margin-left: 10px;
}
.salon-list .salon-list-info:nth-of-type(1) .salon-list-info__name::before {
  width: 62px;
  height: 55px;
  background-image: url("../img/common/logo_calon-white.svg");
  position: absolute;
  top: -33px;
}
.chengeBG .salon-list .salon-list-info:nth-of-type(1) .salon-list-info__name::before {
  background-image: url("../img/common/logo_calon-black.svg");
}
.salon-list .salon-list-info:nth-of-type(1) .salon-list-info-add {
  width: 120px;
  text-align: right;
}
.salon-list .salon-list-info:nth-of-type(1) .salon-list-info-add::before {
  width: 98px;
  height: 50px;
  background-image: url("../img/about/salon01_add-w-pc.svg");
  bottom: -54px;
}
.chengeBG .salon-list .salon-list-info:nth-of-type(1) .salon-list-info-add::before {
  background-image: url("../img/about/salon01_add-b-pc.svg");
}
.salon-list .salon-list-info:nth-of-type(1) .salon-list-info-add span {
  right: -195px;
}
.salon-list .salon-list-info:nth-of-type(1) .salon-list-info-txt {
  margin-left: auto;
}


.salon-list .salon-list-info:nth-of-type(2) {
  padding-left: 32px;
  background: url("../img/about/salon02_bg-w-pc.svg") no-repeat left top;
}
.salon-list .salon-list-info:nth-of-type(2) {
  background-image: url("../img/about/salon02_bg-b-pc.svg");
}
.salon-list .salon-list-info:nth-of-type(2)::before {
  left: -42px;
}
.salon-list .salon-list-info:nth-of-type(2)::after {
  left: 0;
}
.salon-list .salon-list-info:nth-of-type(2) .salon-list-info__name {
 margin-right: 10px;
}
.salon-list .salon-list-info:nth-of-type(2) .salon-list-info__name::before {
  width: 151px;
  height: 41px;
  background-image: url("../img/common/logo_organic-white.svg");
  position: absolute;
  top: -23px;
}
.chengeBG .salon-list .salon-list-info:nth-of-type(2) .salon-list-info__name::before {
  background-image: url("../img/common/logo_organic-black.svg");
}
.salon-list .salon-list-info:nth-of-type(2) .salon-list-info-add {
  width: 60px;
  text-align: left;
}
.salon-list .salon-list-info:nth-of-type(2) .salon-list-info-add::before {
  width: 84px;
  height: 42px;
  background-image: url("../img/about/salon02_add-w-pc.svg");
  bottom: -45px;
  left: -68px;
  right: auto;
}
.chengeBG .salon-list .salon-list-info:nth-of-type(2) .salon-list-info-add::before {
  background-image: url("../img/about/salon02_add-b-pc.svg");
}
.salon-list .salon-list-info:nth-of-type(2) .salon-list-info-add span {
  left: -280px;
}
.salon-list .salon-list-info:nth-of-type(2) .salon-list-info__photo {
  margin-left: auto;
}

/*---------------------------------------------------------------------------------
BLOG.
--------------------------------------------------------------------------------- */
.blog {
  margin-bottom: 250px;
}
.blog .sec-ttl {
  margin-bottom: 40px;
  text-align: center;
  position: relative;
}
.blog-list {
  display: flex;
  flex-wrap: wrap;
  width: 990px;
  margin: 0 auto 52px;
}
.blog-list li {
  width: 310px;
  margin: 0 10px 15px;
}
.blog-list li a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}
.blog-list__thumb {
  width: 100%;
  margin-bottom: 17px;
}
.blog-list__thumb .fade-img-in {
  width: 100%;
  padding-top: 100%;
  position: relative;
}
.blog-list__thumb .fade-img-in img {
  position: absolute;
  top: 0;
  left: 0;
}
.blog-list__date {
  font-family: var(--font-en);
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
}
.blog-list__author {
  font-size: 11px;
  line-height: 1;
  text-decoration: underline;
}
.blog-list__ttl {
  width: 100%;
  padding: 12px 0 0 40px;
  font-size: 14px;
  line-height: 1.57;
  position: relative;
}
.blog-list__ttl::before {
  width: 23px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 12px;
  left: 6px;
  content:"";
}

.blog-list li:nth-of-type(3n+2) {
  transition-delay:500ms;
}
.blog-list li:nth-of-type(3n+2) .fade-img-in {
  transition-delay:700ms;
}
.blog-list li:nth-of-type(3n) {
  transition-delay:700ms;
}
.blog-list li:nth-of-type(3n) .fade-img-in {
  transition-delay:900ms;
}


/*---------------------------------------------------------------------------------
VOICE.
--------------------------------------------------------------------------------- */
.voice {
  margin-bottom: 250px;
}
.voice .sec-ttl {
  margin-bottom: 40px;
  text-align: center;
  position: relative;
}

.voice-list {
  width: 680px;
  padding-bottom: 20px;
  margin: 0 auto;
}
.voice-list li {
  margin-bottom: 68px;
  counter-increment: voice;
  position: relative;
}
.voice-list__number {
  width: 100%;
  padding: 0 0 27px;
  font-family: var(--font-en);
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  position: relative;
}
.voice-list__number::before {
  width: 98px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 9px;
  left: 72px;
  content:"";
}
.voice-list__number::after {
  margin-left: 115px;
  content: counter(voice);
}
.voice-list__name {
  width: 90px;
  height: 42px;
  font-size: 12px;
  line-height: 1.16;
}
.voice-list__rate {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  align-content: flex-end;
  font-family: var(--font-en);
  font-size: 30px;
  line-height: 1;
  font-weight: 600;
  position: absolute;
  top: 28px;
  left: 107px;
}
.voice-list__rate .score {
  margin-right: 12px;
  text-decoration: underline;
}
.voice-list__rate img {
  width: 22px;
  margin-right: 10px;
}
.voice-list__ttl {
  font-size: 24px;
  line-height: 1;
  position: absolute;
  top: 90px;
  left: 0;
}
.voice-list__ttl span {
  display: block;
  width: fit-content;
  padding: 9px 5px;
  border: 1px solid #000;
  position: relative;
}
.voice-list__ttl span:nth-of-type(2){
  top: -1px;
}
.voice-list__ttl span:nth-of-type(3){
  top: -2px;
}
.voice-list-inner {
  margin: 0 0 45px 210px;
}
.voice-list-inner__menu {
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}
.voice-list-inner__txt {
  font-size: 12px;
  line-height: 1.66;
}
.voice-list-staff {
  margin-left: 128px;
}
.voice-list-staff__ttl {
  margin-bottom: 8px;
  font-family: var(--font-en);
  font-size: 24px;
  line-height: 1;
  font-weight: 600;
}
.voice-list-staff-box {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}
.voice-list-staff-box__img {
  width: 75px;
  height: 75px;
  border-radius: 50%;
  overflow:hidden;
  margin-right: 17px;
}
.voice-list-staff-box__name {
  font-family: var(--font-en);
  font-size: 12px;
  line-height: 1;
}
.voice-list-staff-box__name a {
  display: block;
  margin-top: 5px;
  font-size: 18px;
  font-weight: 500;
  text-decoration: underline;
}
.voice-list-staff__comment {
  margin-bottom: 30px;
  font-size: 12px;
  line-height: 1.66;
}
.voice-list-staff__reserve {
  width: 270px;
  margin: 0 auto;
}
.voice-list-staff__reserve a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 100%;
  height: 60px;
  border: 1px solid #000;
  font-size: 18px;
  line-height: 1;
  position: relative;
}
.voice-list-staff__reserve a::before {
  width: 1px;
  height: 40px;
  background-color: #000;
  position: absolute;
  top: -27px;
  right: 0;
  left: 0;
  margin: 0 auto;
  content:"";
}

/*---------------------------------------------------------------------------------
MOVIE.
--------------------------------------------------------------------------------- */
.movie {
  padding: 90px 0 66px;
  margin-bottom: 250px;
  position: relative;
}
.movie .sec-ttl {
  margin-bottom: 80px;
  position: relative;
  text-align: center;
}
.movie-inner {
  width: 822px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.movie-inner .sec-ttl {
  color: #fff;
}
.movie-list {
  display: flex;
  flex-wrap: wrap;
}
.movie-list li {
  width: 250px;
  margin: 0 12px 60px;
}
.movie-list li a {
  display: block;
  color: #fff;
}
.movie-list__thumb {}
.movie-list__ttl {
  padding-top: 10px;
  font-size: 12px;
  line-height: 1.33;
}

.movie__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

/*---------------------------------------------------------------------------------
RECOMMENDED.
--------------------------------------------------------------------------------- */
.recommended {
  width: 930px;
  margin: 0 auto 218px;
}
.recommended .sec-ttl {
  margin-bottom: 80px;
  text-align: center;
  position: relative;
}
.recommended-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding-top: 40px;
}
.recommended-inner {
  width: 240px;
  margin: 0 25px;
}
.recommended-inner a {
  display: block;
}
.recommended-inner__img {}
.recommended-inner__ttl {
  padding: 10px 0;
  font-family: var(--font-en);
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
}
.recommended-inner__txt {
  font-size: 12px;
  line-height: 1.5;
}

.recommended-center {
  width: 350px;
  border-right: 1px solid #ececec;
  border-left: 1px solid #ececec;
}
.recommended-center .recommended-inner {
  width: 300px;
  padding: 12px 0;
}


/*---------------------------------------------------------------------------------
BANNER.
--------------------------------------------------------------------------------- */
/* banner-area */
.banner-area {
  padding-bottom: min(100px, 7.14vw);
  margin-bottom: 215px;
}
.banner-area .top-inner {
  padding: 0 min(100px, 7.14vw);
  max-width: 1400px;
  margin: 0 auto;
}
.banner-area .banner-area__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: min(30px, 2.14vw);
  -moz-column-gap: 2.1%;
       column-gap: 2.1%;
}
.banner-area .banner-area__item {
  width: 31.9333333333%;
}
.banner-area .banner-small .banner-area__item img {
  width: 100%;
  height: min(230px, 16.43vw);
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0px 2px 6px 0 rgba(119, 123, 129, 0.36);
}
.banner-area .banner-large {
  margin-top: min(50px, 3.57vw);
}
.banner-area .banner-area__item.big {
  width: 48.95%;
}