.js-accordion__button {
  cursor: pointer;
}

.js-accordion__contents {
  overflow: hidden;
  height: 0;
  min-height: 0;
  transition: all .4s ease-in;
  transform: translate3d(0, 0, 0);
}

.js-accordion.is-open > .js-accordion__button::after {
  transform: rotate(90deg);
}

@media (min-width: 376px) and (max-width: 749px) {
  html {
    font-size: calc(0.625rem + ((1vw - 3.75px) * 2.6666666667));
  }
}

@media (min-width: 750px) {
  html {
    font-size: 20px;
  }
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.pc {
  display: none !important;
}

body.is-active {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.l-container {
  overflow: hidden;
}

.c-title {
  position: relative;
}

.c-title::before, .c-title::after {
  content: '';
  position: absolute;
}

.c-title::before {
  top: 0;
  left: 0;
  width: 15.3333333333vw;
  height: 40vw;
  background: url(../../img/sp/title_bg1.png) left top no-repeat;
  background-size: cover;
}

.c-title::after {
  right: 0;
  bottom: 0;
  width: 15.3333333333vw;
  height: 40vw;
  background: url(../../img/sp/title_bg2.png) left top no-repeat;
  background-size: cover;
}

.c-contents__title {
  margin: 0 18.8vw 7.6666666667vw 18.9333333333vw;
}

.c-contents__list {
  margin: 0 14.1333333333vw 0 14.9333333333vw;
}

.c-contents__item a {
  display: block;
}

.l-fix__cv__inner {
  display: flex;
  position: relative;
  z-index: 2;
  align-items: center;
  justify-content: flex-end;
  padding: 2.9333333333vw 3.3333333333vw;
  background: linear-gradient(left, #000, #0d0d0d);
}

.l-fix__cv__logo {
  margin: 0 auto 0 0;
  width: 27.2vw;
}

.l-fix__cv__button {
  width: 32.9333333333vw;
}

.js-fix-cv {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  box-sizing: border-box;
  transition: transform .3s;
  transform: translateY(-100%);
}

.js-fix-cv.is-fixed {
  transform: translateY(0);
}

.js-menu {
  position: fixed;
  z-index: 10;
  overflow-y: scroll;
  width: 100vw;
  height: 100vh;
  transition: opacity .7s;
  pointer-events: none;
  box-sizing: border-box;
  opacity: 0;
}

.js-menu__button {
  display: block;
  position: relative;
  margin-left: 4vw;
  width: 9.3333333333vw;
  height: 6.6666666667vw;
  box-sizing: border-box;
}

.js-menu__button__line {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  border-top: 0.4vw solid #91bb5b;
  transition: all .3s .3s, transform .3s 0s;
}

.js-menu__button .line1 {
  top: 0;
}

.js-menu__button .line2 {
  top: calc(50% - (0.4vw / 2));
  opacity: 1;
  transition: all .3s .3s;
}

.js-menu__button .line3 {
  bottom: 0;
}

.js-menu__button.is-active .l-fix__cv__menu__line {
  transition: all .3s, transform .3s .3s;
}

.js-menu__button.is-active .line1 {
  top: calc(50% - (0.4vw / 2));
  transform: rotate(45deg);
}

.js-menu__button.is-active .line2 {
  opacity: 0;
  transition: all .3s, opacity .3s 0s;
}

.js-menu__button.is-active .line3 {
  bottom: calc(50% - (0.4vw / 2));
  transform: rotate(-45deg);
}

.js-menu__item a {
  opacity: 0;
  transform: translateY(100%);
  transition: .5s;
}

.js-menu.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

.js-menu.is-active .js-menu__item a {
  transform: none;
  opacity: 1;
}

.js-menu.is-active .js-menu__item:nth-child(1) a {
  transition: all 1s .7s, opacity 1.5s .7s;
}

.js-menu.is-active .js-menu__item:nth-child(2) a {
  transition: all 1s .8s, opacity 1.5s .8s;
}

.js-menu.is-active .js-menu__item:nth-child(3) a {
  transition: all 1s .9s, opacity 1.5s .9s;
}

.js-menu.is-active .js-menu__item:nth-child(4) a {
  transition: all 1s 1s, opacity 1.5s 1s;
}

.js-menu.is-active .js-menu__item:nth-child(5) a {
  transition: all 1s 1.1s, opacity 1.5s 1.1s;
}

.js-menu.is-active .js-menu__item:nth-child(6) a {
  transition: all 1s 1.2s, opacity 1.5s 1.2s;
}

.js-menu.is-active .js-menu__item:nth-child(7) a {
  transition: all 1s 1.3s, opacity 1.5s 1.3s;
}

.js-menu.is-active .js-menu__item:nth-child(8) a {
  transition: all 1s 1.4s, opacity 1.5s 1.4s;
}

.js-slide {
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.15s linear;
}

.js-slide.slick-initialized {
  overflow: visible;
  opacity: 1;
}

.js-slide button {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: transparent;
}

.js-slide .slick-dots {
  display: flex;
  position: absolute;
  right: 0;
  left: 0;
}

.js-slide .slick-dots button {
  width: 100%;
  height: 0;
}

.p-menu {
  background: #000;
}

.p-menu__inner {
  padding: 21.8666666667vw 14.6666666667vw 0;
}

.p-menu__inner .c-contents__title {
  margin-bottom: 6.3333333333vw;
}

.p-menu__movie {
  position: relative;
  z-index: 1;
  padding-top: 56.1333333333vw;
}

.p-menu__movie > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-menu__movie video {
  object-fit: cover;
  object-position: bottom;
}

.p-header {
  position: relative;
  overflow: hidden;
  padding-bottom: 6.6666666667vw;
  background: #000;
  box-sizing: border-box;
}

.p-header::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: url(../../img/sp/header_bg.png) 0 0 no-repeat;
  background-size: cover;
  pointer-events: none;
}

.p-header__text.p-slide__text {
  position: absolute;
  top: 13.6vw;
  bottom: 20vw;
  z-index: 2;
  width: 100%;
  box-sizing: border-box;
}

.p-header__text.p-slide__text .slick-list {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
}

.p-header__text.p-slide__text .slick-slide {
  margin: 0 13.6vw;
}

.p-header__pic.p-slide__pic img {
  width: 113.333333333vw !important;
  max-width: none;
}

.p-header__pic__item:nth-child(odd).is-animated .pic {
  animation: 8s linear forwards pic-to-right;
}

.p-header__pic__item:nth-child(even).is-animated .pic {
  animation: 8s linear forwards pic-to-left;
}

.p-header__cv {
  position: absolute;
  right: 0;
  bottom: 6.6666666667vw;
  left: 0;
  z-index: 3;
  margin: 0 auto;
  width: 70.6666666667vw;
}

@keyframes pic-to-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-13.3333333333vw);
  }
}

