@charset "UTF-8";

:where(.p-front) {
  position: relative;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.6;
  overflow: hidden;
}

h2 {
  color: #774E22;
}

.sp {
  display: none;
}

.p-front-mv {
  display: flex;
  position: relative;
  height: 725px;
  /* background: url("../img/front/mv-bg01.webp") no-repeat 50% 100%; */
  background-size: 3500px auto;
  background: transparent linear-gradient(180deg, #ECE0D6 0%, #ECE0D6 13%, #FFFFFF 92%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
}

@media screen and (max-width: 1090px) {
  .p-front-mv {
    height: unset;
  }
}

@media screen and (max-width: 767px) {
  .p-front-mv {
    overflow: visible;
  }
}

.p-front-mv__img-outer {
  /* position: absolute !important; */
  inset: 30px 0 0 0;
  width: 70%;
  max-width: 100%;
  height: 600px;
  /* margin: auto; */
  /* text-align: center; */
  padding: 0 0 0 0px;
  overflow: hidden;
  background: url("../img/front/mv-first-bg.webp") no-repeat center / cover;
  border-bottom-left-radius: 80px;
}

.p-front-mv__img-bg {
  /* position: absolute !important; */
  inset: 30px 0 0 0;
  /* width: 1346px; */
  max-width: 100%;
  height: 600px;
  /* margin: auto; */
  /* text-align: center; */
  padding: 0 0 0 0px;
  overflow: hidden;
}

@media screen and (max-width: 1090px) {
  .p-front-mv__img-bg {
    display: none;
  }

  .p-front-mv__img-outer {
    /* position: absolute !important; */
    inset: 30px 0 0 0;
    width: 100%;
    height: 600px;
    border-bottom-left-radius: unset;
  }
}

.p-front-mv__img {
  /* position: absolute !important; */
  /* inset: 30px 0 0 0; */
  /* width: 1346px; */
  max-width: 100%;
  height: 600px;
  /* margin: auto; */
  /* text-align: center; */
  /* padding: 0 0 0 50px; */
}

@media screen and (max-width: 767px) {
  .p-front-mv__img {
    margin: 0;
    height: 700px;
  }

  .p-front-mv__img-outer {
    overflow: visible;
  }
}

.p-front-mv__img .vegas-slide,
.p-front-mv__img .vegas-slide-inner {
  background-position: 35% 50% !important;
}

.p-front-mv__content {
  position: relative;
  /* top: 100px; */
  width: 30%;
  max-width: 100%;
  /* margin: auto; */
  /* padding: 0 25px; */
  z-index: 2;
  text-align: center;
}

.p-front-mv__content::before {
  content: "";
  width: 200px;
  height: 300px;
  background: url("../img/front/mv-logo-back01.png") no-repeat right top / cover;
  position: absolute;
  top: 0;
  right: 0;
}

.p-front-mv__content::after {
  content: "";
  width: 160px;
  height: 150px;
  background: url("../img/front/mv-logo-back02.png") no-repeat left bottom / cover;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1090px) {
  .p-front-mv__content {
    position: absolute;
    top: 0px;
    padding: 0;
    height: 100%;
  }

  .p-front-mv__content {
    width: 100%;
    text-align: center;
  }
}

.p-front-mv__title {
  display: flex;
  /* justify-content: flex-end; */
  padding-left: 80px;
}

@media screen and (max-width: 1090px) {
  .p-front-mv__title {
    width: 100%;
    padding: 0;

  }
}

@media screen and (max-width: 767px) {
  .p-front-mv__title {
    right: 17px;
  }
}

.p-front-mv__title h1 {
  position: absolute;
  top: 220px;
  /* width: 420px; */
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.79;
  letter-spacing: 5.6px;
  text-align: left;
  color: #a35f24;
  letter-spacing: 0.2em;
  text-align: left;
  text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 10px rgba(255, 255, 255, 1);
}

.p-front-mv__title h1 span {
  display: block;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.79;
  letter-spacing: 5.6px;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 1090px) {
  .p-front-mv__title h1 {
    position: relative;
    top: -282px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-front-mv__title h1 {
    width: 100%;
    text-align: center;
    top: 0;
    z-index: 10;
    font-size: 25px;
    line-height: 1.5;
  }

  .p-front-mv__title h1 span {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0px;
    margin-bottom: 10px;
  }
}

.p-front-mv__banner01 {
  /* padding-top: 100px; */
  /* text-align: right; */
  width: 900px;
  position: relative;
  top: 100px;
  left: 7vw;
}

@media screen and (max-width: 1090px) {
  .p-front-mv__banner01 {
    top: 195px;
    right: unset;
    left: unset;
    z-index: 9;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-front-mv__banner01 {
    position: absolute;
    top: 435px;
    right: unset;
    left: unset;
    width: 100%;
    z-index: 9;
  }

  .p-front-mv__banner01 .pc {
    display: none;
  }

  .p-front-mv__banner01 .sp {
    display: block;
    width: 90%;
    max-width: 400px;
    margin: 0 auto;
  }
}



.p-front-mv__banner02 {
  position: absolute;
  bottom: -6px;
  left: 67px;
}

@media screen and (max-width: 1090px) {
  .p-front-mv__banner02 {
    bottom: 54px;
    left: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-front-mv__banner02 {
    bottom: -30px;
    left: -44px;
  }
}

.p-front-news {
  position: relative;
  /* margin-bottom: 120px; */
  padding: 6rem 0;
  background: url(../img/front/back-wood01.webp) repeat-x 50% 0%;

}

@media screen and (max-width: 1090px) {
  .p-front-news {
    background: url(../img/front/back-wood01.webp) repeat-y 50% 0%;

  }
}

@media screen and (max-width: 767px) {
  .p-front-news {
    padding-top: 18rem;

  }
}

/* .p-front-news::before { */
content: "";
position: absolute;
top: -135px;
left: 0;
width: 100%;
height: 669px;
background: url("../img/front/news-bg01.webp") no-repeat 50% 0%;
background-size: 3500px auto;
}

@media screen and (max-width: 767px) {
  .p-front-news::before {
    height: 980px;
    background: url("../img/front/news-bg01-sp.webp") no-repeat 50% 0%;
    background-size: 100%;
  }
}

.p-front-news-block01 {
  display: flex;
  justify-content: space-evenly;
  position: relative;
  right: 0;
  bottom: 0;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-front-news-block01 {
    flex-wrap: wrap;
  }
}

/* .p-front-news-block01::before { */
content: "";
position: absolute;
top: 22px;
left: -63px;
width: 295px;
height: 230px;
background: url("../img/front/news01.png") no-repeat 0% 0%;
background-size: 295px auto;
}

@media screen and (max-width: 1090px) {
  .p-front-news-block01::before {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-front-news-block01::before {
    display: block;
    top: 71px;
    left: -8px;
    width: 160px;
    height: 230px;
    background-size: 100% auto;
  }
}

.p-front-news-block01__inner {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  max-width: 100%;
  justify-content: center;
}

.p-front-news-block01__left {
  width: 61%;
  display: flex;
  background: #fff;
  border-radius: 20px;
}



.p-front-news-block01__left-inner {
  width: 140px;
  /* height: 160px; */
  /* box-shadow: 0 0 30px 0 rgba(33, 93, 15, 0.3); */
  background-color: #E7DFD5;
  /* border-radius: 100px; */
  /* padding-top: 47px; */
  /* margin-top: 24px; */
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  text-align: center;
}

.p-front-news-block01__title {
  font-size: 17px;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 700;
  color: #774E22;
  margin-top: 5px;
  margin-bottom: 20px;
}

@media screen and (max-width: 500px) {
  .p-front-news-block01__title {
    margin-top: -2px;
    margin-bottom: 20px;
  }
}

.p-front-news-block01__en {
  padding-top: 12px;
  font-size: 59px;
  text-align: center;
  /* font-family: "segoe", serif; */
  line-height: 1.4;
  color: #B18C67;
  font-weight: 100;
  position: relative;
  left: -16px;
}

.p-front-news-block01__left-inner img {
  width: 50px;
}

@media screen and (max-width: 1090px) {
  .p-front-news-block01__left {
    width: 90%;
    margin-bottom: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .p-front-news-block01__left {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-bottom: 4rem;
    flex-wrap: wrap;
  }

  .p-front-news-block01__left-inner {
    width: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border-bottom-left-radius: unset;
    text-align: center;
    padding-bottom: 10px;
  }

  .p-front-news-block01__en {
    padding-top: 0;
    left: 0;
  }
}

.p-front-news-block01__right {
  flex: 1;
  position: relative;
  top: 2px;
  padding-left: 50px;
  padding-bottom: 10px;
  line-height: 1.6;
}

.p-front-news-block01-title {
  display: flex;
}

.p-front-news-block01-title h2 {
  font-size: 25px;
  width: 180px;
}

.p-front-news-block01-title p {
  font-size: 13px;
}

@media screen and (max-width: 1090px) {
  .p-front-news-block01__right {
    padding: 0 50px;
    border-left: none;
  }

  .p-front-news-block01-title {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .p-front-news-block01-title h2 {
    font-size: 25px;
    width: 170px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .p-front-news-block01__right {
    flex: none;
    width: 100%;
    padding: 30px 0 5px 0;
  }
}

.p-front-news-block01__btn {
  padding-top: 0px;
  text-align: right;
}

@media screen and (max-width: 1090px) {
  .p-front-news-block01__btn {
    text-align: center;
  }
}

.p-front-news-block01__btn>a {
  /* width: 130px; */
  margin-top: 12px;
  display: block;
}

.p-front-post-list {
  flex: 1;
  padding: 25px 30px;
  position: relative;
}

.p-front-post-list .p-front-news-block01__btn {
  position: absolute;
  bottom: 15px;
  right: 15px;
}

@media screen and (max-width: 767px) {
  .p-front-post-list {
    margin-bottom: 10px;
  }

  .p-front-post-list {
    flex: 1;
    padding: 25px 20px 50px;
    position: relative;
  }
}

.p-front-post-list__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .p-front-post-list__item {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 500px) {
  .p-front-post-list__item {
    margin-bottom: 30px;
  }
}

.p-front-post-list__info {
  width: 110px;
}

@media screen and (max-width: 767px) {
  .p-front-post-list__info {
    width: 100%;
    margin-bottom: 5px;
  }
}

.p-front-post-list__time {
  /* width: 120px; */
  /* height: 32px; */
  padding: 7px 10px 10.5px 0;
  border-radius: 5px;
  /* background-color: #46d576; */
  font-size: 16px;
  font-weight: 900;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1;
  color: #AC9A82;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  .p-front-post-list__time {
    width: 111px;
    /* height: 32px; */
    padding: 0;
  }
}

.p-front-post-list__title {
  width: calc(100% - 110px);
  min-height: 31px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

@media screen and (max-width: 767px) {
  .p-front-post-list__title {
    width: 100%;
  }
}

.p-front-post-list__title a {
  display: block;
  position: relative;
  top: 1px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #774E22;
  padding-right: 35px;
}

@media screen and (max-width: 767px) {
  .p-front-post-list__title a {
    padding-top: 2px;
  }
}

.p-front-post-list__title a::after {
  content: "";
  position: absolute;
  top: 0px;
  right: 0;
  width: 25px;
  height: 25px;
  background: url("../img//arrow-left.png") no-repeat 50% 50%;
  background-size: 14px;
  background-color: #CCBDAD;
  color: #fff;
  text-align: center;
  border-radius: 20px;
}

@media screen and (max-width: 1090px) {
  .p-front-post-list__title a::after {
    top: -1px;
  }
}

@media screen and (max-width: 500px) {
  .p-front-post-list__title a::after {
    top: 3px;
  }
}

/* concept */
.p-front-concept {
  padding: 80px 0 130px 0;
  position: relative;
  background: url(../img/front/back-wall02.webp) no-repeat center center;
  background-position-y: 211px;
  background-size: cover;
}

.p-front-concept::before {
  content: "";
  width: 100%;
  height: 380px;
  background: url(../img/front/concept-back.webp) no-repeat center center / cover;
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
}

.p-front-concept .back-wrap::before {
  /* content: ""; */
  /* width: 220px; */
  /* height: 220px; */
  /* background: url(../img/front/concept-corner01.png) no-repeat center center / cover; */
  /* display: block; */
  /* position: absolute; */
  /* top: 340px; */
  /* left: 0; */
}

.p-front-concept .back-wrap::after {
  content: "";
  width: 220px;
  height: 220px;
  background: url(../img/front/concept-corner02.png) no-repeat center center / cover;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}

.back-wrap .p-front-greeting-block01 {
  position: relative;
  z-index: 5;
}

.back-wrap .p-front-greeting-block01::before {
  content: "";
  width: 400px;
  height: 400px;
  background: url(../img/front/concept-corner03.png) no-repeat center center / cover;
  display: block;
  position: absolute;
  top: -80px;
  left: -112px;
  z-index: -2;
}

@media screen and (max-width: 1090px) {
  .back-wrap .p-front-greeting-block01::before {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .back-wrap .p-front-greeting-block01::before {
    content: "";
    width: 300px;
    height: 300px;
    background: url(../img/front/concept-corner03.png) no-repeat center center / cover;
    display: block;
    position: absolute;
    top: -70px;
    left: -80px;
    z-index: -2;
  }
}




/* medical */
.p-front-medical {
  padding: 80px 0 130px 0;
  position: relative;
  background: url(../img/front/back-wood2.webp) no-repeat center center / cover;
}

@media screen and (max-width: 767px) {
  .p-front-medical {
    padding: 90px 0 120px 0;
  }

  .p-front-concept .back-wrap::before {
    display: none;
  }
}

.p-front-medical__heading::after {
  /* content: ""; */
  /* position: absolute; */
  /* top: -15px; */
  /* left: calc(50% + 160px); */
  /* width: 231px; */
  /* height: 119px; */
  /* background: url("../img//front/medical-title.png") no-repeat 50% 50%; */
  /* background-size: cover; */
}

@media screen and (max-width: 767px) {
  .p-front-medical__heading::after {
    position: absolute;
    inset: auto 0 -160px 0;
    margin: auto;
  }
}

.p-front-medical-block01 {
  gap: 27px;
}

@media screen and (max-width: 767px) {
  .p-front-medical-block01 {
    gap: 19px;
  }
}

@media screen and (max-width: 1090px) {
  .p-front-medical-block01 {
    width: 600px;
    max-width: 100%;
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-front-medical-block01>a {
    width: calc(50% - 9.5px);
  }
}

.p-front-medical ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  gap: 18px;
}

.p-front-medical li {
  width: 18.5%;
  height: 85px;
  background: #B18C67;
  border-radius: 8px;
}

.p-front-medical li a {
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: 600;
  text-align: center;
  position: relative;
  padding-bottom: 10px;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-front-medical li a::after {
  content: "";
  width: 30px;
  height: 3px;
  background: url(../img/front/line.png) no-repeat center center / cover;
  display: block;
  position: absolute;
  bottom: 20px;
}

/* よねやま歯科医院でできること */
.p-front-possible {
  position: relative;
  padding: 100px 0 80px 0;
  background: url("../img/front/back-wall01.webp") no-repeat 50% 0%;
  background-size: cover;
  overflow-x: hidden;
}

@media screen and (max-width: 1090px) {
  .p-front-feature {
    padding: 100px 0 20px 0;
  }

  .p-front-medical li {
    width: 29.5%;
    height: 85px;
    background: #B18C67;
    border-radius: 8px;
  }
}

@media screen and (max-width: 768px) {
  .p-front-medical li {
    width: 46.5%;
    height: 100px;
    font-size: 17px;
  }
}

/* クリニックの特徴 */
.p-front-feature {
  position: relative;
  padding: 100px 0 80px 0;
  background: url("../img/front/back-cloth.webp") repeat-y 50% 0%;
  background-size: cover;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .p-front-feature {
    padding: 100px 0 20px 0;
  }
}

.p-front-feature__heading::after {
  /* content: ""; */
  /* position: absolute; */
  /* top: -13px; */
  /* left: calc(50% - 346px); */
  /* width: 560px; */
  /* height: 124px; */
  /* background: url("../img//front/feature-title.png") no-repeat 50% 50%; */
  /* background-size: cover; */
}

@media screen and (max-width: 767px) {
  .p-front-feature__heading::after {
    top: 106px;
    left: calc(50% - 67px);
  }
}

.p-front-feature-block01 {
  position: relative;
  margin: 0 -35px;
}

@media screen and (max-width: 1090px) {
  .p-front-feature-block01 {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01 {
    padding-top: 10px;
  }
}

@media screen and (max-width: 1090px) {
  .p-front-feature-block01__item {
    margin: auto;
  }
}

.p-front-feature-block01__item--01 {
  width: 398px;
  margin-right: -18px;
}

@media screen and (max-width: 1090px) {
  .p-front-feature-block01__item--01 {
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__item--01 {
    max-width: 100%;
  }
}

.p-front-feature-block01__item--02 {
  width: 435px;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__item--02 {
    position: relative;
    left: -1px;
    margin-bottom: 35px;
    max-width: 105%;
  }
}

.p-front-feature-block01__item--03 {
  width: 433px;
  margin: -50px -10px 0 0;
}

@media screen and (max-width: 1090px) {
  .p-front-feature-block01__item--03 {
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__item--03 {
    position: relative;
    margin-bottom: 35px;
    max-width: 106%;
  }
}

.p-front-feature-block01__item--04 {
  width: 427px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__item--04 {
    margin-bottom: 35px;
    max-width: 106%;
  }
}

.p-front-feature-block01__item--05 {
  width: 430px;
  margin-top: 20px;
}

@media screen and (max-width: 1090px) {
  .p-front-feature-block01__item--05 {
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__item--05 {
    position: relative;
    max-width: 100%;
  }
}

.p-front-feature-block01__img {
  position: relative;
  text-align: center;
}

.p-front-feature-block01__content {
  position: relative;
  z-index: 3;
  margin-top: -60px;
}

.p-front-feature-block01__content--01 {
  min-height: 310px;
  background: url("../img//front/feature-waku-01.png") no-repeat 0% 0%;
  background-size: 100% auto;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__content--01 {
    left: 9px;
  }
}

.p-front-feature-block01__content--02 {
  min-height: 280px;
  background: url("../img//front/feature-waku-02.png") no-repeat 0% 0%;
  background-size: 100% auto;
  padding: 20px 0 0 30px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__content--02 {
    left: -9px;
  }
}

.p-front-feature-block01__content--03 {
  min-height: 335px;
  background: url("../img//front/feature-waku-03.png") no-repeat 0% 0%;
  background-size: 100% auto;
  padding: 20px 20px 0 20px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__content--03 {
    left: 9px;
  }
}

.p-front-feature-block01__content--04 {
  min-height: 310px;
  background: url("../img//front/feature-waku-04.png") no-repeat 0% 0%;
  background-size: 100% auto;
  padding: 5px 0px 0 30px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__content--04 {
    left: -10px;
  }
}

.p-front-feature-block01__content--05 {
  min-height: 310px;
  margin-top: -85px;
  background: url("../img//front/feature-waku-05.png") no-repeat 0% 0%;
  background-size: 100% auto;
  padding: 20px 20px 0 20px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__content--05 {
    left: 5px;
  }
}

.p-front-feature-block01__content-inner {
  padding: 33px 30px 10px 30px;
}

.p-front-feature-block01__no {
  position: absolute;
  top: -45px;
  left: 30px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__no--02 {
    left: 58px;
  }
}

.p-front-feature-block01__no--03 {
  top: -45px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__no--03 {
    left: 44px;
  }
}

.p-front-feature-block01__no--04 {
  top: -6px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__no--04 {
    left: 50px;
  }
}

.p-front-feature-block01__no--05 {
  top: -6px;
}

@media screen and (max-width: 767px) {
  .p-front-feature-block01__no--05 {
    top: -35px;
    left: 35px;
  }
}

.p-front-feature-block01__title {
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-family: "cramin", serif;
  font-size: 25px;
  line-height: 1.28;
  letter-spacing: 2.5px;
  text-align: center;
  background: url("../img/wavy-line.png") no-repeat 50% 100%;
  background-size: 90px;
  color: #1d91ae;
}

.p-front-feature-block01__text {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
}

/* ご挨拶 */
.p-front-greeting {
  padding: 80px 0 130px 0;
  position: relative;
  background: url(../img/front/back-wall02.webp) no-repeat center center / cover;
  background-position-y: 211px;
}

.p-front-greeting::before {
  content: "";
  width: 100%;
  height: 380px;
  background: url(../img/front/concept-back.webp) no-repeat center center / cover;
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
}

@media screen and (max-width: 1090px) {
  .p-front-greeting {
    /* background: url("../img/front/greeting-bg01-sp.png") no-repeat 50% 0%; */
    /* background-size: 100% auto; */
  }
}

/* .p-front-greeting__heading::after { */
content: "";
position: absolute;
top: -31px;
left: calc(50% + 70px);
width: 290px;
height: 162px;
background: url("../img//front/greeting-title.png") no-repeat 50% 50%;
background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-front-greeting__heading::after {
    position: absolute;
    inset: auto 0 -195px 0;
    margin: auto;
  }
}

@media screen and (max-width: 1090px) {
  .p-front-greeting-block01 {
    /* padding-top: 120px; */
    /* margin: 0 -25px; */
  }

  .p-front-greeting-block01_alt {
    padding-top: 0;
  }
}

.p-front-greeting-block01--rev {
  flex-direction: row-reverse;
}

.p-front-greeting-block01__img {
  /* width: 518px; */
  /* max-width: 48%; */
  overflow: hidden;
}

@media screen and (max-width: 1090px) {
  .p-front-greeting-block01__img {
    max-width: 100%;
    margin: 0 auto 40px auto;
  }

  .p-front-greeting-block01__img img {
    width: 100%;
    /* max-width: 95%; */
    /* height: 140%; */
    /* position: relative; */
    /* left: unset; */
    /* right: -10%; */
    /* object-fit: cover; */
    /* object-position: center; */
  }

  .p-front-greeting-block01__img--02 img {
    left: -10%;
    right: unset;
  }


}

.p-front-greeting-block01__img--01 {
  /* padding-right: 30px; */
}

.p-front-concept .p-front-greeting-block01__img--01 {
  width: 550px;
}

@media screen and (max-width: 1090px) {
  .p-front-greeting-block01__img--01 {
    /* padding-right: 0px; */
  }
}

.p-front-greeting-block01__img--02 {
  padding-left: 30px;
}

.p-front-greeting-block01__content {
  width: 50%;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  z-index: 2;
}

.p-front-feature .p-front-greeting-block01__content {
  width: 62%;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 1090px) {
  .p-front-greeting-block01__content {
    width: 100%;
    padding: 0 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-front-greeting-block01__content {
    padding: 0;
  }
}

@media screen and (max-width: 1090px) {
  .p-front-feature .p-front-greeting-block01__content {
    width: 100%;
    padding: 0 25px;
  }
}

.p-front-greeting-block01__lead {
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.47em;
  color: #8A6330;
}

.p-front-greeting-block01__name {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #604e36;
  margin-bottom: 1rem;
}

.p-front-possible .p-front-greeting-block01 {
  margin-bottom: 8rem;
}

.p-front-possible .p-front-greeting-block01__name {
  font-size: 50px;
  font-weight: 100;
  letter-spacing: 0.1em;
  color: #8A6330;
  margin-bottom: 1rem;
  position: relative;
  top: -55px;
}

.p-front-possible .p-front-greeting-block01__name::before {
  content: "";
  width: 140px;
  height: 140px;
  display: inline-block;
  position: relative;
  top: 56px;
  margin-right: 20px;
}

.p-front-possible .p-front-greeting-block01__name.icon01::before {
  background: url(../img/front/icon-possible01.png) no-repeat center center / cover;
}

.p-front-possible .p-front-greeting-block01__name.icon02::before {
  background: url(../img/front/icon-possible02.png) no-repeat center center / cover;
}

.p-front-possible .p-front-greeting-block01__name.icon03::before {
  background: url(../img/front/icon-possible03.png) no-repeat center center / cover;
}

.p-front-possible .p-front-greeting-block01__name.icon04::before {
  background: url(../img/front/icon-possible04.png) no-repeat center center / cover;
}

.p-front-possible .p-front-greeting-block01__img--01 {
  width: 52%;
  padding-right: 100px;
}

.p-front-possible .c-row-reverse .p-front-greeting-block01__img--01 {
  padding-right: 0;
  padding-left: 100px;
}

.p-front-possible .p-front-greeting-block01__content {
  width: 48%;
}

.p-front-possible ul {
  list-style: none;
  display: flex;
  justify-content: space-between;
  margin: 4rem 0 0;
  padding: 0;
  flex-wrap: wrap;
  align-items: center;
}
.p-front-possible ul li {
  width: 31.5%;
  margin-bottom: 14px;
}
.p-front-possible ul li a {
  display: block;
  width: 100%;
  background: #53D6D2;
  border-radius: 6px;
  color: #fff;
  text-align: center;
  padding: 15px;
  line-height: 1.2;
}

.p-front-feature .p-front-greeting-block01__name {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #8A6330;
  margin-bottom: 2rem;
}

.p-front-feature .p-front-greeting-block01 {
  margin-bottom: 2rem;
}

.p-front-feature .p-front-greeting-block01 .three-column-cont {
  margin-top: 4rem;
}

.p-front-feature .three-column-cont {
  width: 30%;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-front-feature .p-front-greeting-block01 {
    margin-bottom: 4rem;
  }

  .p-front-feature .p-front-greeting-block01 .three-column-cont {
    margin-top: 0;
    margin-bottom: 4rem;
  }
}

.p-front-feature .three-column-cont .p-front-greeting-block01__content {
  width: 100%;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.p-front-feature .three-column-cont .p-front-greeting-block01__name {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #8A6330;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

.p-front-feature .three-column-cont .p-front-greeting-block01__text {
  text-align: left;
}

.p-front-greeting-block01__name-en {
  margin-bottom: 60px;
  font-size: 22px;
  font-weight: bold;
  font-family: "segoe", serif;
  letter-spacing: 0em;
  color: #8fd4d3;
}

.p-front-greeting-block01__text {
  font-size: 16px;
  line-height: 2.3;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.p-front-greeting-block01__text+a {
  margin-top: 4rem;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-front-greeting-block01__text {
    font-weight: 700;
  }

  .p-front-greeting-block01__name {
    font-size: 21px;
    margin-bottom: 2rem;
  }

  .p-front-greeting-block01__name-en {
    font-size: 20px;
  }

  .p-front-feature .three-column-cont {
    width: 100%;
    text-align: center;
  }

  .p-front-possible .p-front-greeting-block01__content {
    width: 100%;
  }

  .p-front-possible .p-front-greeting-block01__img--01 {
    width: 100%;
    padding: 0px;
  }

  .p-front-possible .p-front-greeting-block01__name::before {
    width: 70px;
    height: 70px;
    display: inline-block;
    position: relative;
    top: -10px;
    left: -10px;
    margin-right: 20px;
    position: absolute;
  }

  .p-front-possible .p-front-greeting-block01__name {
    font-size: 50px;
    font-weight: 100;
    letter-spacing: 0.1em;
    color: #8A6330;
    margin-bottom: 2rem;
    position: relative;
    top: 0;
  }

  .p-front-possible ul li {
    width: 48.5%;
    margin-bottom: 14px;
  }
  .p-front-possible ul li a {
    border-radius: 6px;
    padding: 15px;
  }

  .p-front-possible .c-row-reverse .p-front-greeting-block01__img--01 {
    padding-right: 0;
    padding-left: unset;
  }

  .p-front-possible .p-front-greeting-block01 {
    margin-bottom: 4rem;
  }

  .p-front-possible ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 2rem 0 0;
    padding: 0;
    flex-wrap: wrap;
    align-items: center;
  }

  .p-front-greeting-block01__text+a {
    text-align: center;
  }

  .slick-slider {
    top: -50px;
  }
}

@media screen and (max-width: 767px) {
  .p-front-possible .p-front-greeting-block01__name {
    font-size: 30px;
    padding-left: 70px;
  }
}

/* 〇〇〇〇〇〇〇 */
.p-front-knowledge {
  position: relative;
  margin-top: -72px;
  padding: 150px 0 150px 0;
  background: url("../img/front/knowledge-bg01.png") repeat-y 50% 0%;
  background-size: 3500px auto;
}

.p-front-knowledge__heading::after {
  content: "";
  position: absolute;
  top: -37px;
  left: calc(50% - 251px);
  width: 100px;
  height: 134px;
  background: url("../img//front/knowledge-title.png") no-repeat 50% 50%;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-front-knowledge__heading::after {
    position: absolute;
    inset: auto 0 -170px 0;
    margin: auto;
  }
}

.p-front-knowledge__btn {
  width: 410px;
  max-width: 100%;
  margin: auto;
}

.p-front-knowledge-block01 {
  padding: 70px 0 60px;
  border-bottom: 3px dotted #e4e4e4;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-front-knowledge-block01 {
    padding: 100px 0 10px;
    border-bottom: none;
  }
}

.p-front-knowledge-block01--first {
  border-top: 3px dotted #e4e4e4;
}

@media screen and (max-width: 767px) {
  .p-front-knowledge-block01--first {
    border-top: none;
  }
}

.p-front-knowledge-block01__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.p-front-knowledge-block01__head {
  width: 280px;
  text-align: center;
}

@media screen and (max-width: 1090px) {
  .p-front-knowledge-block01__head {
    width: 100%;
    margin-bottom: 45px;
  }
}

.p-front-knowledge-block01__img {
  margin-bottom: 10px;
}

@media screen and (max-width: 500px) {
  .p-front-knowledge-block01__img img {
    width: 45px;
  }
}

.p-front-knowledge-block01__title {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-align: center;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-front-knowledge-block01__title {
    font-size: 25px;
  }
}

.p-front-knowledge-block01__body {
  width: calc(100% - 309px);
}

@media screen and (max-width: 1090px) {
  .p-front-knowledge-block01__body {
    width: 100%;
  }
}

.p-front-knowledge-block01__btn {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .p-front-knowledge-block01__btn {
    text-align: center;
  }
}

.p-front-knowledge-block01__btn>a {
  padding: 6px 50px 7px 0;
  background: url("../img/arrow-gt.png") no-repeat 100% -1px;
  background-size: 48px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.15em;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-front-knowledge-block01__btn>a {
    padding: 9px 50px 8px 0;
    font-size: 17px;
    background-size: 40px;
    background-position-y: 5px;
  }
}

/* 当クリニックの感染症対策 */
.p-front-hygiene {
  position: relative;
  /* margin-top: -72px; */
  padding: 100px 0 117px 0;
  background: url(../img/front/back-cloth.webp) no-repeat 50% 0%;/ cover;
  background-size: cover;
}

@media screen and (max-width: 1090px) {
  .p-front-hygiene {
    margin-top: -108px;
  }
}

@media screen and (max-width: 767px) {
  .p-front-hygiene {
    background-size: cover;
    padding: 60px 0 60px 0;
  }
}

.p-front-hygiene-block01 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  /* padding: 45px 0 40px 0; */
  /* border-radius: 15px; */
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .p-front-hygiene-block01 {
    padding: 30px 0 40px 0;
  }
}

.p-front-hygiene-block01__inner {
  width: 45%;
  max-width: 100%;
  /* margin: auto; */
  /* padding: 0 40px; */
}

.p-front-hygiene-block01__title {
  position: relative;
  margin-bottom: 45px;
  padding-left: 45px;
  font-size: 30px;
  font-weight: bold;
  color: #252929;
}


.p-front-hygiene-block01__title::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  color: #dad49f;
}

.p-front-hygiene-block01__title2 {
  position: relative;
  margin-bottom: 15px;
  padding-left: 35px;
  font-size: 20px;
  font-weight: bold;
  color: #252929;
}

.p-front-hygiene-block01__title2::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  color: #dad49f;
}

.p-front-hygiene-block01 ul {
  background: #fff;
  padding: 2rem 3rem;
  border-radius: 20px;
}

.p-front-hygiene-block01 ul li {
  margin-bottom: 15px;
}

.p-front-hygiene-block01__text2 {
  font-size: 14px;
  margin: 1rem 2rem 3rem;
}

.p-front-hygiene-block01__text {
  font-size: 16px;
  line-height: 2.29;
  color: #4F463B;
  margin-bottom: 50px;
}

.p-front-hygiene-block01__list {
  font-size: 14px;
  line-height: 2.29;
}

.p-front-hygiene-block01 img {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .p-front-hygiene-block01__title {
    padding-left: 30px;
    font-size: 22px;
    margin-bottom: 25px;
  }

  .p-front-hygiene-block01__title2 {
    padding-left: 25px;
    font-size: 18px;
  }
  .p-front-hygiene-block01__text2 {
    margin: 1rem 2rem 1rem;
}
}

/* 当クリニックの感染症対策 */
.p-front-visit {
  position: relative;
  padding: 100px 0 200px 0;
  background-color: #fafafa;
}

@media screen and (max-width: 767px) {
  .p-front-visit {
    padding: 80px 0 80px 0;
  }

  .p-front-hygiene-block01__inner {
    width: 100%;
    max-width: 100%;
    /* margin: auto; */
    /* padding: 0 40px; */
  }
}

.p-front-visit__bg01 {
  padding: 90px 0 40px 0;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 767px) {
  .p-front-visit__bg01 {
    padding: 30px 0 10px 0;
  }
}

.p-front-visit__bg01-inner {
  width: 890px;
  max-width: 100%;
  margin: auto;
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .p-front-visit__bg01-inner {
    padding: 0 20px;
  }
}

.p-front-visit__subTitle {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-front-visit__memo {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-front-visit__tel {
  color: #009245;
}

.p-front-visit-block01__item {
  margin: 0 auto 50px auto;
}

.p-front-visit-block01__title {
  position: relative;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
  color: #252929;
}

.p-front-visit-block01__no {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 15px;
  border-radius: 3px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  background-color: #e0d183;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0em;
}

.p-front-visit-block01__btn-wrap {
  padding-left: 39px;
}

.p-front-visit-block01__btn a {
  width: auto;
  height: auto;
  margin: 0 10px 7px 0;
  padding: 0.4em 25px 0.5em 25px;
  background: none;
  background-color: #009244;
}

.p-front-visit-block01__text {
  padding-left: 39px;
  color: #363636;
  line-height: 2.13;
  font-size: 15px;
}

.p-front-visit .c-front-heading__textBig {
  font-size: 35px;
  color: #4F463B;
}
@media screen and (max-width: 767px) {
  .p-front-visit .c-front-heading__textBig {
    font-size: 26px;
  }
}

/* --------------------------
医院案内
--------------------------- */
/* 診療方針 */
.clinic-policy {
  padding: 110px 0 120px 0;
  background-color: #fbfbfb;
}

@media screen and (max-width: 767px) {
  .clinic-policy {
    padding: 80px 0 80px 0;
  }
}

.clinic-policy-block01 {
  padding: 80px 20px 25px 20px;
  border-radius: 20px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .clinic-policy-block01 {
    padding: 30px 20px 25px 20px;
  }
}

.clinic-policy-block01__inner {
  width: 790px;
  max-width: 100%;
  margin: auto;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .clinic-policy-block01__inner {
    font-size: 16px;
  }
}

.clinic-policy-block02 {
  gap: 20px 78px;
}

@media screen and (max-width: 767px) {
  .clinic-policy-block02 {
    gap: 20px 20px;
  }
}

/* 医師紹介 */
.p-clinic-doctors {
  padding: 120px 0 130px 0;
  background-color: #fbfbfb;
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors {
    padding: 100px 0 100px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors-block01 {
    padding-top: 0px;
    margin: 0 -25px;
  }
}

.p-clinic-doctors-block01__img {
  width: 518px;
  max-width: 48%;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors-block01__img {
    max-width: 100%;
    margin: 0 auto 40px auto;
  }

  .p-clinic-doctors-block01__img img {
    /* width: 140%; */
    /* max-width: 140%; */
    /* height: 140%; */
    /* position: relative; */
    /* left: -20%; */
    /* object-fit: cover; */
    /* object-position: center; */
  }
}

.p-clinic-doctors-block01__img--01 {
  padding-right: 30px;
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors-block01__img--01 {
    padding-right: 0px;
  }
}

.p-clinic-doctors-block01__img--02 {
  padding-left: 30px;
}

.p-clinic-doctors-block01__content {
  width: 50%;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors-block01__content {
    width: 100%;
    padding: 0 25px;
  }
}

.p-clinic-doctors-block01__lead {
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.47em;
  color: #8A6330;
}

.doctor-career {
  margin-bottom: 2rem;
}

.alt-doctor-block .p-clinic-doctors-block01__img {
  width: 300px;
}

.alt-doctor-block .p-clinic-doctors-block01__content {
  width: 65%;
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors-block01__lead {
    letter-spacing: 0.47em;
  }
}

.p-clinic-doctors-block01__name {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #604e36;
}

.p-clinic-doctors-block01__name-en {
  margin-bottom: 60px;
  font-size: 22px;
  font-weight: bold;
  font-family: "segoe", serif;
  letter-spacing: 0em;
  color: #8fd4d3;
}

.p-clinic-doctors-block01__text {
  font-size: 15px;
  line-height: 2.13;
}

@media screen and (max-width: 767px) {
  .p-clinic-doctors-block01__text {
    /* font-weight: 700; */
  }
}

.p-clinic-doctors-block01__career {
  position: relative;
  padding: 0 0 5px 21px;
  font-size: 16px;
  font-weight: 600;
  border-bottom: 1px solid #707070;
  letter-spacing: 0.1em;
  background: url("../img/clinic/list.png") no-repeat 0% 8px;
  background-size: 10px;
}

.p-clinic-doctors-block01__list {
  list-style-type: none;
  padding: 0;
  font-size: 13px;
}

.lead-wrap {
  text-align: center;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin: 0 auto 7rem;
}

.lead-title {
  font-size: 30px;
  font-weight: 600;
  color: #B18C67;
  margin-bottom: 2rem;
}

.lead-text {
  font-size: 18px;
  color: #4F463B;
  line-height: 2;
  margin-bottom: 2rem;
  position: relative;
  z-index: 3;
}

.lead-text2::after {
  content: "";
  position: absolute;
  top: -20px;
  right: 180px;
  width: 180px;
  height: 200px;
  background: url(../img/clinic/facility26.webp) no-repeat 50% 50% / cover;
  z-index: -1;
}

.alt-block01 .p-clinic-doctors-block01__img {
  width: 400px;
}

.alt-block01 .p-clinic-doctors-block01__content {
  width: 56%;
}

/* 院内紹介 */
.p-clinic-facility {
  padding: 50px 0 100px 0;
  /* background-color: #fbfbfb; */
}

@media screen and (max-width: 767px) {
  .p-clinic-facility {
    padding: 80px 0 80px 0;
  }
}

.p-clinic-facility-block01 {
  gap: 60px 64px;
  justify-content: center;
}

@media screen and (max-width: 1090px) {
  .p-clinic-facility-block01 {
    gap: 80px 40px;
  }

  .alt-block01 .p-clinic-doctors-block01__content {
    width: 100%;
  }

  .alt-block01 .p-clinic-doctors-block01__img {
    width: 100%;
    text-align: center;
    margin-bottom: 3rem;
  }

  .p-clinic-doctors-block01__img {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 3rem;
    padding: 0 2rem;
  }

}

@media screen and (max-width: 767px) {
  .p-clinic-facility-block01 {
    gap: 40px 20px;
  }
}

.p-clinic-facility-block01__item {
  width: calc(33.3% - 42.6px);
  text-align: center;
}

.alt-facility .p-clinic-facility-block01__item {
  width: 21%;
  text-align: center;
}

.alt-facility .p-clinic-facility-block01 {
  gap: 50px 60px;
  justify-content: center;
}

@media screen and (max-width: 1090px) {
  .p-clinic-facility-block01__item {
    width: calc(33.3% - 26.6px);
  }

  .alt-facility .p-clinic-facility-block01 {
    gap: 30px 35px;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .p-clinic-facility-block01__item {
    width: calc(50% - 10px);
  }

  .alt-facility .p-clinic-facility-block01 {
    gap: 25px 25px;
    justify-content: center;
  }

  .alt-facility .p-clinic-facility-block01__item {
    width: 45%;
    text-align: center;
  }
}

.p-clinic-facility-block01 figcaption {
  padding: 15px 0;
  font-size: 16px;
  font-weight: bold;
  color: #000;
}

/* アクセス */
.p-clinic-access {
  padding: 110px 0 50px 0;
}

@media screen and (max-width: 767px) {
  .p-clinic-access {
    padding: 80px 0 0 0;
  }
}

.p-clinic-access__address {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  color: #000;
}

.p-clinic-access__address>img {
  position: relative;
  top: -8px;
  margin-right: 8px;
}

.p-clinic-access__map iframe {
  width: 100%;
  height: 420px;
}

.p-clinic-access__info-title {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #4bbc71;
}

.p-clinic-access__info-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.19;
  letter-spacing: 1.6px;
  color: #3e4541;
}

@media screen and (max-width: 767px) {
  .p-clinic-access__info-text {
    text-align: left;
  }
}

.p-clinic-access-block01 {
  padding: 87px 20px 117px 20px;
  border-radius: 30px;
  background-color: #fbfbfb;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-clinic-access-block01 {
    margin: 0 -25px;
  }
}

.p-clinic-access-block01__lead {
  margin-bottom: 30px;
  font-size: 22px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  color: #000;
}

@media screen and (max-width: 767px) {
  .p-clinic-access-block01__lead {
    font-size: 18px;
    text-align: left;
  }
}

.p-clinic-access-block01__video iframe {
  width: 800px;
  height: auto;
  border-radius: 20px;
  aspect-ratio: 560/315;
}

/* 予約について */
.p-clinic-reserve {
  padding: 130px 0 150px 0;
  background-color: #FBFBFB;
}

@media screen and (max-width: 767px) {
  .p-clinic-reserve {
    padding: 80px 0 120px 0;
  }
}

.p-clinic-reserve-block01 {
  padding: 68px 20px;
  background-color: #fff;
  border-radius: 20px;
}

.p-clinic-reserve-block01__inner {
  width: 875px;
  max-width: 100%;
  margin: auto;
}

.p-clinic-reserve-block01 table {
  width: 100%;
}

.p-clinic-reserve-block01 table th {
  padding: 20px 30px;
  border: none;
  background-color: transparent;
  font-weight: 500;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-clinic-reserve-block01 table th {
    display: block;
    width: 100%;
    padding: 0px 0px 5px 0;
    font-weight: bold;
  }
}

.p-clinic-reserve-block01 table td {
  padding: 20px 30px;
  border: none;
  background-color: none;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-clinic-reserve-block01 table td {
    display: inline-block;
    width: 50%;
    padding: 0px 0px 20px 0;
  }
}

.p-clinic-reserve-block01 p {
  line-height: 2.18;
}

/* 診療報酬加算に関する案内 */
.p-clinic-fee {
  padding: 120px 0 50px 0;
}

.clinic-heading01 {
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 0 45px;
  font-size: 25px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.4;
  letter-spacing: 3.75px;
}

.clinic-heading01::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 100px;
  background-color: #46d576;
}

.clinic-heading02 {
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid #bbeecc;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.15em;
}

/* --------------------------
診療案内
--------------------------- */
/* 小児科 */
.medical-pediatrics {
  padding: 90px 0 350px 0;
}

@media screen and (max-width: 767px) {
  .medical-pediatrics {
    padding: 90px 0 150px 0;
  }
}

.medical-heading01 {
  position: relative;
  margin-bottom: 70px;
  padding: 0 0 0 45px;
  font-size: 25px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.4;
  letter-spacing: 3.75px;
}

@media screen and (max-width: 767px) {
  .medical-heading01 {
    margin-bottom: 40px;
  }
}

.medical-heading01::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 100px;
  background-color: #46d576;
}

.medical-heading02 {
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid #bbeecc;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.15em;
}

.medical-heading03 {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.medical-block01 {
  padding: 0 0 0 2em;
}

.medical-list01 {
  padding: 50px 50px 34px 60px;
  border-radius: 20px;
  background-color: #f3f3f3;
}

@media screen and (max-width: 767px) {
  .medical-list01 {
    padding: 50px 20px 34px 45px;
  }
}

.medical-list01 li {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.67;
  letter-spacing: 1.8px;
}

@media screen and (max-width: 767px) {
  .medical-list01 li {
    font-size: 16px;
  }
}

.medical-list01 li::marker {
  color: #e5c96a;
}

.medical-tel {
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #009245;
}

.medical-table01 {
  margin-top: 90px;
}

@media screen and (max-width: 767px) {
  .medical-table01 {
    margin-top: 30px;
  }
}

.medical-table01 th {
  width: 256px;
  padding: 35px 40px;
  border: none;
  border-bottom: 1px solid #bbeecc;
  vertical-align: middle;
  background-color: transparent;
  color: #009245;
  letter-spacing: 0.1em;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .medical-table01 th {
    display: block;
    width: 100%;
    padding: 35px 0px 0 0;
    border: none;
    border-bottom: none;
  }
}

.medical-table01 td {
  padding: 35px 0px;
  border: none;
  border-bottom: 1px solid #bbeecc;
}

@media screen and (max-width: 767px) {
  .medical-table01 td {
    display: block;
    padding: 0 0 35px 0;
  }
}

.medical-allergy {
  padding: 0 0 350px 0;
}

@media screen and (max-width: 767px) {
  .medical-allergy {
    padding: 0px 0 150px 0;
  }
}

.medical-vacci {
  padding: 0 0 250px 0;
}

@media screen and (max-width: 767px) {
  .medical-vacci {
    padding: 0px 0 150px 0;
  }
}

.medical-infant {
  padding: 0 0 50px 0;
}

@media screen and (max-width: 767px) {
  .medical-infant {
    padding: 0 0 70px 0;
  }
}

/* --------------------------
予防接種
--------------------------- */
.vaccine-sec01 {
  padding: 80px 0 180px 0;
}

@media screen and (max-width: 767px) {
  .vaccine-sec01 {
    padding: 80px 0 120px 0;
  }
}

.vaccine-sec01__title {
  margin-bottom: 30px;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #000;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.vaccine-sec01__subtitle {
  margin-bottom: 45px;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #000;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.vaccine-sec01-block01 {
  padding: 50px 20px;
  border-radius: 30px;
  background-color: #fffcec;
}

.vaccine-sec01-block01__inner {
  width: 825px;
  max-width: 100%;
  margin: auto;
}

.vaccine-reception {
  padding: 0 0 200px 0;
}

@media screen and (max-width: 767px) {
  .vaccine-reception {
    padding: 0 0 120px 0;
  }
}

.vaccine-heading01 {
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 0 45px;
  font-size: 25px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.4;
  letter-spacing: 3.75px;
}

.vaccine-heading01::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 100px;
  background-color: #46d576;
}

.vaccine-heading02 {
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid #bbeecc;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.15em;
}

.vaccine-heading03 {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.vaccine-list01 {
  padding: 50px 50px 34px 60px;
  border-radius: 20px;
  background-color: #f3f3f3;
}

@media screen and (max-width: 767px) {
  .vaccine-list01 {
    padding: 50px 20px 34px 48px;
  }
}

.vaccine-list01 li {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.67;
  letter-spacing: 1.8px;
}

@media screen and (max-width: 767px) {
  .vaccine-list01 li {
    font-size: 16px;
  }
}

.vaccine-list01 li::marker {
  color: #e5c96a;
}

.vaccine-list02 {
  margin: 0;
  padding: 0px 0px 0px 20px;
}

.vaccine-list02 li {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.67;
  letter-spacing: 1.6px;
}

.vaccine-list02 li::marker {
  color: #e5c96a;
}

.vaccine-list03 {
  list-style: none;
  counter-reset: number;
  margin: 0;
  padding: 0px 0px 0px 0px;
}

.vaccine-list03 li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 50px;
  font-size: 16px;
  line-height: 2.19;
  letter-spacing: 1.6px;
}

@media screen and (max-width: 767px) {
  .vaccine-list03 li {
    padding-left: 40px;
  }
}

.vaccine-list03 li::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 7px;
  left: 0;
  width: 25px;
  height: 25px;
  padding-top: 3px;
  color: #fff;
  background-color: #e0d183;
  border-radius: 50%;
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
}

.vaccine-list04 {
  width: 50%;
  padding: 0px 0px 0px 20px;
}

@media screen and (max-width: 767px) {
  .vaccine-list04 {
    width: 100%;
    margin: 0;
  }
}

.vaccine-list04:first-of-type {
  width: 45%;
}

@media screen and (max-width: 1090px) {
  .vaccine-list04:first-of-type {
    padding: 0px 20px 0px 20px;
  }
}

@media screen and (max-width: 767px) {
  .vaccine-list04:first-of-type {
    width: 100%;
  }
}

.vaccine-list04:last-of-type {
  width: 55%;
}

@media screen and (max-width: 767px) {
  .vaccine-list04:last-of-type {
    width: 100%;
  }
}

.vaccine-list04 li {
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.67;
  letter-spacing: 1.8px;
}

@media screen and (max-width: 767px) {
  .vaccine-list04 li {
    font-size: 16px;
  }
}

.vaccine-list04 li::marker {
  color: #e5c96a;
}

/* ご持参いただくもの */
.vaccine-bring {
  padding: 0 0 220px 0;
}

@media screen and (max-width: 767px) {
  .vaccine-bring {
    padding: 0 0 180px 0;
  }
}

/* 接種の注意点 */
.vaccine-important {
  padding: 0 0 220px 0;
}

@media screen and (max-width: 767px) {
  .vaccine-important {
    padding: 0 0 160px 0;
  }
}

/* 接種スケジュール */
.vaccine-schedule {
  padding: 0 0 220px 0;
}

.vaccine-schedule__memo {
  margin-bottom: 50px;
  text-align: right;
  font-size: 20px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  .vaccine-schedule__memo {
    font-size: 16px;
  }
}

.vaccine-schedule__link {
  color: #009245;
}

.vaccine-table01 {
  border: none;
  width: 100%;
  margin: 0;
}

.vaccine-table01 th {
  border: none;
  width: 275px;
  padding: 17px 10px;
  border-bottom: 8px solid #fff;
  border-right: 8px solid #fff;
  background-color: #eee5ce;
  font-size: 20px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  color: #474747;
}

@media screen and (max-width: 767px) {
  .vaccine-table01 th {
    display: block;
    width: 100%;
    padding: 17px 10px;
    border-bottom: none;
    border-right: none;
    font-size: 16px;
  }
}

.vaccine-table01 td {
  border: none;
  padding: 17px 10px 17px 38px;
  border-bottom: 8px solid #fff;
  border-right: 8px solid #fff;
  background-color: #f6f6f6;
  font-size: 20px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: left;
  color: #474747;
}

@media screen and (max-width: 767px) {
  .vaccine-table01 td {
    display: block;
    width: 100%;
    padding: 17px 10px 17px 10px;
    border-right: none;
    font-size: 16px;
  }
}

.vaccine-table02 {
  border: none;
  width: 100%;
  margin: 0;
}

.vaccine-table02 th {
  border: none;
  width: 510px;
  padding: 17px 10px;
  border-bottom: 8px solid #fff;
  border-right: 8px solid #fff;
  background-color: #eee5ce;
  font-size: 20px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: center;
  color: #474747;
}

@media screen and (max-width: 767px) {
  .vaccine-table02 th {
    display: block;
    width: 100%;
    padding: 17px 10px;
    border-bottom: none;
    border-right: none;
    font-size: 16px;
  }
}

.vaccine-table02 td {
  border: none;
  padding: 17px 45px 17px 10px;
  border-bottom: 8px solid #fff;
  border-right: 8px solid #fff;
  background-color: #f6f6f6;
  font-size: 20px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-align: right;
  color: #474747;
}

@media screen and (max-width: 767px) {
  .vaccine-table02 td {
    display: block;
    width: 100%;
    padding: 17px 10px 17px 10px;
    border-right: none;
    text-align: center;
    font-size: 16px;
  }
}

/* 定期接種 */
.vaccine-regular {
  padding: 0 0 260px 0;
}

@media screen and (max-width: 767px) {
  .vaccine-regular {
    padding: 0 0 160px 0;
  }
}

.vaccine-regular__list {
  padding: 45px 20px 25px 60px;
  border-radius: 20px;
  background-color: #f3f3f3;
}

@media screen and (max-width: 1090px) {
  .vaccine-regular__list {
    padding: 45px 20px 25px 35px;
  }
}

@media screen and (max-width: 767px) {
  .vaccine-regular__list {
    padding: 45px 20px 25px 25px;
  }
}

/* 任意接種 */
.vaccine-optional {
  padding: 0 0 50px 0;
}

@media screen and (max-width: 767px) {
  .vaccine-optional {
    padding: 0 0 100px 0;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 500px) {
  .sp {
    display: block;
  }
}

.slider img {
  border-radius: 25px;
  padding: 20px;
  width: 350px;
}

@media screen and (max-width: 767px) {
  .slider img {
    border-radius: 15px;
    padding: 7px;
  }
}

#preventive {}

.lead-txt {
  width: 700px;
  margin: 0 auto 6rem;
}

.p-preventive-lead {
  padding: 60px 0 100px 0;
  background-color: #fff;
}

.p-preventive-01 {
  padding: 100px 0 100px 0;
  background: url(../img/front/back-cloth.webp) repeat-y 50% 0%;
  background-size: cover;
}

.p-preventive-02 {
  padding: 140px 0 50px 0;
  background-color: #fff;
}

.p-preventive-03 {
  padding: 140px 0 120px 0;
  background-color: #fbfbfb;
}

.p-preventive-04 {
  padding: 50px 0 200px 0;
  background-color: #fbfbfb;
}

#preventive .c-page-heading__textBig {
  color: #B18C67;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

#preventive .c-page-heading__textBig::before {
  content: " ";
  width: 100%;
  height: 3px;
  background: url("../img/border-dot.png") repeat-x;
  display: block;
  position: relative;
  top: 100px;
}

#preventive .c-page-heading__textBig::after {
  content: " ";
  width: 100%;
  height: 65px;
  background: url("../img/icon-teeth.png") no-repeat center / 65px;
  display: block;
  position: relative;
  top: 20px;
}

#preventive .p-clinic-doctors-block01__text {
  font-size: 16px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
}

#preventive .p-clinic-doctors-block01__img {
  max-width: 43%;
}

.p-preventive-block01-wrap {
  width: 45%;
  margin-bottom: 80px;
}

.p-preventive-block01-wrap h3 {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #B18C67;
  text-align: center;
  margin-bottom: 1rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.p-preventive-block01-wrap img {
  margin-bottom: 2rem;
}

.p-preventive-01 .p-clinic-doctors-block01__text {
  padding: 0 20px;
}

.preventive-03-cont {
  background: #fff;
  border-radius: 20px;
  border: 2px solid #CCBDAD;
  padding: 2rem 4rem;
}

.preventive-03-cont h3 {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #B18C67;
  text-align: center;
  margin-bottom: 2rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.p-preventive-block02-wrap {
  width: 75%;
}

.p-preventive-02 h3 {
  text-align: left;
}

.p-preventive-02 h3::before {
  content: " ";
  width: 35px;
  height: 35px;
  background: url(../img/dot.png) no-repeat center / cover;
  display: inline-block;
  position: relative;
  top: 7px;
  margin-right: 10px;
}

#preventive .p-preventive-03 .c-page-heading__textBig::before {
  top: 150px;
}

.p-preventive-03 .preventive-03-cont {
  background: #fff;
  border-radius: 20px;
  border: 2px solid #CCBDAD;
  padding: 2rem 4rem;
}

.p-preventive-03 h3 {
  text-align: left;
  margin-bottom: 3rem;
}

.p-preventive-03 h3::before {
  content: " ";
  width: 35px;
  height: 35px;
  background: url(../img/dot.png) no-repeat center / cover;
  display: inline-block;
  position: relative;
  top: 7px;
  margin-right: 10px;
}

.p-preventive-block03-wrap {
  width: 65%;
}

.p-preventive-block03-wrap ul {
  list-style: none;
  /* padding: 0; */
}

.p-preventive-block03-wrap li {
  position: relative;
  padding-left: 4px;
  line-height: 1.3;
  margin-bottom: 16px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.p-preventive-block03-wrap li:before {
  content: " ";
  width: 12px;
  height: 11px;
  background: url(../img/check.png) no-repeat center / cover;
  display: block;
  position: absolute;
  top: 5px;
  left: -20px
}

.preventive-03-cont2 {
  margin-top: 5rem;
}

.preventive-03-cont2 h3 {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #B18C67;
  text-align: left;
  margin-bottom: 2rem;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.preventive-03-cont2 ul {
  list-style: none;
  padding: 0 0 0 2rem;
}

.preventive-03-cont2 li {
  position: relative;
  padding-left: 4px;
  line-height: 1.4;
  margin-bottom: 25px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

.preventive-03-cont2 li:before {
  content: " ";
  width: 18px;
  height: 18px;
  background: #53D6D2;
  border-radius: 50px;
  display: block;
  position: absolute;
  top: 4px;
  left: -22px
}

#preventive .p-preventive-04 .c-page-heading__textBig::before {
  top: 150px;
}

.p-preventive-04 .p-preventive-block01 div {
  width: 30%;
}

.p-preventive-04 .p-preventive-block01 div p {
  text-align: center;
}

.p-preventive-04 .p-preventive-block01 {
  gap: 40px;
  margin-top: 4rem;
}

@media screen and (max-width: 1090px) {
  .p-preventive-block02-wrap {
    width: 60%;
  }

  .p-preventive-block03-wrap {
    width: 100%;
    margin-bottom: 3rem;
  }

  .p-preventive-04 .p-preventive-block01 {
    gap: 20px;
    margin-top: 4rem;
    justify-content: center;
  }

  .p-preventive-block01-wrap {
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  #clinic03 .p-clinic-doctors-block01 {
    /* padding: 0 5rem; */
    z-index: 5;
    position: relative;
  }

  .lead-txt {
    width: 100%;
    font-size: 16px;
  }

  #preventive .c-page-heading__textBig::before {
    top: 137px;
  }

  .preventive-03-cont {
    padding: 2rem;
    margin-top: -50px;
  }

  .p-preventive-04 .p-preventive-block01 div {
    width: 45%;
  }

  #preventive .p-clinic-doctors-block01__img {
    max-width: 100%;
  }

  .p-preventive-block01-wrap {
    width: 100%;
    margin-bottom: 3rem;
  }

  .p-preventive-block02-wrap {
    width: 100%;
  }

  .preventive-03-cont .p-preventive-block02 {
    justify-content: center;
  }

  .p-preventive-03 .preventive-03-cont {
    padding: 2rem;
  }

  .p-preventive-03 .preventive-03-cont .p-preventive-block01 {
    justify-content: center;
  }

  #preventive li {
    font-size: 16px;
  }

  #preventive .p-preventive-03 .c-page-heading__textBig::before,
  #preventive .p-preventive-04 .c-page-heading__textBig::before {
    display: none;
  }

  .p-preventive-02 {
    padding: 100px 0 30px 0;
    background-color: #fff;
  }

  .c-subpage-kv__textSmall {
    font-size: 50px;
  }
}

section.p-subpage-lead {
  padding: 50px 0 120px;
}

.lead-contents {
  /* border: dashed 2px #CCBDAD; */
  /* border-radius: 15px; */
  /* padding: 2rem; */
  /* background: #fdfaf5; */
}

.lead-list {
  margin-bottom: 30px;
}

.lead-list dd {
  position: relative;
  padding-left: 25px;
  font-weight: 700;
  margin-bottom: 10px;
}

.lead-list dd::before {
  content: '';
  width: 12px;
  height: 8px;
  border-left: 3px solid #53D6D2;
  border-bottom: 3px solid #53D6D2;
  transform: rotate(-45deg);
  position: absolute;
  top: 13px;
  left: 0;
}

.p-subpage-lead .lead-txt {
  width: 100%;
  margin: 0;
}

.marker-yellow {
  background: linear-gradient(transparent 65%, #fff89e 65% 100%, transparent 100%);
  mix-blend-mode: multiply;
  background-blend-mode: multiply;
  font-weight: 700;
}

section.p-subpage-sec01 {
  margin-bottom: 2rem;
}

#ago section.p-subpage-sec01 {
  margin-bottom: 15rem;
}

.c-page-heading__textBig {
  position: relative;
  z-index: 2;
  left: 0.3em;
  margin-bottom: 50px;
  font-size: 35px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
  color: #B18C67;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.c-page-heading__textBig::before {
  content: " ";
  width: 100%;
  height: 3px;
  background: url(../img/border-dot.png) repeat-x;
  display: block;
  position: relative;
  top: 100px;
}

.c-page-heading__textBig::after {
  content: " ";
  width: 100%;
  height: 65px;
  background: url(../img/icon-teeth.png) no-repeat center / 65px;
  display: block;
  position: relative;
  top: 20px;
  left: -12px;
}

.c-page-heading__textBig.alt-head::before {
  top: 150px;
}

@media screen and (max-width: 767px) {
  .c-page-heading__textBig {
    font-size: 26px;
    letter-spacing: 0.1em;
    margin-bottom: 50px;
    line-height: 1.6;
  }

  .c-page-heading__textBig::before {
    display: none;
  }

  .c-page-heading__textBig::after {
    content: " ";
    width: 100%;
    height: 65px;
    background: url(../img/icon-teeth-sp.png) no-repeat center / contain;
    top: 12px;
    left: -1px;
  }
}

.p-subpage-block01 {
  display: flex;
  margin-bottom: 6rem;
}

.p-subpage-block01-img {
  width: 50%;
}

.p-subpage-block01-img img {
  width: 100%;
  padding-right: 60px;
}

.c-row-reverse .p-subpage-block01-img img {
  padding-right: unset;
  padding-left: 60px;
}

.p-subpage-block01-txt {
  width: 50%;
}

.p-subpage-subtitle03 {
  position: relative;
  font-size: 25px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  color: #fff;
  letter-spacing: 0.2em;
  line-height: 1.6;
  background: #B18C67;
  padding: 15px 15px 15px 55px;
  border-radius: 10px;
  margin: 0 auto 3rem;
  width: 100%;
}

.p-subpage-subtitle03::before {
  content: " ";
  width: 30px;
  height: 30px;
  background: url(../img/subpage/icon-h3.png) no-repeat center / cover;
  position: absolute;
  top: 21px;
  left: 16px;
}

@media screen and (max-width: 767px) {
  .p-subpage-subtitle03 {
    font-size: 20px;
    letter-spacing: 0.1em;
    padding: 10px 10px 10px 45px;
    margin: 0 auto 3rem;
  }

  .p-subpage-subtitle03::before {
    width: 24px;
    height: 24px;
    top: 14px;
    left: 13px;
  }
}

.block-list {
  margin-bottom: 30px;
}

.block-list dd {
  position: relative;
  padding-left: 25px;
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 18px;
}

.block-list dd::before {
  content: '';
  width: 14px;
  height: 8px;
  border-left: 3px solid #53D6D2;
  border-bottom: 3px solid #53D6D2;
  transform: rotate(-45deg);
  position: absolute;
  top: 13px;
  left: 0;
}

.contents_flow {
  padding: 0;
  list-style: none;

}

.contents_flow li {
  display: flex;
  margin-bottom: 1rem;
  align-items: center;
}

.contents_flow_step {
  border-right: 2px dashed #d1c0a7;
  width: 16%;
  max-width: 160px;
  text-align: center;
  padding: 2.2rem 0;
}

.contents_flow_step img {
  /* width: 100px; */
}

.contents_flow_el {
  padding: 2rem 2.5rem;
  width: 80%;
}

.p-subpage-subtitle04 {
  position: relative;
  font-size: 25px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  color: #774E22;
  letter-spacing: 0.2em;
  line-height: 1.4;
  margin: 0px auto 1rem;
  padding: 0 0 10px 40px;
  border-bottom: solid 1px #CCBDAD;
  width: 100%;
}

.p-subpage-subtitle04::before {
  content: " ";
  width: 30px;
  height: 30px;
  background: url(../img/subpage/icon-h4.png) no-repeat center / cover;
  position: absolute;
  top: 4px;
  left: 0px;
}

.contents_flow .p-subpage-subtitle04 {
  padding: 0px;
  border-bottom: unset;
}

.contents_flow .p-subpage-subtitle04::before {
  display: none;
}

#mouthpiece section.p-subpage-sec02 {
  padding: 8rem 0 8rem;
  background: url(../img/front/back-cloth.webp) repeat-y center / cover;
}



/*アコーディオン*/
.p-subpage-caution {
  margin-top: -120px;
  /* margin-bottom: 40px; */
}

.accordion-area {
  list-style: none;
  padding: 0;
  margin: 0;
}

.caution-btn {
  position: relative;
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 60px 0;
  transition: all .5s ease;
}

.caution-btn p {
  background: #53D6D2;
  width: 350px;
  text-align: center;
  margin: 0 auto;
  color: #fff;
  position: relative;
  line-height: 1.6;
  padding: 15px;
}

.caution-btn p::before {
  content: '';
  width: 0px;
  height: 0px;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  border-width: 40px 0px 40px 16px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.caution-btn p::after {
  content: '';
  width: 0px;
  height: 0px;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  border-width: 40px 16px 40px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.caution-contents {
  display: none;
  background: #f3f3f3;
  padding: 50px 0;
}

ul.caution-list {
  margin: 30px 0;
}

ul.caution-list li {
  list-style: none;
  display: flex;
  margin: 20px 0;
}

ul.caution-list li p:nth-of-type(1) {
  width: 10%;
  position: relative;
  z-index: 0;
  text-align: center;
  color: #fff;
}

ul.caution-list li p:nth-of-type(2) {
  width: 90%;
}

ul.caution-list li p:nth-of-type(1)::before {
  content: '';
  width: 30px;
  height: 30px;
  background-color: #53D6D2;
  border-radius: 30px;
  display: block;
  position: absolute;
  z-index: -1;
  top: 3px;
  left: 17px;
}

section.p-subpage-index {
  background: #CCBDAD;
  padding: 60px 0 20px;
  margin-bottom: 150px;
}

.symptom_list {
  display: flex;
  list-style: none;
  margin: 0;
  flex-wrap: wrap;
  padding: 0;
  column-gap: 30px;
}

.symptom_list li {
  background-color: #fff;
  border-radius: 50%;
  margin: 0 auto 45px;
  width: 180px;
  height: 180px;
  flex-wrap: wrap;
  column-gap: 30px;
  padding: 0;
}

.symptom_list li.symptom_1 {
  background: url(../img/subpage/icon_index1.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_2 {
  background: url(../img/subpage/icon_index2.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_3 {
  background: url(../img/subpage/icon_index3.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_4 {
  background: url(../img/subpage/icon_index4.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_5 {
  background: url(../img/subpage/icon_index5.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_6 {
  background: url(../img/subpage/icon_index6.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_7 {
  background: url(../img/subpage/icon_index7.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li.symptom_8 {
  background: url(../img/subpage/icon_index8.png) no-repeat center 30%;
  background-size: 30%;
  background-color: #fff;
}

.symptom_list li a {
  display: block;
  border-radius: 50%;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding-top: 110px;
  width: 100%;
  height: 100%;
}

#handicapped section.p-subpage-sec01 {
  margin-bottom: 1rem;
}

#handicapped section.p-subpage-sec02 {
  margin-bottom: 8rem;
}

#handicapped section.p-subpage-sec03 {
  margin-bottom: 11rem;
}

.p-subpage-block02 {
  margin-bottom: 120px;
}

.p-subpage-block02-inner {
  margin-bottom: 80px;
}

.p-subpage-block02-img {
  width: 40%;
  padding-right: 40px;
}

.c-row-reverse .p-subpage-block02-img {
  padding-right: 0;
  padding-left: 40px;
}

.p-subpage-block02-txt {
  width: 60%;
}

@media screen and (max-width: 767px) {
  .p-subpage-block02-txt {
    width: 100%;
  }

  .p-subpage-block02-img,
  .c-row-reverse .p-subpage-block02-img {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 2rem;
  }
}

.back-cloth {
  background: url(../img/front/back-cloth.webp) repeat-y 50% 0%;
  background-size: cover;
  padding: 120px 0 10px;
  margin-bottom: 120px;
}

#handicapped .p-subpage-sec03 .p-subpage-subtitle03 {
  color: #B18C67;
  background: none;
  padding: 0;
}

#handicapped .p-subpage-sec03 .p-subpage-subtitle03::before {
  display: none;
}

#pediatric .p-subpage-sec01 {
  margin-top: 100px;
}

.flow-chart ul {
  padding: 0;
  margin: 50px 20px;
  position: relative;
}

.flow-chart li {
  list-style: none;
  display: flex;
  align-items: flex-start;
  margin-bottom: 2rem;
  height: 150px;
}

#pediatric .flow-chart li {
  justify-content: space-between;
}

.flow-chart li img:nth-of-type(1) {
  width: 13%;
  padding-right: 20px;
  border-right: 2px dashed #b18c67;
}

.flow-chart li img:nth-of-type(2) {
  width: 300px;
}

.flow-chart li p {
  text-align: left;
  width: 100%;
  padding-left: 20px;

}

.flow-small {}

.flow-small ul {
  padding: 0;
  margin: 50px 20px;
  position: relative;
}

.flow-small li {
  height: auto;
}

.flow-small li img:nth-of-type(1) {
  width: 14%;
  padding-right: 15px;
  border-right: 2px dashed #ffc693;
}

.flow-small li p {
  padding-left: 1rem;
}

.flow-small ul::after {
  content: "";
  width: 250px;
  height: 268px;
  background: url(../img/subpage/pediatric02.png) no-repeat center / cover;
  position: absolute;
  bottom: 115px;
  right: 30px;
}

#pediatric .p-subpage-sec02 {
  padding: 100px 0 10px;
}

.width-100 {
  width: 100%;
}

.insidelink {
  display: flex;
  margin: 4rem;
}

.insidelink a {
  display: block;
  background: #fff;
  border: 3px solid #B08C67;
  border-radius: 10px;
  color: #B08C67;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  letter-spacing: .1em;
  margin: 0 auto;
  padding: 15px 0 35px;
  position: relative;
  width: 240px;
}

.insidelink a::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #B08C67;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 15px;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .insidelink {
    gap: 20px;
    margin: 0;
    margin-top: 3rem;
  }

  .p-subpage-block02 {
    margin-bottom: 80px;
  }

  .flow-chart ul {
    margin: 0;
  }

  .flow-chart ul {
    padding: 0;
    /* margin: 50px 20px; */
    position: relative;
  }

  .flow-chart li {
    align-items: flex-start;
    height: auto;
  }

  .flow-chart li:last-child {
    border-bottom: unset;
  }

  .flow-chart li img:nth-of-type(1) {
    width: 16%;
    padding-right: 0;
    border-right: unset;
    margin-bottom: 1rem;
  }

  #pediatric .flow-chart {
    margin-top: 3rem;
  }

  #pediatric .p-subpage-sec03 .flow-chart {
    margin-top: 5rem;
  }



  #pediatric .p-subpage-sec03 .flow-chart li {
    flex-direction: column;
    height: auto;
    margin-bottom: 3rem;
    background: #f5f9f9;
    border-radius: 15px;
    padding: 4.5rem 1.5rem 2rem;
    text-align: center;
    position: relative;
  }

  #pediatric .p-subpage-sec03 .flow-chart li img:nth-of-type(1) {
    width: 25%;
    padding-right: 0;
    border-right: unset;
    margin-bottom: 1rem;
    position: absolute;
    top: -25px;
  }

  .flow-small ul::after {
    bottom: 80px;
    right: -40px;
  }
}

.sealant-efficacy {
  background: #FBF8F6;
  border-radius: 15px;
  border: 2px dashed #CCBDAD;
  padding: 1rem 2rem 3rem;
  justify-content: space-around;
  margin-bottom: 6rem;
}

.sealant-efficacy div {
  width: 33%;
}

.sealant-efficacy div:nth-of-type(2) {
  width: 150px;
}

.sealant-efficacy div:nth-of-type(2) p {
  background: #53D6D2;
  border-radius: 50%;
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  padding: 70px 0 40px;
  position: relative;
  top: 15px;
}

.sealant-efficacy div:nth-of-type(2) p:before {
  content: "";
  background: url(../img/subpage/logo_arrow.png) no-repeat center center;
  background-size: contain;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 34px;
  left: 7px;
  right: 0;
  margin: auto;
}

.sealant-age {
  text-align: center;
  margin-bottom: 8rem;
}

.sealant-age h4 {
  color: #B18C67;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 4rem;
}

.sealant-age-wrap div {
  width: 33%;
}

.sealant-age-wrap h5 {
  background: #f1a195;
  border-radius: 50%;
  font-size: 25px;
  color: #fff !important;
  line-height: 30px;
  letter-spacing: .1em;
  margin: 0 auto 15px;
  padding: 75px 0;
  width: 180px;
}

#pediatric .p-subpage-sec03 {
  padding: 0 0 10px;
}

@media screen and (max-width: 767px) {
  .sealant-efficacy {
    margin-top: 3rem;
  }

  .sealant-efficacy div {
    width: 100%;
  }

  .sealant-efficacy div:nth-of-type(2) p {
    margin: 3rem 0;
  }

  .sealant-efficacy div:nth-of-type(2) p:before {
    transform: rotate(90deg);
  }

  .sealant-age-wrap div {
    width: 100%;
    margin-bottom: 2rem;
  }

  .sealant-age-wrap h4 {
    font-size: 25px;
  }

  #pediatric .p-subpage-sec03 {
    padding: 0 0 50px;
  }

  ul.caution-list {
    padding: 0;
  }

  ul.caution-list li p:nth-of-type(1)::before {
    top: 2px;
    left: 1px;
  }

  section.p-subpage-sec01 {
    margin-bottom: 2rem;
  }

  #caries .p-subpage-sec02 {
    margin-bottom: 0;
  }
}

.flow-chart h5 {
  padding-left: 20px;
  color: #B18C67;
  font-size: 25px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 10px;
}

.box-list {
  margin: 50px 0;
  padding: 0;
}

.box-list li {
  margin-bottom: 20px;
  list-style: none;
  padding: 2rem 2.5rem;
  border-radius: 15px;
  /* border: 1px dashed #B18C67; */
  background: #f6f4f1;
}

.box-list h5 {
  color: #B18C67;
  font-size: 23px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 10px;
}

.list-wrap {
  display: flex;
  margin: 60px 0 0;
}

.list-wrap .lead-list {
  width: 50%;
}

.list-wrap .lead-list dt {
  color: #fff;
  font-size: 23px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 25px;
  display: inline-block;
  background: #e0c9b3;
  padding: 0 30px;
  border-radius: 50px;
  font-weight: 700;
}

.tb01 {
  width: 100%;
}

.tb01 th,
.tb01 td {
  width: 50%;
  text-align: left;
  padding: 20px 10px 20px 30px;
  border: 1px solid #c8bdad;
}

.tb01 th {
  background-color: #f5f3f0;
}

#orthodontics .p-subpage-sec05 h4 {
  font-size: 20px;
  margin: 60px 0 20px;
}

#orthodontics .p-subpage-sec05 h4.p-subpage-subtitle04::before {
  width: 25px;
  height: 25px;
  top: 2px;
}

#orthodontics .p-subpage-sec06 .p-subpage-block02 p:nth-of-type(1),
#orthodontics .p-subpage-sec06 .p-subpage-block02 p:nth-of-type(2) {
  margin-bottom: 40px;
}

