@charset "UTF-8";


/* clearfix
------------------------------------------------------------------------------*/
#contents .image-wrapper::after,
#contents .swiper-wrapper::after,
#contents #design-photo .article-wrapper::after {
  content:'';
  display:block;
  clear:both;
}

/*
==================================================
#contents
==================================================
*/
#contents .salon-info {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
#contents .txt {
  margin-bottom: 25px;
  line-height: 1.75;
}
#contents .txt:last-child {
  margin-bottom: 0;
}
#contents .image-wrapper {
  margin-bottom: 60px;
}
#contents .image-wrapper .image {
  overflow: hidden;
  position: relative;
  float: left;
  max-width: 448px;
  width: 44.8%;
  height: 280px;
  background-color: #f4f4f4;
  text-align: center;
}
#contents .image-wrapper .image img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
}
#contents .image-wrapper .txt-wrapper {
  float: right;
  width: calc(100% - 48.8%);
}
#contents .image-wrapper .txt-wrapper .cap {
  margin-bottom: 10px;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
}
#contents .btn-wrapper:last-of-type {
  text-align: center;
}
#contents .btn-wrapper:last-of-type .btn {
  width: calc((100% - 3%) / 2);
  max-width: 320px;
  margin-right: 1.5%;
  text-align: center;
  font-weight: bold;
}
#contents .image-wrapper .btn-wrapper .btn {
  width: calc((100% - 3%) / 2);
  max-width: 240px;
  margin-right: 1.5%;
  text-align: center;
  font-weight: bold;
}
#contents .btn-wrapper .btn:last-child {
  margin-right: 0;
  margin-left: 1.5%;
}
#contents .btn-wrapper .btn a {
  padding: 15px 10px;
}
#contents .btn-wrapper .btn-white a {
  background: url('../../images/search/common/icon_star_g.png')no-repeat 15px center/23px auto;
}
#contents .block {
  width: 100%;
  max-width: 1000px;
  padding-top: 40px;
  margin: 0 auto 50px;
  border-top: solid 1px #e8e8e8;
}
#contents .block .inner {
  width: 100%;
}
/*----- #staff -----*/
#contents #staff .image-wrapper .image {
  max-width: 290px;
  width: 29%;
  height: 180px;
}
#contents #staff .txt-wrapper {
  width: calc(100% - 32%);
}
/*----- #salon-photo -----*/
#salon-photo .swiper-slide {
  float: left;
  width: calc((100% - 12%) / 3);
  margin-right: 6%;
}
#salon-photo .swiper-slide:nth-child(3n) {
  margin-right: 0;
}
#salon-photo .swiper-slide .image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 180px;
  margin-bottom: 10px;
  background-color: #f4f4f4;
  text-align: center;
}
#salon-photo .swiper-slide .image img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;

}
/*----- #movie -----*/
#contents .block#movie {
  margin-bottom: 40px;
}
#movie .movie {
  float: left;
  width: calc((100% - 4%) / 2);
  margin-right: 4%;
  margin-bottom: 20px;
}
#movie .movie:nth-child(2n) {
  margin-right: 0;
}
#movie .iframe-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#movie .iframe-wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/*----- #application-requ -----*/
#contents .block#application-requ {
  padding-top: 80px;
}
#application-requ .table-wrapper {
  width: 100%;
}
#application-requ .table-wrapper table {
  width: 100%;
  border-collapse: collapse;
}
#application-requ .table-wrapper th {
  width: 16%;
  padding: 20px 15px;
  border: solid 1px #ccc;
  text-align: left;
  background-color: #f4f4f4;
  font-weight: bold;
}
#application-requ .table-wrapper td {
  padding: 20px 15px;
  border: solid 1px #ccc;
  text-align: left;
}
#application-requ .cap {
  font-weight: bold;
}
/*----- #design-photo -----*/
#contents #design-photo .article {
  float: left;
  width: calc((100% - 120px) / 5);
  max-width: 168px;
  margin-right: 30px;
  margin-bottom: 30px;
}
#contents #design-photo .article:nth-child(5n) {
  margin-right: -30px;
}
#contents #design-photo .article-wrapper .image {
  position: relative;
  /* width: calc((100% - 4%) / 6);
  max-width: 160px; */
  height: 225px;
  margin-bottom: 5px;
  background-color: #f4f4f4;
  text-align: center;
}
#contents #design-photo .article-wrapper .image img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: auto;
}
#contents #design-photo .txt {
  line-height: 1.625;
}
#contents #design-photo .txt a {
  font-weight: bold;
}