@keyframes pic-to-right {
  0% {
    transform: translateX(-13.3333333333vw);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes text-to-left {
  0% {
    transform: translateX(-5%);
  }
  50% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(5%);
  }
}

@keyframes text-to-right {
  0% {
    transform: translateX(5%);
  }
  50% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-5%);
  }
}

.p-logo {
  position: absolute;
  top: 4vw;
  left: 5.7333333333vw;
  z-index: 3;
  width: 36.6666666667vw;
}

.p-contents {
  display: flex;
  position: relative;
  flex-direction: column;
  margin: 0 0 13.3333333333vw;
  padding: 6.6666666667vw 0 9.4vw;
}

.p-contents::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 70.6666666667vw/2);
  width: 70.6666666667vw;
  background: #c9d14e;
}

.p-contents__title, .p-contents__list, .p-contents__movie {
  position: relative;
  z-index: 1;
}

.p-contents__title {
  position: relative;
  z-index: 1;
  order: 2;
  margin: 0 33.4666666667vw 7.6666666667vw 33.6vw;
}

.p-contents__list {
  position: relative;
  z-index: 1;
  order: 3;
  margin: 0 28.8vw 0 29.6vw;
}

.p-contents__movie {
  position: relative;
  z-index: 1;
  order: 1;
  margin: 0 6.6666666667vw 11.3333333333vw;
  padding-top: 48.5333333333vw;
  background: url(../../img/pc/contents_movie.png) 0 bottom no-repeat #000;
  background-size: 100% auto;
}

.p-contents__movie > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-contents__movie video {
  object-fit: cover;
  object-position: bottom;
}