#orthodontics .p-subpage-sec06 .p-subpage-block02 p:nth-of-type(2) {
  line-height: 2.5;
  font-weight: 700;
}

#orthodontics .p-subpage-sec06 .p-subpage-block02 p:nth-of-type(3) {
  font-size: 15px;
  color: #998461;
}

#orthodontics .p-subpage-sec07 li {
  list-style: none;
  font-size: 13px;
  letter-spacing: 0;
}

#implant .p-subpage-sec01 .p-subpage-block01-txt p:nth-of-type(1) {
  margin-bottom: 40px;
}

#implant .p-subpage-sec01 .p-subpage-block01-txt p:nth-of-type(2),
#implant .p-subpage-sec01 .p-subpage-block01-txt p:nth-of-type(3),
#implant .p-subpage-sec01 .p-subpage-block01-txt p:nth-of-type(4) {
  margin-bottom: 20px;
  font-weight: 700;
}

#implant .p-subpage-sec01 span {
  color: #B18C67;
}

#implant .p-subpage-sec02 {
  padding: 100px 0 10px;
}

#implant .p-subpage-sec03 {
  padding: 20px 0 60px;
}

#implant .p-subpage-sec02 .p-subpage-block02>p {
  text-align: center;
  margin-bottom: 40px;
}

