body#toppage .header.relative {
  position: relative;
}
body#toppage .header.relative ul li a.dropdown::before {
  top: 0.75rem;
  bottom: auto;
  -moz-transform: translateX(-50%) rotate(-135deg);
  -ms-transform: translateX(-50%) rotate(-135deg);
  -webkit-transform: translateX(-50%) rotate(-135deg);
  transform: translateX(-50%) rotate(-135deg);
}
body#toppage .header.relative ul li ul {
  top: auto;
  bottom: 100%;
}
body#toppage .visual {
  position: relative;
  width: 100%;
  height: calc(100vh - 105px);
  background: url("../images/toppage/visual_bg.jpg") no-repeat center center;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}
body#toppage .visual .container {
  height: 100%;
}
body#toppage .visual .box {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  padding: 0 1.25rem;
  color: #ffffff;
  text-align: center;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
body#toppage .visual .box h2, body#toppage .visual .box p {
  line-height: 1.875;
  text-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.8), 0 0 0.625rem rgba(0, 0, 0, 0.8);
}
body#toppage .visual .box .encopy {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}
body#toppage .visual .box .copy {
  display: inline-block;
  margin-bottom: 1.25rem;
  padding: 0 3.125rem;
  font-size: 3rem;
  border-bottom: solid 1px #ffffff;
  letter-spacing: 0.2em;
}
body#toppage .visual .box .subcopy {
  margin-bottom: 1.875rem;
  font-size: 1.5rem;
}
body#toppage .visual .box .btn {
  display: inline-block;
  padding: 1.25rem 2.5rem;
  border: solid 1px #9a8668;
  color: #ffffff;
  font-size: 1.25rem;
  text-decoration: none;
  background-color: #9a8668;
}
body#toppage .visual .box .btn:hover {
  background-color: #6d5e48;
}
body#toppage .school {
  padding: 1.875rem 0;
  background-color: #ebe7e1;
}
body#toppage .school a {
  display: block;
}
body#toppage .school a figure {
  position: relative;
  height: 32.5rem;
  overflow: hidden;
}
body#toppage .school a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -moz-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
body#toppage .school a figure figcaption {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: #9a8668;
  text-align: center;
  line-height: 1.25;
  text-shadow: 0 0 0.625rem rgba(255, 255, 255, 0.8), 0 0 0.625rem rgba(255, 255, 255, 0.8), 0 0 0.625rem rgba(255, 255, 255, 0.8), 0 0 0.625rem rgba(255, 255, 255, 0.8);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
body#toppage .school a figure figcaption h2 {
  margin-bottom: 1.25rem;
  font-size: 3.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
body#toppage .school a figure figcaption p {
  font-size: 1.5rem;
}
body#toppage .school a:hover figure img {
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
body#toppage .saloninfo {
  background: url("../images/salon_bg.jpg") no-repeat center center;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}
body#toppage .saloninfo .heading {
  color: #ffffff;
}
body#toppage .news {
  padding: 6.25rem 0;
  background-color: #ebe7e1;
}
body#toppage .news .heading {
  margin-bottom: 5rem;
  color: #9a8668;
  text-align: center;
  line-height: 1.25;
}
body#toppage .news .heading h2 {
  margin-bottom: 1.25rem;
  font-size: 3.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
body#toppage .news .heading p {
  font-size: 1.5rem;
}
body#toppage .news .tabs {
  display: flex;
}
body#toppage .news .tabs li {
  flex-basis: 50%;
  flex-grow: 1;
  padding: 1.25rem;
  border: solid 1px #000000;
  border-bottom: 0 none;
  color: #ffffff;
  font-size: 1.125rem;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.05em;
  background-color: #333333;
  cursor: pointer;
  -moz-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
body#toppage .news .tabs li.active {
  color: #9a8668;
  background-color: #ffffff;
}
body#toppage .news .tabs li + li {
  border-left: 0 none;
}
body#toppage .news .contents {
  padding: 3.125rem;
  border: solid 1px #000000;
  border-top: 0 none;
  background-color: #ffffff;
}
body#toppage .news .contents .content {
  display: none;
}
body#toppage .news .contents .content.show {
  display: block;
}
body#toppage .news .contents .content li {
  border-bottom: solid 1px #231815;
}
body#toppage .news .contents .content li a {
  display: block;
  padding: 0.625rem 1.25rem;
  color: #595757;
  font-size: 1.125rem;
  line-height: 1.5;
  text-decoration: none;
}
body#toppage .news .contents .content li a:hover {
  background-color: #ebe7e1;
}
body#toppage .news .contents .content li a .date {
  margin-bottom: 0.3125rem;
}

/* RWD
---------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  body#toppage .visual {
    height: 100%;
    min-height: 166.66667vw;
  }
  body#toppage .visual .box {
    padding: 0 5.20833vw;
  }
  body#toppage .visual .box h2, body#toppage .visual .box p {
    text-shadow: 0 0 2.60417vw rgba(0, 0, 0, 0.8), 0 0 2.60417vw rgba(0, 0, 0, 0.8);
  }
  body#toppage .visual .box .encopy {
    font-size: 5.20833vw;
  }
  body#toppage .visual .box .copy {
    display: block;
    margin-bottom: 5.20833vw;
    padding: 0;
    font-size: 10.41667vw;
    letter-spacing: 0.1em;
  }
  body#toppage .visual .box .subcopy {
    margin-bottom: 7.8125vw;
    font-size: 5.20833vw;
  }
  body#toppage .visual .box .btn {
    padding: 5.20833vw 10.41667vw;
    font-size: 5.20833vw;
  }
  body#toppage .school {
    padding: 7.8125vw 0;
  }
  body#toppage .school a figure {
    height: 52.08333vw;
  }
  body#toppage .school a figure figcaption {
    text-shadow: 0 0 1.30208vw #ffffff, 0 0 1.30208vw #ffffff, 0 0 1.30208vw #ffffff, 0 0 1.30208vw #ffffff, 0 0 1.30208vw #ffffff, 0 0 1.30208vw #ffffff;
  }
  body#toppage .school a figure figcaption h2 {
    margin-bottom: 5.20833vw;
    font-size: 10.41667vw;
  }
  body#toppage .school a figure figcaption p {
    font-size: 4.16667vw;
  }
  body#toppage .news {
    padding: 20.83333vw 0;
  }
  body#toppage .news .heading {
    margin-bottom: 15.625vw;
  }
  body#toppage .news .heading h2 {
    margin-bottom: 5.20833vw;
    font-size: 10.41667vw;
  }
  body#toppage .news .heading p {
    font-size: 4.16667vw;
  }
  body#toppage .news .tabs {
    display: flex;
  }
  body#toppage .news .tabs li {
    padding: 5.20833vw 2.60417vw;
    font-size: 4.16667vw;
  }
  body#toppage .news .contents {
    padding: 5.20833vw;
  }
  body#toppage .news .contents .content li a {
    padding: 2.60417vw;
    font-size: 4.6875vw;
  }
  body#toppage .news .contents .content li a .date {
    margin-bottom: 1.30208vw;
  }
}