.p-about {
  position: relative;
  z-index: 1;
  margin-bottom: -8.9333333333vw;
}

.p-about__title {
  margin-bottom: 8.6666666667vw;
}

.p-about__title span::before,
.p-about__title span::after {
  transition: width 2.5s linear;
}

.p-about.is-animated .p-about__title span::before,
.p-about.is-animated .p-about__title span::after {
  width: 133.2vw;
}

.p-about__lead {
  margin: 0 8.4vw 8.6666666667vw;
}

.p-about__list {
  margin: 0 6.6666666667vw 8.6666666667vw;
}

.p-about__item:first-child {
  margin-bottom: 3.3333333333vw;
}

.p-about__slide {
  margin: 0 6.6666666667vw 13.3333333333vw;
}

.p-about__slide .slick-arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 8.8vw;
  height: 8.8vw;
  background: url(../../img/sp/about_slide_arrow.png) 0 0 no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}

.p-about__slide .slick-arrow.slick-prev {
  left: -5.2vw;
  transform: translateY(-50%) rotate(-180deg);
}

.p-about__slide .slick-arrow.slick-next {
  right: -5.2vw;
}

.p-about__slide .slick-dots {
  bottom: -2.8vw;
}

.p-about__slide .slick-dots li {
  flex-basis: calc(100% - (2.6666666667vw / 3));
}

.p-about__slide .slick-dots li + li {
  margin-left: 1.3333333333vw;
}

.p-about__slide .slick-dots li.slick-active button {
  border-top: 0;
  border-bottom: 0.8vw solid #c9d058;
}

.p-about__slide .slick-dots button {
  border-top: 0.4vw solid #fff;
  border-bottom: 0.4vw solid #b8bec6;
}

.p-about__pic {
  margin-bottom: 7.7333333333vw;
  height: 68.2666666667vw;
}

.p-about__text {
  height: 33.6vw;
}

.p-case {
  margin: 0 6.6666666667vw 20vw;
}

.p-case__item {
  margin: 0 0 6.6666666667vw;
}

.p-case .p-case-info {
  line-height: 1.4;
  color: #434343;
}

.p-hoyos__title {
  position: relative;
}

.p-hoyos__title__sign {
  position: absolute;
  top: 9.3333333333vw;
  left: 4.2666666667vw;
  width: 45.0666666667vw;
}

.p-hoyos__text {
  margin: 0 6.6666666667vw 8vw;
}

.p-hoyos__license {
  margin: 0 6.6666666667vw 16vw;
}

.p-value__title {
  margin: 0 33.2vw 6.6666666667vw;
}

.p-value__pic {
  position: absolute;
}

.p-value__pic__wrapper {
  position: relative;
  margin: 0 2.6666666667vw;
  height: 199.333333333vw;
}

.p-value__pic.no1 {
  top: 0;
  left: 0;
  width: 56.6666666667vw;
}

.p-value__pic.no2 {
  top: 0;
  right: 0;
  width: 36.6666666667vw;
}

.p-value__pic.no3 {
  top: 68vw;
  left: 0;
  width: 46.8vw;
}

.p-value__pic.no4 {
  top: 68vw;
  right: 0;
  width: 46.6666666667vw;
}

.p-value__pic.no5 {
  bottom: 0;
  left: 0;
  width: 36.8vw;
}

.p-value__pic.no6 {
  right: 0;
  bottom: 0;
  width: 56.6666666667vw;
}

.p-cv {
  padding-bottom: 2.6666666667vw;
}

.p-cv__button {
  margin: -16vw 14.6666666667vw 0;
}

.p-doctors {
  margin-top: 7.3333333333vw;
}

.p-doctors__title {
  margin-bottom: 8.6666666667vw;
}

.p-doctors__lead {
  margin: 0 18.8vw 16vw;
}

.p-doctors__slide {
  margin: 0 3.3333333333vw 19.2vw;
  min-height: 110vw;
}

.p-doctors__slide .slick-dots {
  bottom: -10.6666666667vw;
  justify-content: space-between;
  margin: 0 12vw;
}

.p-doctors__slide .slick-dots button {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  border-radius: 100%;
  background: #e4e4e5;
}