#implant .p-subpage-sec02 .p-subpage-block02 img {
  border-radius: 20px;
}

.method-wrap {
  display: flex;
  margin-top: 60px;
  gap: 50px;
}

.method-wrap div {
  width: 50%;
}

.method-wrap div h5 {
  color: #B18C67;
  font-size: 23px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 10px;
}

/* sub page / Q&A ------------------------ */
.qa-list dl {
  position: relative;
  margin: 30px 0 0;
  cursor: pointer;
  /* border: 1px solid #DDD; */
}

.qa-list dl:first-child {
  margin-top: 0;
}

.qa-list dl::after {
  position: absolute;
  top: 33px;
  right: 26px;
  display: block;
  width: 9px;
  height: 9px;
  margin: auto;
  content: '';
  transform: rotate(135deg);
  border-top: 2px solid #B18C67;
  border-right: 2px solid #B18C67;
}

.qa-list .open::after {
  transform: rotate(-45deg);
}

.qa-list dl dt {
  position: relative;
  margin: 0;
  padding: 20px 20px 20px 75px;
  font-weight: bold;
  color: #B18C67;
  background: #f2f0ea;
  font-size: 18px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  border-radius: 10px;
}

.qa-list dl dt::before {
  font-size: 34px;
  line-height: 1;
  position: absolute;
  top: 21px;
  left: 20px;
  display: block;
  content: 'Q.';
  color: #d8c3ae;
}

