@charset "UTF-8";
/* 文字コードの指定 */
@import url("https://fonts.googleapis.com/css2?family=Hina+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;0,6..96,700;0,6..96,800;0,6..96,900;1,6..96,400&family=Hina+Mincho&display=swap");
html {
  font-size: 62.5%;
  color: #484848;
}

body {
  font-family: "Bodoni Moda", "Hina Mincho", serif;
  font-size: 1.5rem;
  font-weight: 400;
  background: linear-gradient(to right, #fefdf6, #ffe4ff);
}
@media (min-width: 769px) {
  body {
    font-size: 1.8rem;
  }
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

li {
  list-style: none;
}

.uppercase {
  text-transform: uppercase;
}

.number {
  font-family: "Bodoni Moda";
}

.spacer {
  width: 100%;
}

.br::before {
  content: "\a";
  white-space: pre;
}

.flex-container {
  display: flex;
  flex-wrap: wrap;
}

/* その場で */
.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 右から */
.fadeRight {
  -webkit-animation-name: fadeRightAnime;
          animation-name: fadeRightAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  box-sizing: border-box;
}

@-webkit-keyframes fadeRightAnime {
  0% {
    opacity: 0;
    transform: translateX(10rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  0% {
    opacity: 0;
    transform: translateX(10rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
#picture1 {
  background: url(../img/sp/main-essential.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media (min-width: 769px) {
  #picture1 {
    height: calc(100vh - 13rem);
  }
}

#picture2 {
  background: url(../img/sp/main-facial.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media (min-width: 769px) {
  #picture2 {
    height: calc(100vh - 13rem);
  }
}

#picture3 {
  background: url(../img/sp/main-room.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media (min-width: 769px) {
  #picture3 {
    height: calc(100vh - 13rem);
  }
}

#picture1-pc {
  background: url(../img/pc/main-essential.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media (min-width: 769px) {
  #picture1-pc {
    height: calc(100vh - 13rem);
  }
}

#picture2-pc {
  background: url(../img/pc/main-facial.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media (min-width: 769px) {
  #picture2-pc {
    height: calc(100vh - 13rem);
  }
}

#picture3-pc {
  background: url(../img/pc/main-room.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media (min-width: 769px) {
  #picture3-pc {
    height: calc(100vh - 13rem);
  }
}

.link-line {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  vertical-align: middle;
  letter-spacing: 0.1rem;
  background-image: linear-gradient(transparent 50%, #e394b8 0%);
  cursor: pointer;
}
.link-line .arrow {
  position: relative;
  padding: 1.2rem;
}
.link-line .arrow::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: solid 0.1rem;
  border-right: solid 0.1rem;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.link-line:hover {
  background-image: linear-gradient(transparent 50%, #ff84bd 0%);
}

.img-area .salon-link {
  position: absolute;
  bottom: 1rem;
  right: 3rem;
  color: #ffffff;
}
@media (min-width: 769px) {
  .img-area .salon-link {
    display: none;
  }
}
.img-area .salon-link .arrow {
  position: relative;
  padding: 1.2rem;
}
.img-area .salon-link .arrow::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: solid 0.1rem;
  border-right: solid 0.1rem;
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.salon-info .salon-link {
  display: none;
}
@media (min-width: 769px) {
  .salon-info .salon-link {
    display: block;
    margin-top: 4rem;
    background-image: linear-gradient(transparent 50%, #e394b8 0%);
    cursor: pointer;
  }
  .salon-info .salon-link .arrow {
    position: relative;
    padding: 1.2rem;
  }
  .salon-info .salon-link .arrow::before {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    border-top: solid 0.1rem;
    border-right: solid 0.1rem;
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
}

.salon-info .salon-link:hover {
  background-image: linear-gradient(transparent 50%, #ff84bd 0%);
}

.text-link:hover {
  color: #484848;
  cursor: pointer;
}

.text-link-pink:hover {
  color: #d36899;
  cursor: pointer;
}

.page-top-btn {
  z-index: 1000;
  position: fixed;
  right: 1rem;
  bottom: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background-color: #ffffff;
  border: solid 0.5rem #d36899;
  line-height: 1.25;
  text-align: center;
  color: #d36899;
  text-transform: uppercase;
  box-sizing: border-box;
  cursor: pointer;
  opacity: 0;
  transform: translateY(10rem);
}
@media (min-width: 769px) {
  .page-top-btn {
    right: 6rem;
    bottom: 7rem;
    width: 8.2rem;
    height: 8.2rem;
  }
}

.page-top-btn.show {
  -webkit-animation: fadeUpAnime 0.5s forwards;
          animation: fadeUpAnime 0.5s forwards;
}

.page-top-btn.hide {
  -webkit-animation: fadeDownAnime 0.5s forwards;
          animation: fadeDownAnime 0.5s forwards;
}

.page-top-btn.active {
  z-index: 1000;
  position: fixed;
  right: 1rem;
  bottom: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background-color: #d36899;
  border: solid 0.5rem #d36899;
  font-size: 0;
  line-height: 1.25;
  text-align: center;
  color: #ffffff;
  text-transform: uppercase;
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .page-top-btn.active {
    right: 6rem;
    bottom: 7rem;
    width: 8.2rem;
    height: 8.2rem;
  }
}

.page-top-btn.active::before {
  content: "GO!";
  font-size: 1.5rem;
}
@media (min-width: 769px) {
  .page-top-btn.active::before {
    font-size: 1.8rem;
  }
}

.btn-ripple:hover::before {
  z-index: 999;
  content: "";
  position: absolute;
  right: -1.8rem;
  bottom: -1.8rem;
  border: solid 0.1rem #d36899;
  width: 9.5rem;
  height: 9.5rem;
  border-radius: 50%;
  opacity: 1;
  -webkit-animation: 1s circleAnime forwards;
          animation: 1s circleAnime forwards;
}
@media (min-width: 769px) {
  .btn-ripple:hover::before {
    right: -2.5rem;
    bottom: -2.5rem;
    width: 12rem;
    height: 12rem;
  }
}

.btn-ripple.active::before {
  z-index: 999;
  content: "";
  position: absolute;
  right: -1.8rem;
  bottom: -1.8rem;
  border: solid 0.1rem #d36899;
  width: 9.5rem;
  height: 9.5rem;
  border-radius: 50%;
  opacity: 1;
  -webkit-animation: 1s circleAnime forwards infinite;
          animation: 1s circleAnime forwards infinite;
}
@media (min-width: 769px) {
  .btn-ripple.active::before {
    right: -2.5rem;
    bottom: -2.5rem;
    width: 12rem;
    height: 12rem;
  }
}

@-webkit-keyframes circleAnime {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes circleAnime {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
@-webkit-keyframes fadeUpAnime {
  0% {
    opacity: 0;
    transform: translateY(10rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeUpAnime {
  0% {
    opacity: 0;
    transform: translateY(10rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeDownAnime {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(10rem);
  }
}
@keyframes fadeDownAnime {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(10rem);
  }
}
.overray-white {
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  background: rgba(255, 255, 255, 0.4);
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .overray-white {
    right: 0;
    left: auto;
    width: calc(100% - 20rem);
    height: calc(100vh - 13rem);
  }
}

.title {
  padding-left: 3rem;
  padding-top: 3rem;
  font-size: 2.2rem;
}
@media (min-width: 769px) {
  .title {
    padding-left: 20rem;
    padding-top: 15rem;
    font-size: 3rem;
  }
}

.title2 {
  padding-left: 3rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  font-size: 2rem;
}
@media (min-width: 769px) {
  .title2 {
    padding-top: 3rem;
    padding-left: 20rem;
    font-size: 2.5rem;
  }
}

.sub-title {
  padding-left: 3rem;
  padding-top: 1.5rem;
  font-size: 1.2rem;
}
@media (min-width: 769px) {
  .sub-title {
    padding-top: 3rem;
    padding-left: 20rem;
    font-size: 1.5rem;
  }
}

.text {
  padding: 0 3rem;
  line-height: 2;
}
@media (min-width: 769px) {
  .text {
    padding: 0 20rem;
  }
}

@media (min-width: 769px) {
  .firstview {
    height: 100vh;
    padding-left: 20rem;
    padding-bottom: 13rem;
    background-color: #fbe5eb;
    box-sizing: border-box;
  }
}
.firstview .catch {
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 3rem;
  transform: translateY(-50%);
  font-size: 2.4rem;
  letter-spacing: 1;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .firstview .catch {
    top: calc((100vh - 13rem) / 2);
    left: 6rem;
    font-size: 4.8rem;
  }
}
.firstview .scroll-down {
  z-index: 10;
  position: absolute;
  bottom: 0;
  right: 1rem;
  -webkit-animation: arrowMoveAnime 2s ease-in-out infinite;
          animation: arrowMoveAnime 2s ease-in-out infinite;
}
@media (min-width: 769px) {
  .firstview .scroll-down {
    right: 1.5rem;
  }
}
.firstview .scroll-down span {
  position: absolute;
  left: -1rem;
  bottom: 3.5rem;
  color: #484848;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media (min-width: 769px) {
  .firstview .scroll-down span {
    font-size: 1.8rem;
    bottom: 5rem;
  }
}
.firstview .scroll-down::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0.2rem;
  width: 0.1rem;
  height: 0.7rem;
  background: #484848;
  transform: skew(31deg);
}
@media (min-width: 769px) {
  .firstview .scroll-down::before {
    right: 0.3rem;
    height: 1.1rem;
  }
}
.firstview .scroll-down::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0.1rem;
  height: 3rem;
  background: #484848;
}
@media (min-width: 769px) {
  .firstview .scroll-down::after {
    height: 4rem;
  }
}
@-webkit-keyframes arrowMoveAnime {
  0% {
    bottom: 1%;
  }
  50% {
    bottom: 3%;
  }
  100% {
    bottom: 1%;
  }
}
@keyframes arrowMoveAnime {
  0% {
    bottom: 1%;
  }
  50% {
    bottom: 3%;
  }
  100% {
    bottom: 1%;
  }
}

.concept {
  width: 100%;
  height: 44.3rem;
  background-color: #fbe5eb;
}
@media (min-width: 769px) {
  .concept {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 64.5rem;
  }
}
.concept .title {
  padding-top: 8rem;
  padding-bottom: 8rem;
  font-size: 1.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 769px) {
  .concept .title {
    margin-right: 56.588579795%;
    margin-left: auto;
    margin-bottom: 8rem;
    padding: 0;
    text-align: left;
    font-size: 2.7rem;
    line-height: 2;
  }
}
.concept .title br {
  display: none;
}
@media (min-width: 769px) {
  .concept .title br {
    display: block;
  }
}
@media (min-width: 769px) {
  .concept .text {
    margin-right: auto;
    margin-left: 52.196193265%;
    padding: 0;
    text-align: left;
    font-size: 2rem;
    line-height: 2;
  }
}

.about {
  padding-bottom: 9rem;
}
@media (min-width: 769px) {
  .about {
    position: relative;
    height: 78.2rem;
  }
}
@media (min-width: 769px) {
  .about picture {
    position: absolute;
    z-index: 2;
    top: 6rem;
    right: 52.196193265%;
  }
}
@media (min-width: 769px) {
  .about .text-bg {
    z-index: 1;
    position: absolute;
    top: 6rem;
    right: 0;
    width: 67.1303074671%;
    padding: 6rem 14.6412884334%;
    background-color: #fbe5eb;
    box-sizing: border-box;
  }
}
@media (min-width: 769px) {
  .about .text-bg .title {
    padding-top: 0;
    padding-left: 3rem;
  }
}
.about .text-bg .sub-title {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .about .text-bg .sub-title {
    padding-bottom: 6rem;
    padding-left: 3rem;
    text-align: left;
  }
}
@media (min-width: 769px) {
  .about .text-bg .text {
    padding: 0;
    padding-left: 3rem;
    text-align: left;
    font-size: 1.8rem;
  }
}

.menu {
  padding-bottom: 9rem;
}
.menu .item {
  padding: 5rem 3rem;
}
@media (min-width: 769px) {
  .menu .item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 769px) {
  .menu .item .picture-contents {
    position: relative;
  }
}
@media (min-width: 769px) {
  .menu .item .picture-contents picture {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: end;
  }
}
.menu .item .picture-contents .bg-text {
  display: none;
}
@media (min-width: 769px) {
  .menu .item .picture-contents .bg-text {
    position: absolute;
    display: block;
    bottom: 0;
    right: 0;
    font-size: 6rem;
    line-height: 1;
    color: #ffffff;
  }
}
@media (min-width: 769px) {
  .menu .item .item-contents {
    padding-left: 1.5rem;
    width: 48.3rem;
    box-sizing: border-box;
  }
}
.menu .item .item-contents .title2 {
  padding-left: 0;
}
@media (min-width: 769px) {
  .menu .item .item-contents .title2 {
    padding-bottom: 8rem;
  }
}
.menu .item .item-contents .text {
  padding-left: 0;
  padding-bottom: 2rem;
}
@media (min-width: 769px) {
  .menu .item .item-contents .text {
    padding: 0 7rem 6rem 0;
  }
}
.menu .item:nth-of-type(1) {
  padding-top: 0;
}
@media (min-width: 769px) {
  .menu .item:nth-of-type(4n-1) .picture-contents {
    order: 2;
    text-align: start;
  }
}
@media (min-width: 769px) {
  .menu .item:nth-of-type(4n-1) .picture-contents .bg-text {
    right: auto;
    left: 0;
  }
}
@media (min-width: 769px) {
  .menu .item:nth-of-type(4n-1) .item-contents {
    order: 1;
  }
}
.menu .bg-text {
  margin-top: -10rem;
  font-size: 5rem;
  color: #ffffff;
  text-align: end;
}
@media (min-width: 769px) {
  .menu .bg-text {
    display: none;
  }
}

.process {
  height: 500vh;
  background-color: #fbe5eb;
}
.process .wrap {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
@media (min-width: 769px) {
  .process .title {
    padding-top: 6rem;
  }
}
.process .flex-container {
  justify-content: space-between;
  padding-top: 7rem;
  padding-left: 3rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .process .flex-container {
    padding-top: 5rem;
    padding-left: 20rem;
  }
}
.process .step-bar li {
  position: relative;
  display: block;
  margin-bottom: 3rem;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  background-color: #b5b5b5;
  border-radius: 50%;
  font-size: 1.8rem;
  color: #484848;
  text-align: center;
}
@media (min-width: 769px) {
  .process .step-bar li {
    order: 1;
    margin-bottom: 4rem;
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
    font-size: 2rem;
  }
}
.process .step-bar .active {
  background-color: #d36899;
  color: #ffffff;
}
.process .step-bar li::before {
  content: "";
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 0.3rem;
  height: 3rem;
  background: #b5b5b5;
}
@media (min-width: 769px) {
  .process .step-bar li::before {
    top: -4rem;
    height: 4rem;
  }
}
.process .step-bar li.active::before {
  background: #d36899;
}
.process .step-bar li:nth-of-type(5) {
  margin-bottom: 0;
}
.process .step-bar li:nth-of-type(1)::before {
  display: none;
}
@media (min-width: 769px) {
  .process .pictures {
    order: 3;
  }
}
.process .pictures picture {
  display: none;
  width: 22rem;
}
@media (min-width: 769px) {
  .process .pictures picture {
    width: 50rem;
  }
}
.process .pictures .active {
  display: block;
}
@media (min-width: 769px) {
  .process .spacer {
    display: none;
  }
}
@media (min-width: 769px) {
  .process .step-explanations {
    order: 2;
  }
}
.process .step-explanations .step-container {
  display: none;
}
.process .step-explanations .step-container.active {
  display: block;
}
.process .step-explanations .step-title {
  padding-top: 4rem;
  padding-bottom: 2rem;
  font-size: 2rem;
  color: #d36899;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .process .step-explanations .step-title {
    padding-bottom: 10rem;
    font-size: 3rem;
  }
}
.process .step-explanations .process-name {
  padding-bottom: 4rem;
  font-size: 2.5rem;
}
@media (min-width: 769px) {
  .process .step-explanations .process-name {
    padding-bottom: 5rem;
    font-size: 4rem;
  }
}
.process .step-explanations .text {
  padding-left: 0;
  padding-bottom: 3rem;
}
@media (min-width: 769px) {
  .process .step-explanations .text {
    padding-bottom: 7rem;
  }
}
.process .step-explanations .link-line {
  font-size: 2rem;
}
@media (min-width: 769px) {
  .process .step-explanations .link-line {
    width: 30rem;
    font-size: 3rem;
  }
}
.process .step-explanations .link-line .arrow::before {
  width: 1rem;
  height: 1rem;
  left: 0.5rem;
}
@media (min-width: 769px) {
  .process .step-explanations .link-line .arrow::before {
    width: 1.5rem;
    height: 1.5rem;
    left: 1.5rem;
  }
}

.salon {
  padding-top: 3rem;
  padding-bottom: 1rem;
}
@media (min-width: 769px) {
  .salon {
    padding-top: 15rem;
    padding-bottom: 15rem;
  }
}
.salon .sub-title {
  padding-bottom: 3.5rem;
}
@media (min-width: 769px) {
  .salon .sub-title {
    padding-bottom: 7rem;
  }
}
.salon .container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .salon .container {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-bottom: 3rem;
  }
}
.salon .container .img-area {
  position: relative;
  cursor: pointer;
}
.salon .container .img-area .salon-name {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  color: #ffffff;
  text-align: center;
}
@media (min-width: 769px) {
  .salon .container .img-area .salon-name {
    display: none;
  }
}
.salon .container .salon-info {
  padding: 2rem 3rem 5rem 3rem;
  line-height: 1;
}
@media (min-width: 769px) {
  .salon .container .salon-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 48.5rem;
    padding: 5rem 8rem;
    box-sizing: border-box;
  }
}
.salon .container .salon-info .salon-name {
  display: none;
}
@media (min-width: 769px) {
  .salon .container .salon-info .salon-name {
    display: block;
    padding-bottom: 4rem;
    font-size: 2rem;
  }
}
.salon .container .salon-info .postno {
  padding-bottom: 1rem;
  font-size: 1.2rem;
}
@media (min-width: 769px) {
  .salon .container .salon-info .postno {
    padding-bottom: 1.5rem;
    font-size: 1.8rem;
  }
}
.salon .container .salon-info .address {
  padding-bottom: 2rem;
}
@media (min-width: 769px) {
  .salon .container .salon-info .address {
    padding-bottom: 4rem;
  }
}
.salon .container .salon-info .tel {
  padding-bottom: 2rem;
}
@media (min-width: 769px) {
  .salon .container .salon-info .tel {
    padding-bottom: 4rem;
  }
}
.salon .container .salon-info .tel span {
  padding-left: 1.5rem;
}
.salon .container .salon-info .hour-time span {
  padding-left: 1.5rem;
}
@media (min-width: 769px) {
  .salon .container:nth-of-type(2n) .img-area {
    order: 2;
    text-align: start;
  }
}
@media (min-width: 769px) {
  .salon .container:nth-of-type(2n) .salon-info {
    order: 1;
  }
}
@media (min-width: 769px) {
  .salon .container:last-of-type {
    padding-bottom: 0;
  }
}

.news {
  padding-bottom: 5rem;
}
.news .news-list {
  padding-left: 3rem;
  padding-bottom: 4rem;
}
@media (min-width: 769px) {
  .news .news-list {
    padding-top: 5rem;
  }
}
.news .news-list .news-item {
  margin-top: 3rem;
  width: 30rem;
  height: 10rem;
  padding: 2rem 2.5rem;
  background-color: #ffffff;
  box-sizing: border-box;
  cursor: pointer;
}
@media (min-width: 769px) {
  .news .news-list .news-item {
    margin-right: auto;
    margin-left: auto;
    width: 70.7174231332%;
    height: 12rem;
    padding: 2rem 10rem;
  }
}
.news .news-list .news-item .date {
  padding-bottom: 1rem;
  font-size: 1.2rem;
  color: #b5b5b5;
}
@media (min-width: 769px) {
  .news .news-list .news-item .date {
    font-size: 1.8rem;
  }
}
.news .news-list .news-item .text {
  padding-right: 0;
  padding-left: 0;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .news .news-list .news-item .text {
    font-size: 2rem;
  }
}
.news .link-line {
  margin: auto;
}
@media (min-width: 769px) {
  .news .link-line {
    width: 16rem;
    font-size: 3rem;
    text-align: center;
  }
}
@media (min-width: 769px) {
  .news .link-line .arrow::before {
    width: 1.5rem;
    height: 1.5rem;
    left: 1.5rem;
  }
}

.voice {
  background-color: #fbe5eb;
  margin-bottom: 6rem;
}
@media (min-width: 769px) {
  .voice {
    margin-bottom: 10rem;
    padding-bottom: 2rem;
  }
}
.voice .voice-list {
  width: 100%;
}
.voice .voice-list .voice-item {
  margin-top: 4rem;
  margin-bottom: 6rem;
  width: 20rem;
}
@media (min-width: 769px) {
  .voice .voice-list .voice-item {
    margin-top: 5rem;
    margin-bottom: 8rem;
  }
}
.voice .voice-list .voice-item .number {
  font-size: 2.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 769px) {
  .voice .voice-list .voice-item .number {
    font-size: 3.5rem;
  }
}
.voice .voice-list .voice-item .container {
  background-color: #ffffff;
  width: 20rem;
  height: 20rem;
  padding: 2rem;
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .voice .voice-list .voice-item .container {
    width: 30rem;
    height: 30rem;
    padding: 4rem;
  }
}
.voice .voice-list .voice-item .container .text {
  padding: 0;
  line-height: 1.25;
}
.voice .voice-list .voice-item .container .cource {
  padding-top: 1.5rem;
  padding-bottom: 1rem;
  font-size: 1.2rem;
}
@media (min-width: 769px) {
  .voice .voice-list .voice-item .container .cource {
    padding-top: 3rem;
    padding-bottom: 2rem;
    font-size: 1.8rem;
  }
}
.voice .voice-list .voice-item .container .age {
  font-size: 1.2rem;
}
@media (min-width: 769px) {
  .voice .voice-list .voice-item .container .age {
    font-size: 1.8rem;
  }
}
.voice .voice-list .swiper-pagination {
  font-size: 2rem;
}
@media (min-width: 769px) {
  .voice .voice-list .swiper-pagination {
    font-size: 3rem;
  }
}

header {
  color: #ffffff;
}
header .sp-nav {
  z-index: 10;
  position: fixed;
  top: 0;
  width: 100%;
  height: 5rem;
  background-color: rgba(211, 104, 153, 0.5);
}
@media (min-width: 769px) {
  header .sp-nav {
    display: none;
  }
}
header .sp-nav .fixed-header-container {
  z-index: 1000;
  position: fixed;
  display: flex;
  width: 100%;
  justify-content: space-between;
}
header .sp-nav .fixed-header-container .salon-name {
  padding: 2rem 0 0 3rem;
  box-sizing: border-box;
  cursor: pointer;
}
header .sp-nav .fixed-header-container .salon-name a {
  color: #ffffff;
}
header .sp-nav .fixed-header-container .right-fixed {
  display: flex;
}
header .sp-nav .fixed-header-container .right-fixed .researvation-btn {
  width: 15rem;
  height: 5rem;
  background-color: #d36899;
  font-size: 1.8rem;
  text-align: center;
  line-height: 5rem;
  cursor: pointer;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn {
  position: relative;
  cursor: pointer;
  width: 5rem;
  height: 5rem;
  background-color: #e394b8;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 50%;
  height: 0.2rem;
  transform: translateX(-50%);
  border-radius: 0.5rem;
  background: #ffffff;
  width: 3rem;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn span:nth-of-type(1) {
  top: 0.8rem;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn span:nth-of-type(2) {
  top: 1.6rem;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn span:nth-of-type(3) {
  top: 2.4rem;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn span:nth-of-type(3)::after {
  content: "open";
  position: absolute;
  top: 0.7rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn.active {
  background-color: rgba(227, 148, 184, 0);
}
header .sp-nav .fixed-header-container .right-fixed .open-btn.active span:nth-of-type(1) {
  top: 1.4rem;
  left: 50%;
  transform: translate(-50%, 0.6rem) rotate(-45deg);
  width: 2.2rem;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn.active span:nth-of-type(2) {
  opacity: 0;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn.active span:nth-of-type(3) {
  top: 2.6rem;
  left: 50%;
  transform: translate(-50%, -0.6rem) rotate(45deg);
  width: 2.2rem;
}
header .sp-nav .fixed-header-container .right-fixed .open-btn.active span:nth-of-type(3)::after {
  content: "close";
  top: 0.5rem;
  left: 0.1rem;
  transform: translateY(0) rotate(-45deg);
}
header .sp-nav .relative-container {
  position: fixed;
  z-index: 999;
  top: 0;
  right: -120%;
  width: 100%;
  height: 100vh;
  background-color: rgba(211, 104, 153, 0.5);
  transition: all 0.6s;
}
header .sp-nav .page-link-container {
  position: absolute;
  top: 50%;
  width: 100%;
  height: 100vh;
  transform: translateY(-50%);
  text-align: center;
  font-size: 2rem;
  transition: all 0.6s;
}
header .sp-nav .page-link-container ul {
  z-index: 999;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  padding-left: 0;
  transform: translate(-50%, -50%);
}
header .sp-nav .page-link-container ul li {
  margin-bottom: 5rem;
  cursor: pointer;
}
header .sp-nav .page-link-container ul li a {
  color: #ffffff;
}
header .sp-nav.active .relative-container {
  right: 0;
  height: 100vh;
}
header .sp-nav.active .relative-container .page-link-container {
  z-index: 999;
  position: fixed;
  display: block;
  width: 100%;
  height: 100vh;
  overflow: auto;
}
header .pc-nav {
  display: none;
}
@media (min-width: 769px) {
  header .pc-nav {
    z-index: 10;
    position: fixed;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 7rem;
    box-sizing: border-box;
  }
  header .pc-nav li {
    margin-right: 6rem;
    font-size: 1.8rem;
    cursor: pointer;
  }
  header .pc-nav li a {
    color: #484848;
  }
}
header .pc-nav .salon-name {
  margin-right: auto;
  margin-left: 6rem;
  font-size: 2rem;
}
header .pc-nav .salon-name a {
  color: #d36899;
}
header .pc-nav .researvation-btn {
  margin-right: 0;
  margin-left: 6rem;
  width: 20rem;
  height: 7rem;
  background-color: #d36899;
  font-size: 1.8rem;
  text-align: center;
  line-height: 7rem;
  cursor: pointer;
}
header .pc-nav .researvation-btn:hover {
  background-color: #ff84bd;
}

footer {
  width: 100%;
  background-color: #d36899;
  color: #ffffff;
  text-align: center;
}
footer nav {
  padding-top: 8rem;
}
@media (min-width: 769px) {
  footer nav {
    display: flex;
    padding-top: 7rem;
  }
}
footer nav .salon-name {
  font-size: 1.8rem;
  margin-bottom: 7rem;
}
@media (min-width: 769px) {
  footer nav .salon-name {
    margin-left: 20rem;
    font-size: 2rem;
  }
}
footer nav .link-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
footer nav .link-item li {
  text-align: start;
  font-size: 1.3rem;
  margin-bottom: 3rem;
  cursor: pointer;
}
@media (min-width: 769px) {
  footer nav .link-item li {
    font-size: 1.5rem;
    margin-bottom: 4rem;
  }
}
footer nav .link-item li:last-of-type {
  margin-bottom: 0;
}
footer .copyright {
  padding-top: 9rem;
  padding-bottom: 1rem;
  font-size: 1rem;
}
@media (min-width: 769px) {
  footer .copyright {
    padding-top: 8rem;
    font-size: 1.2rem;
  }
}

.img-container {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 100vh;
}
@media (min-width: 769px) {
  .img-container {
    height: calc(100vh - 13rem);
  }
}
.img-container .sp {
  display: block;
}
@media (min-width: 769px) {
  .img-container .sp {
    display: none;
  }
}
.img-container .pc {
  display: none;
}
@media (min-width: 769px) {
  .img-container .pc {
    display: block;
  }
}

.slick-dots {
  z-index: 6;
  position: absolute;
  bottom: 1rem;
  display: flex;
  flex-direction: column;
  color: #d36899;
}
@media (min-width: 769px) {
  .slick-dots {
    display: block;
    bottom: -4rem;
    text-align: start;
    transform: translateY(-50%);
    font-size: 1rem;
  }
}
@media (min-width: 769px) {
  .slick-dots li {
    margin: 0;
  }
}
@media (min-width: 769px) {
  .slick-dots li button {
    padding: 0.7rem;
  }
}
.slick-dots li button::before {
  color: #b5b5b5;
  opacity: 1;
}
.slick-dots li.slick-active button::before {
  color: #d36899;
  opacity: 1;
}/*# sourceMappingURL=style.css.map */