.p-doctors__slide .slick-dots li.slick-active button {
  background-color: #c9d058;
}

.p-doctor {
  position: relative;
}

.p-doctor__inner {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 76vw;
}

.p-doctor__title {
  order: 2;
  margin-bottom: 5.3333333333vw;
  margin-left: 46vw;
  width: 47.3333333333vw;
  margin-right: 3.4666666667vw;
  margin-left: auto;
}

.p-doctor__pic {
  position: absolute;
  top: 0;
  left: -3.4666666667vw;
  order: 1;
  width: 46vw;
}

.p-doctor__contents__item {
  margin-left: 1.5em;
  list-style-type: disc;
  line-height: 1.5;
  font-size: 1.1rem;
  color: #918c88;
}

.p-doctor__license {
  order: 3;
  width: 47.3333333333vw;
  margin-right: 3.4666666667vw;
  margin-left: auto;
}

.p-doctor__license__title {
  margin-bottom: 0.8666666667vw;
  width: 11.8666666667vw;
}

.p-doctor__license .emphasis {
  font-weight: bold;
  color: #584f4c;
}

.p-doctor__license__list {
  min-height: 11em;
}

.p-doctor__history__title {
  margin-bottom: 0.8666666667vw;
  width: 11.7333333333vw;
}

.p-doctor__history__notice {
  margin-top: 1.3333333333vw;
  color: #918c88;
}

.p-history__item {
  display: flex;
}

.p-history__item > * {
  line-height: 1.5;
}

.p-history__year {
  flex-basis: 4.5em;
}

.p-clinic {
  margin-bottom: -18.6666666667vw;
  padding: 20vw 0 21.3333333333vw;
  background: url(../../img/sp/clinic_bg1.png) 0 0 no-repeat, url(../../img/sp/clinic_bg2.png) right bottom 15.0666666667vw no-repeat, #000;
  background-size: 22.5333333333vw auto, 18.9333333333vw auto, 100%;
}

.p-clinic__title {
  margin: 0 19.6vw 12.8vw;
}

.p-clinic__text {
  margin: 0 13.2vw 11.8666666667vw;
}

.p-clinic__contents {
  margin: 0 6.6666666667vw 6.4vw;
}

.p-clinic__item {
  display: flex;
  align-items: center;
}

.p-clinic__item + .p-clinic__item {
  margin-top: 1.6vw;
}

.p-clinic__item__pic {
  margin-right: 5.3333333333vw;
  width: 20vw;
}

.p-clinic__item__text {
  width: 61.6vw;
}

.p-clinic__anchor a {
  display: block;
  margin: 0 2vw 0 auto;
  width: 44.2666666667vw;
}

.p-faq {
  margin-top: 7.6vw;
}

.p-faq__title {
  position: relative;
  z-index: 1;
  margin-bottom: 9.3333333333vw;
}

.p-faq__list {
  margin: 0 0 20vw;
  height: 91.7333333333vw;
}

.p-faq__list .slick-dots {
  bottom: -6.6666666667vw;
  justify-content: space-between;
  margin: 0 28.8vw;
}

.p-faq__list .slick-dots button {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  border-radius: 100%;
  background: #e4e4e5;
}

.p-faq__list .slick-dots li.slick-active button {
  background-color: #c9d058;
}

.p-faq__item {
  margin: 0 1.3333333333vw;
  width: 86.6666666667vw;
}

.p-price__title {
  margin-bottom: 2.6666666667vw;
}

.p-price__notice {
  margin: 0 6.6666666667vw 11.7333333333vw;
  text-align: right;
  font-size: 1.1rem;
}

.p-price .women,
.p-price .men {
  margin-right: 6.2666666667vw;
  margin-left: 6.2666666667vw;
}

.p-price .women {
  margin-bottom: 15.8666666667vw;
}

.p-price .men {
  margin-bottom: 13.3333333333vw;
}

.p-price__feature {
  margin: 0 6.6666666667vw 10.5333333333vw;
}

.p-price__feature__item + .p-price__feature__item {
  margin-top: 2vw;
}

.p-price .payment {
  margin: 0 2.5333333333vw 10.5333333333vw;
}