.qa-list dl dd::before {
  font-size: 30px;
  line-height: 1;
  position: absolute;
  left: 20px;
  display: block;
  content: 'A.';
  font-weight: bold;
  color: #f6e48d;
}

.qa-list dl dd {
  position: relative;
  margin: 0;
  padding: 20px 20px 20px 75px;
}

#visit .p-subpage-sec01 p {
  margin-bottom: 40px;
}

#visit .p-subpage-sec01 .p-subpage-block02-img {
  position: sticky;
  top: 100px;
}

.block-2column-list {
  background: #fff;
  border-radius: 25px;
  padding: 50px 65px 35px;
  display: flex;
  flex-wrap: wrap;
}

.block-2column-list dd {
  position: relative;
  padding-left: 25px;
  margin-bottom: 20px;
  width: 50%;
  font-size: 16px;
  font-weight: 700;
}

.block-2column-list dd::before {
  content: '';
  width: 12px;
  height: 8px;
  border-left: 3px solid #53D6D2;
  border-bottom: 3px solid #53D6D2;
  transform: rotate(-45deg);
  position: absolute;
  top: 13px;
  left: 0;
}

#visit .p-subpage-sec03 .block-2column-list {
  background: #f6f4f1;
}

#visit .p-subpage-sec03 .alt-ratio .p-subpage-block02-img {
  width: 55%;
}

