@charset "UTF-8";
/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name:
Note:

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

1.	共通使用変数定義
2.	Function
3.	Layout
4.	Object
------------------------------------------------------------------------
----------------------------------------------------------------------*/
.p-container {
  padding-bottom: 18.9333333333vw;
}

.p-cta__button a {
  display: block;
  overflow: hidden;
  box-shadow: 0 0.8vw 0.8vw 0.2666666667vw rgba(0,0,0,.15);
}
.p-cta__button__text {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  color: #4d4d4d;
}

.p-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background: #fff;
  transition: all 0.5s;
  box-shadow: 0 3px 3px 1px rgba(0,0,0,.15);
}
.p-header__logo, .p-header__hum {
  z-index: 2;
}
.p-header__logo {
  position: relative;
  padding: 2.4vw 5.3333333333vw 2.9333333333vw;
  width: 48.5333333333vw;
}
.p-header__hum {
  position: absolute;
  top: 0;
  right: 0;
  width: 17.6vw;
  height: 14.6666666667vw;
}
.p-header__hum i {
  display: inline-block;
  position: absolute;
  left: 4vw;
  width: 9.3333333333vw;
  height: 1.0666666667vw;
  border-radius: 2.6666666667vw;
  background: #004d90;
  transition: transform 0.3s;
}
.p-header__hum i.hum__line__top {
  top: 2.5333333333vw;
}
.p-header__hum i.hum__line__middle {
  top: 4.9333333333vw;
}
.p-header__hum i.hum__line__middle::after {
  content: "MENU";
  display: flex;
  position: absolute;
  top: 4.9333333333vw;
  right: 0;
  left: 0;
  justify-content: space-around;
  padding-left: 0.2666666667vw;
  width: 9.3333333333vw;
  text-align: center;
  font-size: 2.4vw;
  font-weight: bold;
  letter-spacing: 0.5333333333vw;
  color: #004d90;
  font-style: normal;
}
.p-header__hum i.hum__line__bottom {
  top: 7.4666666667vw;
}
.p-header__hum.is-open i.hum__line__top {
  top: 5.3333333333vw;
  width: 9vw;
  height: 1.0666666667vw;
  transform: rotateZ(-45deg);
}
.p-header__hum.is-open i.hum__line__middle {
  background: none;
}
.p-header__hum.is-open i.hum__line__middle::after {
  content: "CLOSE";
  text-align: center;
  letter-spacing: inherit;
}
.p-header__hum.is-open i.hum__line__bottom {
  top: 5.3333333333vw;
  width: 9vw;
  height: 1.0666666667vw;
  transform: rotateZ(45deg);
}
.p-header__menu {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1;
  background: #fff;
  opacity: 0;
  transform: translateY(-66.6666666667vw);
  transition: all 0.5s;
}
.p-header__menu.is-open {
  opacity: 1;
  transform: translateY(0);
}
.p-header__navi__list {
  display: flex;
  flex-wrap: wrap;
  border-top: 0.2666666667vw solid #b4b4b4;
  box-shadow: inset 0 -0.2666666667vw 0 0 #b4b4b4;
}
.p-header__navi__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  border-bottom: 0.2666666667vw solid #b4b4b4;
  line-height: 13.3333333333vw;
  box-sizing: border-box;
}
.p-header__navi__item::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 1.4666666667vw;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 1.6vw;
  height: 1.3333333333vw;
  background: #00a2cb;
}
.p-header__navi__item a {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: 3.7333333333vw;
  color: #4d4d4d;
}
.p-header__navi__item:nth-child(odd) {
  border-right: 0.2666666667vw solid #b4b4b4;
}
.p-header__cta__inner {
  display: flex;
  justify-content: space-between;
  padding: 3.3333333333vw;
  box-sizing: border-box;
}
.p-header__cta__button {
  width: 45.3333333333vw;
  height: 14.6666666667vw;
}
.p-header__cta__button a {
  border-radius: 1.3333333333vw;
}

.p-main {
  padding-top: 14.4vw;
}
.p-main .p-cta__button {
  margin-right: 5.3333333333vw;
  margin-left: 5.3333333333vw;
}
.p-main .p-cta__button + .p-cta__button {
  margin-top: 2vw;
}

.p-hero {
  position: relative;
}
.p-hero__pic__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  line-height: 3.2142857143;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  color: #0069ab;
}
.p-hero__cta {
  position: absolute;
  bottom: 8vw;
}
.p-hero__cta__button a {
  border-radius: 0.5333333333vw;
}
.p-hero__cta .reservation .p-hero__cta__button__text {
  margin-top: 3.0666666667vw;
}
.p-hero__cta .tel .p-hero__cta__button__text {
  margin-top: 2.4vw;
}