.p-location {
  margin-bottom: -18.6666666667vw;
  padding-bottom: 28.9333333333vw;
  background: url(../../img/sp/location_bg.png) right bottom 14.1333333333vw no-repeat, #fff;
  background-size: 20.5333333333vw auto, 100%;
}

.p-location__title {
  margin-bottom: 8.6666666667vw;
}

.p-location__anchor {
  display: flex;
  justify-content: center;
  margin: 0 0 5.3333333333vw;
  font-size: 1.1rem;
}

.p-location__anchor a {
  font-weight: bold;
  color: #584f4c;
}

.p-location__anchor__item {
  padding: 0 1rem;
}

.p-location__anchor__item:first-child a {
  color: #c9d058;
}

.p-location__anchor__item + .p-location__anchor__item {
  border-left: 0.2666666667vw solid #b1adab;
}

.p-location__text {
  margin-bottom: 13.2vw;
  text-align: center;
  line-height: 1.4545454545;
  font-size: 1.1rem;
  color: #918c88;
}

.p-location__contents {
  display: flex;
  position: relative;
  overflow: hidden;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 6.6666666667vw;
  max-height: 60.5333333333vw;
}

.p-location__contents__title {
  order: 2;
  margin: 8vw 0 7.4666666667vw;
  width: 49.0666666667vw;
}

.p-location__contents__pic {
  order: 1;
  margin-right: 4.9333333333vw;
  width: 24.1333333333vw;
}

.p-location__contents__text {
  order: 3;
  line-height: 1.6153846154;
  font-size: 1.3rem;
  color: #918c88;
}

.p-location__contents__text .free {
  display: inline-block;
  margin-top: .5rem;
  line-height: 1.1111111111;
  font-size: 1.8rem;
}

.p-location__contents__text .free a {
  text-decoration: none;
  font-weight: bold;
  color: #918c88;
}

.p-location__contents__text .foreign {
  display: inline-block;
  margin-bottom: 1rem;
  line-height: 1;
  font-size: 1.1rem;
}

.p-location__contents__text .foreign a {
  text-decoration: none;
  color: #918c88;
}

.p-location__contents__text a {
  text-decoration: underline;
  color: #84bee5;
}

.p-location__contents__map {
  position: absolute;
  top: 19.3333333333vw;
  right: 0;
  width: 17.3333333333vw;
}

.p-location__contents + .p-location__contents {
  margin-top: 9.3333333333vw;
}

.p-privacypolicy {
  margin: -18.6666666667vw 0 0;
  padding: 22.6666666667vw 2.6666666667vw 2.6666666667vw;
  background: #e8e8e9;
}

.p-privacypolicy__risk {
  margin: 0 0 5.8666666667vw;
  line-height: 1.5714285714;
  font-size: 1.05rem;
  color: #584f4c;
}

.p-privacypolicy__title {
  margin: 0 auto 2.6666666667vw;
  width: 24.2666666667vw;
}

.p-privacypolicy__title::after {
  content: '';
  display: block;
  margin: 1.2vw auto 0;
  width: 2.9333333333vw;
  height: 2.9333333333vw;
  background: url(../../img/sp/privacypolicy_title_bg.png) 0 0 no-repeat;
  background-size: cover;
}

.p-privacypolicy .js-accordion__contents {
  margin: 0 4vw;
}

.p-privacypolicy p,
.p-privacypolicy li {
  line-height: 1.5;
  font-size: 1rem;
  color: #584f4c;
}

.p-privacypolicy ul {
  margin-top: 1rem;
}

.p-privacypolicy li {
  padding-left: 3rem;
  text-indent: -3rem;
}

.p-privacypolicy .reception {
  margin-top: 1rem;
  padding-left: 1rem;
  line-height: 1.5;
  color: #584f4c;
}

.p-privacypolicy .reception__title {
  text-indent: -1rem;
}

.p-privacypolicy .reception .tel > * {
  display: inline-block;
  padding-top: .5rem;
}

.p-privacypolicy .reception .tel a {
  color: #84bee5;
}

.p-privacypolicy .box__inner + .box__inner {
  margin-top: 2.5rem;
}

.p-privacypolicy .box__title {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: bold;
}

.p-privacypolicy.is-open > .js-accordion__button::after {
  transform: rotate(180deg);
}

/*# sourceMappingURL=index.css.map */