#visit .p-subpage-sec03 .alt-ratio .p-subpage-block02-txt {
  width: 45%;
}

#visit .p-subpage-sec04 table {
  width: 100%;
  margin: 50px 0 20px;
}

#visit .p-subpage-sec04 table th {
  border: 0;
  background: #efebe3;
  padding: 20px;
}

#visit .p-subpage-sec04 table td {
  border: 0;
  text-align: center;
  padding: 30px 20px;
  font-size: 18px;
  color: #a68d67;
  /* border-bottom: 1px solid #c4bdab; */
}

#visit .p-subpage-sec04 table td:nth-of-type(1) {
  color: #000;
}

#handicapped .p-subpage-sec03.back-cloth {
  padding: 100px 0;
  margin-bottom: 0;
}

#fee .tb01 th {
  width: 60%;
}

#fee .tb01 td {
  width: 40%;
  text-align: right;
}

.fee-caution {
  width: 100%;
  text-align: center;
  color: #a68d67;
  font-size: 14px;
  margin-top: -74px;
}

.lead-none {
  padding-top: 60px;
}


#wisdom-teeth .p-subpage-sec01 .list-wrap {
  margin-top: 120px;
  justify-content: space-between;
}

#wisdom-teeth .p-subpage-sec01 .lead-list {
  width: 48%;
  border-radius: 20px;
  border: 2px solid #d9c9b3;
  padding: 60px 25px 40px;
  position: relative;
}