.p-trouble {
  position: relative;
}
.p-trouble::before, .p-trouble::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 0;
  width: 50%;
  background: #cfe0ef;
  aspect-ratio: 375/80;
}
.p-trouble::before {
  left: 50%;
  transform: translateX(-100%);
  clip-path: polygon(0 100%, 100% 100%, 0 0);
}
.p-trouble::after {
  right: 50%;
  transform: translateX(100%);
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
}
.p-trouble .pic2 {
  position: absolute;
  left: 50%;
  bottom: 13.3333333333vw;
  z-index: 2;
  transform: translateX(-50%);
  width: 89.3333333333vw;
}

.p-about {
  padding-top: 4vw;
  padding-bottom: 11.2vw;
  background: #cfe0ef;
}
.p-about__title {
  margin-right: auto;
  margin-bottom: 4.6666666667vw;
  margin-left: auto;
  width: 89.0666666667vw;
}
.p-about__text {
  margin-bottom: 4.2666666667vw;
  line-height: 1.6333333333;
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  color: #595757;
}
.p-about__text .emphasis {
  background: linear-gradient(to bottom, transparent 70%, #cbcd4b 70%);
  font-weight: bold;
}
.p-about__pic {
  margin-bottom: 9.3333333333vw;
}
.p-about__lead {
  margin-right: auto;
  margin-bottom: 10.1333333333vw;
  margin-left: auto;
  width: 77.6vw;
}
.p-about__intro {
  margin-right: auto;
  margin-left: 0;
  width: 95.2vw;
}

.p-cv {
  position: relative;
}
.p-cv__cta {
  position: absolute;
  bottom: 13.3333333333vw;
}
.p-cv__cta__button a {
  border-radius: 0.8vw;
}
.p-cv__cta .reservation .p-cta__button__text {
  margin-top: 3.2vw;
}
.p-cv__cta .tel .p-cta__button__text {
  margin-top: 2.2666666667vw;
}

.p-contents__title {
  display: flex;
  align-items: center;
  column-gap: 1.6vw;
  font-size: 1.9rem;
  font-weight: bold;
  color: #006fb8;
  letter-spacing: 0.8vw;
}
.p-contents__title::before, .p-contents__title::after {
  flex: 1;
  content: "";
  display: block;
  width: 100%;
  border-top: 0.2666666667vw solid #006fb8;
}

.p-reason {
  position: relative;
  margin-right: 5.3333333333vw;
  margin-left: 5.3333333333vw;
  padding-top: 13.3333333333vw;
  padding-bottom: 15.3333333333vw;
}
.p-reason__title {
  margin-bottom: 8vw;
  line-height: 1.2631578947;
  text-align: center;
}
.p-reason__item + .p-reason__item {
  margin-top: 5.3333333333vw;
}

.p-treatment {
  margin-right: 5.3333333333vw;
  margin-bottom: 13.3333333333vw;
  margin-left: 5.3333333333vw;
  padding-top: 7.2vw;
  padding-bottom: 4vw;
  background: #cfe0ef;
  border-radius: 2.6666666667vw;
}
.p-treatment__title {
  margin-right: auto;
  margin-bottom: 6vw;
  margin-left: auto;
  width: 78.1333333333vw;
}
.p-treatment__pic {
  margin-right: auto;
  margin-left: 0;
  width: 90.9333333333vw;
}
.p-treatment__contents {
  position: relative;
}
.p-treatment__contents > *:not([class*=_bg]) {
  position: relative;
  z-index: 1;
}
.p-treatment__contents + .p-treatment__contents {
  margin-top: 4vw;
}
.p-treatment__contents__title {
  margin-right: auto;
  margin-bottom: 5.3333333333vw;
  margin-left: auto;
  width: 63.2vw;
}
.p-treatment__contents .pic1 {
  margin-left: -5.3333333333vw;
  width: 90.9333333333vw;
}
.p-treatment__contents .pic2 {
  width: 73.0666666667vw;
}
.p-treatment__contents .pic3 {
  width: 72.9333333333vw;
}
.p-treatment__contents .pic4 {
  margin-bottom: 8vw;
  width: 73.0666666667vw;
}
.p-treatment__contents .pic4-2 {
  margin-bottom: 4vw;
  width: 73.3333333333vw;
}
.p-treatment__contents .pic4-3 {
  width: 73.3333333333vw;
}
.p-treatment__contents.no2 {
  margin-right: 4vw;
  margin-left: 4vw;
  padding-top: 4vw;
  padding-bottom: 5.3333333333vw;
}
.p-treatment__contents__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.p-treatment__item + .p-treatment__item {
  margin-top: 5.3333333333vw;
}
.p-treatment__item__pic {
  margin-right: auto;
  margin-left: auto;
}

.p-faq {
  padding-top: 13.3333333333vw;
  padding-right: 5.3333333333vw;
  padding-bottom: 13.3333333333vw;
  padding-left: 5.3333333333vw;
  background: #cfe0ef;
}
.p-faq__title {
  margin-right: auto;
  margin-bottom: 8vw;
  margin-left: auto;
  width: 57.3333333333vw;
}
.p-faq__contents {
  background: #fff;
  border-radius: 2.6666666667vw;
  box-shadow: 0 0 3px 1px rgba(0,0,0,.15);
}
.p-faq__contents + .p-faq__contents {
  margin-top: 2.6666666667vw;
}
.p-faq__contents.is-opened .p-faq__question::after {
  margin-top: 0.8vw;
  transform: rotate(225deg);
}
.p-faq__question {
  display: flex;
  align-items: center;
  column-gap: 2.9333333333vw;
  padding-top: 2.6666666667vw;
  padding-right: 2.6666666667vw;
  padding-bottom: 2.6666666667vw;
  padding-left: 2.6666666667vw;
}
.p-faq__question__pic {
  display: block;
  width: 9.7333333333vw;
}
.p-faq__question__text {
  flex: 1;
  line-height: 1.1875;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
}
.p-faq__question::after {
  content: "";
  display: block;
  position: relative;
  margin-top: -0.8vw;
  width: 1.6vw;
  height: 1.6vw;
  border-right: 0.2666666667vw solid #b1b1b1;
  border-bottom: 0.2666666667vw solid #b1b1b1;
  transform: rotate(45deg);
}
.p-faq__answer__inner {
  padding: 3.7333333333vw 2.6666666667vw 2.6666666667vw;
}
.p-faq__answer__icon {
  margin-bottom: -1.0666666667vw;
  margin-left: 3.7333333333vw;
  display: block;
}
.p-faq__answer__icon img {
  width: 13.6vw;
}
.p-faq__answer__text {
  padding-top: 3.7333333333vw;
  padding-right: 3.7333333333vw;
  padding-left: 3.7333333333vw;
  padding-bottom: 3.7333333333vw;
  background: #edf2f4;
  border-radius: 1.3333333333vw;
  line-height: 1.5333333333;
  font-size: 1.5rem;
  color: #333;
}

.p-clinic {
  padding-top: 13.3333333333vw;
  padding-bottom: 9.3333333333vw;
}
.p-clinic__title {
  margin-right: 7.3333333333vw;
  margin-bottom: 10.4vw;
  margin-left: 7.3333333333vw;
}
.p-clinic__info__contents {
  margin-right: 4vw;
  margin-left: 4vw;
  color: #333;
}
.p-clinic__info__contents__details {
  margin-bottom: 5.3333333333vw;
}
.p-clinic__info__contents__details__name {
  margin: 0 auto;
  padding: 4vw 0;
  text-align: center;
}
.p-clinic__info__contents__details__name img {
  width: auto;
  height: 10.6666666667vw;
}
.p-clinic__info__contents__details__body {
  margin-bottom: 4vw;
  font-size: 3.4666666667vw;
}
.p-clinic__info__contents__details__body > * {
  display: flex;
  margin-bottom: 2.6666666667vw;
}
.p-clinic__info__contents__details__body dt {
  padding: 0.6666666667vw 0;
  width: 22.6666666667vw;
  border-right: 0.2666666667vw #ccc solid;
  line-height: 1.2857142857;
  box-sizing: border-box;
}
.p-clinic__info__contents__details__body dd {
  flex: 1;
  padding: 0.6666666667vw 0 0.6666666667vw 2vw;
  line-height: 1.2857142857;
}
.p-clinic__info__contents__details__body .tel dd {
  padding: 0 0 0 2vw;
}
.p-clinic__info__contents__details__body .tel dd img {
  width: 41.6vw;
}
.p-clinic__info__contents__details__map {
  display: flex;
  position: relative;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80vw;
  background-color: #efefef;
}
.p-clinic__info__contents__details__map iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  margin: 0;
  width: 100%;
  min-width: 400px;
  height: 400px;
  border: none;
}
.p-clinic__info__contents__details__guide {
  margin: 2.6666666667vw 0;
}
.p-clinic__info__contents__details__guide__item {
  margin-bottom: 1.3333333333vw;
  padding-left: 1.1em;
  text-indent: -1.2em;
  font-size: 3.4666666667vw;
}
.p-clinic__info__contents__details__guide__item::before {
  content: "●";
  padding-right: 0.1em;
}
.p-clinic__info__contents__details__pdf {
  width: 42.6666666667vw;
}
.p-clinic__info__contents__doctor {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-clinic__info__contents__doctor__name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 33.6vw;
  padding-left: 8.9333333333vw;
  border-left: 0.2666666667vw #ccc solid;
}
.p-clinic__info__contents__doctor__name__lead {
  margin-bottom: 2.5333333333vw;
  font-size: 3.4666666667vw;
}
.p-clinic__info__contents__doctor__name__ja {
  margin-bottom: 1.7333333333vw;
  font-size: 4.8vw;
}
.p-clinic__info__contents__doctor__name__en {
  font-size: 2.8vw;
  color: #9d9d9d;
}
.p-clinic__info__contents__doctor__pic {
  width: 29.8666666667vw;
}
.p-clinic__info__contents__doctor__introduction, .p-clinic__info__contents__doctor__career {
  width: 100%;
}
.p-clinic__info__contents__doctor__introduction {
  padding: 4vw 0 3.3333333333vw;
  line-height: 1.5357142857;
  font-size: 3.4666666667vw;
}
.p-clinic__info__contents__doctor__career {
  margin-top: 4vw;
}
.p-clinic__info__contents__doctor__career thead {
  background-color: #eff3f5;
}
.p-clinic__info__contents__doctor__career thead tr th {
  padding: 1.3333333333vw 2.5333333333vw;
  font-size: 3.4666666667vw;
}
.p-clinic__info__contents__doctor__career tbody td {
  padding: 0.4vw 0;
  border-bottom: #ccc solid 0.1333333333vw;
  font-size: 2.9333333333vw;
  line-height: 1.4;
}
.p-clinic__info__contents__doctor__career tbody .career-year {
  width: 19.2vw;
}
.p-clinic__info__contents__doctor__career tbody tr:first-child td {
  padding: 2.6666666667vw 0 1.3333333333vw;
}