@media screen and (max-width:1000px) {
  #contents .block .inner {
    width: calc(100% - 60px);
  }
  #contents #design-photo .image-wrapper {
    margin-left: 30px;
  }
  #contents #design-photo .image-wrapper .image{
    float: none;
    display: inline-block;
    width: 160px;
    margin-right: 8px;
    margin-bottom: 0;
    vertical-align: top;
  }
}

@media screen and (max-width:640px) {
  h1 {
    padding-left: 30px;
  }
  h2 {
    font-size: 30px;
    font-size: 3rem;
  }
  #contents .block {
    border-width: 2px;
  }
  #contents .salon-info {
    width: 100%;
  }
  #contents .image-wrapper .image {
    float: none;
    width: 100%;
    max-width: none;
    height: 400px;
    margin-bottom: 45px;
  }
  #contents .image-wrapper .txt-wrapper {
    float: none;
    width: calc(100% - 60px);
    margin: 0 auto;
  }
  #contents .image-wrapper .btn-wrapper .btn {
    max-width: none;
  }
  #contents .txt,
  #contents .btn-wrapper .btn a {
    font-size: 24px;
    font-size: 2.4rem;
  }
  #contents .image-wrapper .txt-wrapper .cap {
    font-size: 30px;
    font-size: 3rem;
  }
  #contents .btn-wrapper .btn-white a {
    background: url('../../images/search/common/icon_star_g.png')no-repeat 20% center/23px auto;
  }
  #contents #staff .image-wrapper .image {
    width: 100%;
    max-width: 290px;
    margin: 0 auto 30px;
  }
  #contents #staff .txt-wrapper {
    width: 100%;
  }
  #salon-photo .swiper-slide {
    float: left;
    width: calc(100% / 3);
    margin-right: 0;
  }
  #salon-photo .swiper-slide .image {
    height: 360px;
    margin-bottom: 0;
  }
  #salon-photo .swiper-slide .image-cap {
    padding: 30px 30px 35px;
    font-size: 24px;
    font-size: 2.4rem;
    background-color: #f2f2f2;
  }
  #salon-photo .swiper-pagination {
    top: 325px;
  }
  #salon-photo .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 10px;
  }
  #salon-photo .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border: solid 2px #fff;
    background-color: rgba(255,255,255,0);
    opacity: 1;
  }
  #salon-photo .swiper-pagination-bullet-active {
    background-color: #333;
  }
  #contents .block#movie {
    margin-bottom: 80px;
  }
  #movie .movie {
    float: none;
    width: 100%;
    margin-bottom: 30px;
  }
  #movie .movie:last-child {
    margin-bottom: 0;
  }
  #contents .block#application-requ {
    padding-top: 60px;
  }
  #application-requ .table-wrapper th {
    display: block;
    width: 100%;
    border: none;
    padding: 25px 0 5px 35px;
    font-size: 24px;
    font-size: 2.4rem;
    background-color: #fff;
    background: url('../../images/common/icon_th.png')no-repeat 0 40px/23px auto;
  }
  #application-requ .table-wrapper td {
    display: block;
    width: 100%;
    border: none;
    padding: 0 0 20px;
    border-bottom: solid 2px #e8e8e8;
    word-break: break-all;
  }
  #application-requ .table-wrapper tr:last-child td {
    padding-bottom: 0;
    border-bottom: none;
  }
  #contents #design-photo .article,
  #contents #design-photo .article:nth-child(5n) {
    float: left;
    width: calc((100% - 20px) / 2);
    max-width: 280px;
    margin-right: 20px;
    margin-bottom: 40px;
  }
  #contents #design-photo .article:nth-child(2n) {
    margin-right: -20px;
  }
  #contents #design-photo .article-wrapper .image {
    height: 370px;
    margin-bottom: 15px;
  }
  #contents .btn-wrapper#page-bottom {
    padding: 35px 30px;
    margin-bottom: 55px;
    background-color: #333;
  }
  #contents .btn-wrapper#page-bottom .btn {
    display: block;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0 0 20px;
  }
  #contents .btn-wrapper#page-bottom .btn a {
    padding: 25px;
  }
  #contents .btn-wrapper#page-bottom .btn:last-child {
    margin-bottom: 0;
  }
  #contents .btn-wrapper#page-bottom .btn:last-child a {
    background-color: #fff;
    background-position: 36% center;
  }
}