#wisdom-teeth .p-subpage-sec01 .lead-list dt {
  margin-bottom: 40px;
  position: absolute;
  top: -25px;
}

#wisdom-teeth .p-subpage-sec01 .lead-list dd {
  margin-left: 35px;
}

#wisdom-teeth .flow-chart li {
  margin-bottom: 4rem;
}

#wisdom-teeth .p-subpage-subtitle03 {
  margin: 0 auto 1rem;
}

#wisdom-teeth .p-subpage-subtitle03+p {
  margin-bottom: 5rem;
}

#wisdom-teeth .p-subpage-sec03 {
  margin-bottom: 80px;
}

#wisdom-teeth .p-subpage-sec04 {
  margin-bottom: 100px;
}

#wisdom-teeth .p-subpage-sec04 .p-subpage-block02-contents p:nth-of-type(1) {
  text-align: center;
  margin-bottom: 2rem;
}

#wisdom-teeth .p-subpage-block02-contents p:nth-of-type(2) {
  line-height: 3;
  font-weight: 700;
  margin-top: 2rem;
}

#wisdom-teeth section.p-subpage-sec01 {
  margin-bottom: 2rem;
}

#wisdom-teeth .flow-chart ul {
  margin: 0 20px 100px;
}

#caries .p-subpage-sec02 {
  margin-bottom: 50px;
}