.p-privacypolicy {
  position: relative;
  margin-bottom: 9.4666666667vw;
}
.p-privacypolicy-inner {
  margin: 0 4vw;
}
.p-privacypolicy-inner.is-open .p-privacypolicy-title {
  background: url(../../img/sp/privacypolicy_arrow2.png) center bottom 10.5333333333vw/4.2666666667vw 2.4vw no-repeat;
}
.p-privacypolicy__title {
  padding: 5.7333333333vw 0 13.3333333333vw;
}
.p-privacypolicy__title__text {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #555;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.18em;
  margin-bottom: 2.6666666667vw;
}
.p-privacypolicy__title__text:before, .p-privacypolicy__title__text:after {
  display: block;
  content: "";
  width: 23.3333333333vw;
  height: 0.2666666667vw;
  background-color: #ccc;
}
.p-privacypolicy__title::after {
  content: "";
  display: block;
  margin-top: -0.5333333333vw;
  margin-right: auto;
  margin-left: auto;
  width: 3.2vw;
  height: 3.2vw;
  border-right: 0.2666666667vw solid #b1b1b1;
  border-bottom: 0.2666666667vw solid #b1b1b1;
  transform: rotate(45deg) translate(-0.4vw, -0.4vw);
}
.p-privacypolicy-contents {
  color: #555;
}
.p-privacypolicy-contents-box {
  margin-bottom: 4vw;
}
.p-privacypolicy-contents-box.last {
  margin-bottom: 0;
  padding-bottom: 10.6666666667vw;
}
.p-privacypolicy-contents-box .title {
  font-size: 1.4rem;
  font-weight: bold;
}
.p-privacypolicy-contents-box p,
.p-privacypolicy-contents-box ul {
  line-height: 1.8333333333;
  font-size: 1.2rem;
}
.p-privacypolicy-contents-box li {
  padding-left: 2.5em;
  text-indent: -3em;
}
.p-privacypolicy-contents .reception {
  margin-top: 2vw;
  font-size: 1.2rem;
}
.p-privacypolicy-contents .reception-title {
  margin-bottom: 2vw;
}
.p-privacypolicy-contents .reception-tel a {
  color: #4ab4fc;
  text-decoration: underline;
  padding: 0.5em;
}
.p-privacypolicy .is-opened .p-privacypolicy__title::after {
  margin-top: 0.5333333333vw;
  transform: rotate(225deg) translate(-0.4vw, -0.4vw);
}

.p-fixed-cv {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100vw;
  transition: opacity 0.3s ease-in-out;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
}
.p-fixed-cv.is-show {
  opacity: 1;
  pointer-events: all;
}
.p-fixed-cv__cta {
  display: flex;
  justify-content: space-between;
  width: 100vw;
  padding: 2.8vw;
  box-sizing: border-box;
}
.p-fixed-cv__cta__button {
  margin-right: 0;
  margin-left: 0;
  width: 46.2666666667vw;
}
.p-fixed-cv__cta__button a {
  border-radius: 1.3333333333vw;
}
.p-fixed-cv__cta__button + .p-fixed-cv__cta__button {
  margin-top: 0;
}
/*# sourceMappingURL=index.css.map */