#caries .p-subpage-subtitle03 {
  margin: 0 auto 2rem;
}

#caries .p-subpage-subtitle03+p {
  margin-bottom: 5rem;
}

.checklist-block {
  margin: 0 auto 2rem;
  border-radius: 20px;
  border: 2px solid #d9c9b3;
  padding: 25px 50px;
}

.checklist-block h4 {
  font-weight: 700;
  color: #B18C67;
  font-size: 25px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
  margin-top: 10px;
}

.checklist-block .list-wrap {
  flex-wrap: wrap;
  justify-content: start;
}

.checklist-block ul {
  padding: 0;
  list-style: none;
}

.checklist-block li {
  width: 47%;
  position: relative;
  padding-left: 28px;
  margin-right: 20px;
  margin-bottom: 25px;
  font-weight: 700;
}

.checklist-block li::before {
  content: '';
  width: 20px;
  height: 20px;
  background: url(../img/icon-check.png) no-repeat center / cover;
  position: absolute;
  top: 10px;
  left: 0;
}

.checklist-block p {
  text-align: center;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .checklist-block {
    padding: 20px 25px;
  }

  .checklist-block h4 {
    font-size: 18px;
    margin-top: 10px;
  }

  .checklist-block li {
    width: 100%;
  }

  .checklist-block li::before {
    top: 8px;
  }

  .list-wrap {
    margin: 40px 0 0;
    flex-wrap: wrap;
  }

  .list-wrap .lead-list {
    width: 100%;
  }

  .list-wrap .lead-list dt {
    font-size: 21px;
  }

  .p-subpage-subtitle04 {
    font-size: 18px;
    letter-spacing: 0.1em;
    margin: 0px auto 1rem;
    padding: 0 0 10px 27px;
  }

  .p-subpage-subtitle04::before {
    width: 25px;
    height: 25px;
    top: 2px;
    left: -4px;
  }

  .method-block h5 {
    font-size: 20px;
    margin-bottom: 1rem;
  }

  .method-block {
    padding: 25px 30px;
  }

  .back-cloth {
    padding: 80px 0 10px;
    margin-bottom: 100px;
  }
}

#caries .p-subpage-sec03 .p-subpage-block02-contents {
  margin-bottom: 80px;
}

#caries .p-subpage-subtitle04+p {
  margin-bottom: 5rem;
}

.method-block {
  border-radius: 20px;
  padding: 30px 40px;
  margin: 2rem 0 5rem;
  background: #f8f2e8;
  width: 100%;
}

.method-block h5 {
  font-weight: 700;
  color: #B18C67;
  font-size: 25px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  text-align: center;
  margin-bottom: 1rem;
}

#periodontal .p-subpage-sec02 {
  margin-bottom: 50px;
}

#periodontal .p-subpage-subtitle03 {
  margin: 0 auto 2rem;
}

#periodontal .p-subpage-subtitle03+p {
  margin-bottom: 5rem;
}

#periodontal .p-subpage-subtitle04+p {
  margin-bottom: 5rem;
}

#periodontal .p-subpage-subtitle04+ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 4rem;
  border-radius: 20px;
  /* border: 2px solid #d9c9b3; */
  padding: 40px 50px;
  background: #f6f3ed;
}

#periodontal .p-subpage-subtitle04+ul li {
  width: 33%;
}

#periodontal .p-subpage-subtitle04 {
  border: none;
}

span.highlight01 {
  background: linear-gradient(transparent 65%, #fff570 65% 100%, transparent 100%);
  mix-blend-mode: multiply;
  background-blend-mode: multiply;
}

#periodontal .p-subpage-sec03 .p-subpage-block02-contents {
  /* background: #f6f3ed; */
  /* padding: 20px; */
  /* border-radius: 20px; */
  margin-bottom: 3rem;
}

#periodontal .p-subpage-sec03 .p-subpage-block02-contents .p-subpage-subtitle04 {
  margin: 1rem 0;
}

#periodontal .p-subpage-sec03 .p-subpage-block02-contents .p-subpage-subtitle04+p {
  margin-bottom: 0;
}

#periodontal .p-subpage-sec04 {
  margin-bottom: 100px;
}

#periodontal .flow-chart li {
  margin-bottom: 4rem;
  height: auto;
}

#dentures .list-wrap {
  margin-top: 80px;
  margin-bottom: 100px;
  justify-content: space-between;
}

#dentures .lead-list {
  width: 48%;
  border-radius: 20px;
  border: 2px solid #d9c9b3;
}

#dentures .p-subpage-sec02 .lead-list {
  padding: 55px 25px 30px;
  position: relative;
}

#dentures .p-subpage-sec02 .lead-list dt {
  position: absolute;
  top: -25px;
}

#dentures .p-subpage-sec04 .lead-list {
  width: 100%;
  border: none;
  padding: 0;

}

#dentures .p-subpage-sec04 .lead-list dt {
  font-weight: 700;
  color: #B18C67;
  font-size: 25px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 1rem;
  margin-top: 0.5rem;

}

#dentures .p-subpage-sec04 .p-subpage-block02-contents {
  margin-bottom: 2rem;
}

#dentures .p-subpage-sec04 h4 {
  margin-top: 6rem;
  margin-bottom: 3rem;
}

#dentures .p-subpage-sec05 {
  margin-bottom: 100px;
}

#grinding .lead-contents ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  justify-content: center;
  gap: 20px;
}

#grinding .lead-contents ul li {
  width: 280px;
  padding: 5px 20px 15px;
  border-radius: 50px;
  border: 2px solid #c7bdad;
  text-align: center;
  color: #B18C67;
  position: relative;
}

#grinding .lead-contents ul li::after {
  content: "";
  width: 11px;
  height: 11px;
  background: url(../img/icon-arrow.png) no-repeat center center / cover;
  display: block;
  position: absolute;
  bottom: 8px;
  left: 133px;
}

#grinding .p-subpage-subtitle03 {
  margin: 0 auto 2rem;
}

#grinding .p-subpage-subtitle03+p {
  margin-bottom: 5rem;
}

#grinding .p-subpage-subtitle04+p {
  margin-bottom: 5rem;
}

#direct-bonding .p-subpage-sec02 .p-subpage-block02-contents {
  gap: 40px;
  align-items: normal;
}

.feature-block {
  width: 48%;
  border-radius: 15px;
  border: 2px solid #cdbfaa;
  padding: 30px;
}

.feature-block h5 {
  text-align: center;
  font-weight: 700;
  color: #B18C67;
  font-size: 25px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
}

.feature-block p:nth-of-type(1) {
  text-align: center;
  margin-bottom: 2.5rem;
}

.feature-block p span {
  color: #fff;
}

.feature-block p span:nth-of-type(1) {
  display: inline-block;
  position: relative;
  top: 5px;
  font-size: 14px;
}

.feature-block p span:nth-of-type(1)::before {
  content: "";
  width: 100px;
  height: 100px;
  border-radius: 100px;
  background: #8fd4d3;
  display: block;
  position: absolute;
  z-index: -1;
  top: -14px;
  left: -20px;
}

.feature-block p span:nth-of-type(2) {
  display: block;
  font-size: 40px;
  line-height: 1;
  color: #ffff;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
}

#direct-bonding .p-subpage-sec03 .p-subpage-block02-contents {
  margin-bottom: 5rem;
}

#direct-bonding .p-subpage-sec03 .p-subpage-block02-contents h4 {
  font-size: 20px;
}

#direct-bonding .p-subpage-sec03 {
  margin-top: 80px;
  margin-bottom: 100px;
}

#direct-bonding .checklist-block {
  margin-top: 50px;
  margin-bottom: 150px;
}

#whitening .p-subpage-sec02 .l-container-small+p {
  margin-bottom: 5rem;
}

#whitening .p-subpage-sec02 .l-container-small>p {
  margin-bottom: 5rem;
}

#whitening .p-subpage-subtitle03 {
  margin: 0 auto 2rem;
}

#whitening .p-subpage-sec02 .list-wrap {
  margin: 60px auto 30px;
}

#whitening .p-subpage-sec02 ul.list-wrap {
  margin: 60px auto 0;
}

#whitening .p-subpage-sec02 .checklist-block {
  margin-bottom: 10rem;
}

#whitening .p-subpage-sec03 {
  margin-bottom: 150px;
}

#whitening .p-subpage-sec03 ul {
  margin: 60px auto;
}

#grinding .checklist-block {
  margin: 80px auto 150px;
}

#grinding h3+h4 {
  margin: 80px auto 0;
}

#grinding p+ul {
  margin: -40px auto 5rem;
}

#grinding .p-subpage-sec02 .p-subpage-block02-contents>p {
  margin-bottom: 5rem;
}

#grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents {
  margin-top: 2rem;
  margin-left: 20px;
  border: 2px solid #d6cab8;
  padding: 1.5rem;
  border-radius: 15px;
}

#grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents .p-subpage-block02-img {
  padding-right: 0;
}

#grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents .p-subpage-block02-txt p {
  padding-left: 0;
}

#grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents .p-subpage-block02-txt p:nth-of-type(1) {
  font-weight: 700;
  color: #B18C67;
  font-size: 20px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-bottom: 1.2rem;
  line-height: 1;
}

#grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents img:nth-of-type(1) {
  width: 100%;
  padding-right: 20px;
  border-right: unset;
}

#grinding .flow-chart li {
  margin-bottom: 4rem;
  height: auto;
}

#grinding .flow-chart {
  margin-bottom: 10rem;
}

#grinding .p-subpage-sec03 {
  margin-bottom: 250px;
}

#dysphagia .checklist-block {
  margin: 3rem auto 10rem;
}

#dysphagia .p-subpage-sec03 .p-subpage-block02-contents {
  margin-bottom: 80px;
}

#dysphagia .p-subpage-sec04 {
  margin-top: 50px;
  margin-bottom: 100px;
}

#oral-hypofunction .p-subpage-sec02 .p-subpage-block02-contents p:nth-of-type(1) {
  margin-bottom: 80px;
}

#oral-hypofunction .p-subpage-sec02 .p-subpage-block02-contents h3 {
  margin-bottom: 1rem;
}

#oral-hypofunction .p-subpage-sec02 .p-subpage-block02-contents h3+p {
  margin-bottom: 5rem;
}

#oral-hypofunction .checklist-block {
  margin: 3rem auto 10rem;
}

#oral-hypofunction .p-subpage-sec03 .p-subpage-block02 p:nth-of-type(1) {
  margin-bottom: 80px;
}

#oral-hypofunction .p-subpage-sec03 .p-subpage-block02 .p-subpage-block02-contents p {
  margin-bottom: 0;
}

#oral-hypofunction .p-subpage-sec03 .p-subpage-block02-contents {
  margin-bottom: 80px;
}

#oral-hypofunction .p-subpage-sec04 {
  margin-top: 50px;
  margin-bottom: 100px;
}

#oral-hypofunction .flow-chart li {
  height: auto;
  margin-bottom: 5rem;
}

#oral-hypofunction .flow-chart li:nth-of-type(1) p:nth-of-type(2) {
  margin-top: 2rem;
  margin-left: 20px;
  border: 2px solid #d6cab8;
  padding: 1.5rem;
  border-radius: 15px;
}

.yoboList {
  background-color: #fff;
  border-radius: 18px;
  margin: 45px 0 30px;
  padding: 30px;
  position: relative;
}

.yoboList dd {
  color: #a68d67 !important;
  font-weight: bold;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: .05em;
  margin: 0 0 10px;
  padding-left: 40px;
  position: relative;
}

.yoboList dd::before {
  position: absolute;
  left: 0;
  background: #8fd4d3;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 25px;
  height: 25px;
}

.yoboList dd.no_1:before {
  content: "1";
}

.yoboList dd.no_2:before {
  content: "2";
}

.yoboList dd.no_3:before {
  content: "3";
}

.yoboList::after {
  content: "";
  background: url(../img/subpage/yoboList.png) no-repeat;
  background-size: cover;
  width: 180px;
  height: 200px;
  position: absolute;
  right: 75px;
  bottom: 0;
}

#mouthpiece .flow-chart li {
  margin-bottom: 5rem;
  height: auto;
}

#mouthpiece .p-subpage-block01 {
  margin-bottom: 0;
}

#mouthpiece .p-subpage-subtitle03 {
  margin: 5rem auto 3rem;
}

#clinic .back-cloth {
  padding: 80px 0 100px;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #periodontal .p-subpage-subtitle04+ul li {
    width: 100%;
  }

  .flow-chart h5 {
    padding-left: 21px;
    font-size: 21px;
  }

  #periodontal .p-subpage-sec04 {
    margin-bottom: 100px;
  }

  #periodontal .p-subpage-sec02 {
    margin-bottom: 0;
  }

  #preventive .c-page-heading__textBig::before {
    display: none;
  }

  #preventive .c-page-heading__textBig::after {
    background: url(../img/icon-teeth-sp.png) no-repeat center / cover;
  }

  #preventive .c-page-heading__textBig {
    letter-spacing: 0.1em;
    line-height: 1.6;
  }

  .p-preventive-03 h3::before {
    width: 25px;
    height: 25px;
    top: 3px;
  }

  .preventive-03-cont h3 {
    font-size: 21px;
    margin-bottom: 2rem;
  }

  .preventive-03-cont2 h3 {
    font-size: 21px;
    letter-spacing: 0.15em;
  }

  .preventive-03-cont h3 {
    letter-spacing: 0.1em;
  }

  .p-preventive-03 {
    padding: 80px 0 80px 0;
  }

  .p-preventive-04 {
    padding: 50px 0 150px 0;
  }

  .box-list h5 {
    font-size: 18px;
  }

  .feature-block {
    width: 100%;
  }

  .feature-block h5 {
    font-size: 21px;
  }

  #direct-bonding .p-subpage-sec03 {
    margin-top: 50px;
    margin-bottom: 100px;
  }

  #direct-bonding section.p-subpage-sec01 {
    margin-bottom: 0;
  }

  #whitening .p-subpage-sec02 ul.list-wrap {
    margin: 30px auto 0;
  }

  #whitening .p-subpage-sec02 .checklist-block {
    margin-bottom: 7rem;
  }

  #whitening .p-subpage-sec03 {
    margin-bottom: 150px;
  }

  #whitening .p-subpage-sec03 {
    margin-bottom: 150px;
  }

  .p-subpage-block01-img,
  .p-subpage-block01-txt {
    width: 100%;
  }

  .p-subpage-block01-img img {
    padding: 0;
    margin-bottom: 2rem;
  }

  .method-wrap {
    flex-wrap: wrap;
  }

  .method-wrap div {
    width: 100%;
  }

  #implant .p-subpage-sec03 {
    padding: 0;
    padding-bottom: 50px;
  }

  .qa-list dl dt {
    padding: 20px 40px 20px 65px;
    line-height: 1.8;
  }

  .qa-list dl dt::before {
    top: 18px;
    left: 18px;
  }

  .qa-list dl::after {
    right: 20px;
  }

  section.p-subpage-lead {
    padding: 50px 0 80px;
  }

  #dentures .lead-list {
    width: 100%;
  }

  #dentures .list-wrap {
    gap: 30px;
  }

  #dentures .p-subpage-sec04 .lead-list dt {
    font-size: 21px;
  }

  #dentures .p-subpage-sec05 {
    margin-bottom: 100px;
  }

  #wisdom-teeth .p-subpage-sec01 .list-wrap {
    margin-top: 80px;
  }

  #wisdom-teeth .p-subpage-sec01 .lead-list {
    width: 100%;
    padding: 75px 25px 40px;
    margin-bottom: 4rem;
  }

  #wisdom-teeth .p-subpage-sec01 .lead-list dt {
    font-size: 18px;
    line-height: 1.4;
    padding: 10px 40px;
    top: -33px;
  }

  #wisdom-teeth .p-subpage-sec01 .lead-list dd {
    margin-left: 20px;
  }

  #wisdom-teeth .p-subpage-block02 {
    margin-bottom: 0;
  }

  #wisdom-teeth .p-subpage-sec03 {
    margin-bottom: 80px;
  }

  #wisdom-teeth .p-subpage-sec04 {
    margin-bottom: 100px;
  }

  #wisdom-teeth .p-subpage-sec04 p:nth-of-type(1) {
    margin-bottom: 50px;
  }

  .c-row-reverse .p-subpage-block01-img img {
    padding: 0;
  }

  #grinding .p-subpage-sec03 {
    margin-bottom: 100px;
  }

  #grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents .p-subpage-block02-txt p:nth-of-type(1) {
    line-height: 1.6;
  }

  #grinding .flow-chart li:nth-of-type(2) .p-subpage-block02-contents img:nth-of-type(1) {
    padding-right: 0;
  }

  #dysphagia .p-subpage-block02>p {
    border: 1px dashed #c5b397;
    border-radius: 10px;
    padding: 1rem;
  }

  #dysphagia .p-subpage-sec04 {
    margin-top: 80px;
    margin-bottom: 100px;
  }

  #oral-hypofunction .p-subpage-sec03 .p-subpage-block02 p:nth-of-type(1) {
    margin-bottom: 40px;
  }

  #oral-hypofunction .p-subpage-sec03 .p-subpage-block02 .p-subpage-block02-contents p {
    margin-bottom: 0;
  }

  #oral-hypofunction .flow-chart li:nth-of-type(1) p:nth-of-type(2) {
    margin-left: 0px;
  }

  #oral-hypofunction .p-subpage-sec04 {
    margin-top: 80px;
    margin-bottom: 150px;
  }

  .yoboList {
    padding-bottom: 220px;
  }

  section.p-subpage-index {
    margin-bottom: 100px;
  }

  #handicapped section.p-subpage-sec01 {
    margin-bottom: 4rem;
  }

  #handicapped section.p-subpage-sec02 {
    margin-bottom: 5rem;
  }

  #mouthpiece .flow-chart li {
    margin-bottom: 3rem;
  }

  #mouthpiece section.p-subpage-sec01 {
    margin-bottom: 0;
  }

  #caries .p-subpage-sec02 {
    margin-bottom: 30px;
  }

  #pediatric .p-subpage-sec01 {
    margin-top: 50px;
  }

  #visit .p-subpage-sec01 .p-subpage-block02-img {
    position: static;
  }

  #visit .p-subpage-sec01 .p-subpage-block02 {
    margin-bottom: 20px;
  }

  .block-2column-list {
    padding: 40px 40px 35px;
  }

  .block-2column-list dd {
    width: 100%;
  }

  #visit .p-subpage-sec03 .alt-ratio .p-subpage-block02-img,
  #visit .p-subpage-sec03 .alt-ratio .p-subpage-block02-txt {
    width: 100%;
  }

  #visit .p-subpage-sec04 table th {
    padding: 10px;
    line-height: 1.6;
  }

  #visit .p-subpage-sec04 table td {
    padding: 10px 0px;
    line-height: 1.8;
  }

  .fee-caution {
    margin-top: -30px;
  }

  #fee .p-subpage-subtitle03 {
    margin-bottom: 2rem;
  }

  #fee .tb01 th {
    width: 68%;
  }

  #fee .tb01 td {
    width: 32%;
  }

  #fee .tb01 th,
  #fee .tb01 td {
    padding: 25px 10px;
    line-height: 1.7;
  }

  #fee section.p-subpage-sec01 {
    margin-bottom: 8rem;
  }

  #clinic .lead-title {
    font-size: 24px;
    line-height: 1.8;
  }

  .lead-text2::after {
    top: 90px;
  }

  .p-clinic-access-block01 {
    border-radius: 0;
  }

  #clinic .back-cloth {
    padding: 80px 0 100px;
    margin-bottom: 0;
  }

  .p-clinic-doctors-block01__name {
    font-size: 28px;
  }

  .p-clinic-doctors-block01__name-en {
    font-size: 18px;
  }

  .p-front-feature .p-front-greeting-block01__name,
  .p-front-feature .three-column-cont .p-front-greeting-block01__name {
    font-size: 22px;
  }
}