/*-------post------*/
.archive-post-title {
  font-size: var(--b-fs);
  font-weight: var(--b-fw);
}
.single-post-title {
  font-size: var(--b-fs);
  font-weight: var(--b-fw);
}
.breadcrumb {
  background: #1a1a1a;
  padding-inline: 5.55%;
  display: flex;
  padding-top: 10px;
  padding-bottom: 10px;
}
.breadcrumb li::after {
  content: ">";
  margin: 0 1em;
  display: inline-block;
}
.breadcrumb li:last-child::after {
  content: none;
}
.breadcrumb li a,
.breadcrumb li {
  color: #fff;
}
.p-single__body {
  max-width: 950px;
  width: 100%;
  margin-inline: auto;
}
.pagination-area {
  margin-top: clamp(40px, var(--px-80), 80px);
}
.nav-links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
}
/*-------hd------*/
.c-logo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  max-width: max(var(--px-383), 241px);
}
.c-logo-txt {
  font-size: max(var(--px-24), 20px);
  background: var(--green);
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 1;
  padding-block: clamp(5px, var(--px-10), 10px);
  margin-inline: 40px;
}
/*-------ft-----*/
/*-------btn------*/
.c-btn-wrap {
  background: #fff;
  padding: 10px;
  max-width: max(var(--px-355), 266px);
  height: clamp(80px, var(--px-108), 108px);
}
.c-btn {
  font-size: max(var(--px-36), 24px);
  border: 1px solid #005d15;
  color: var(--green);
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  height: 100%;
  line-height: 1;
}
.c-btn::before {
  content: "";
  background: url(../../../uploads/2026/04/phone-icon.webp) no-repeat;
  background-size: contain;
  width: max(var(--px-40), 30px);
  aspect-ratio: 1 / 1;
  display: inline-block;
}
.c-header-telbtn {
  border: 1px solid #000;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  line-height: 1;
}
.c-header-telbtn:hover {
  opacity: 1;
}
.c-header-telbtn-font1 {
  font-size: max(var(--px-20), 13px);
}
.c-header-telbtn-font2 {
  font-size: max(var(--px-32), 18px);
  display: flex;
  width: 100%;
  justify-content: center;
}
.c-header-telbtn-font2::before {
  content: "";
  background: url(../../../uploads/2026/04/phone-icon2.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  max-width: max(var(--px-34), 20px);
  width: 100%;
  height: max(var(--px-34), 20px);
  margin-right: 10px;
}
.c-header-mapbtn {
  background: var(--green);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 400;
  font-size: max(var(--px-24), 18px);
  transition: 0.35s ease-in-out;
}
.c-header-mapbtn:hover {
  background: #000;
  opacity: 1;
}
.c-header-mapbtn::before {
  content: "";
  background: url(../../../uploads/2026/04/pin-icon.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  max-width: max(var(--px-24), 24px);
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-right: 10px;
}
.l-header-link-wrap {
  display: grid;
  grid-template-columns: max(var(--px-322), 222px) max(var(--px-195), 185px);
  height: clamp(60px, var(--px-109), 109px);
  position: absolute;
  right: var(--px-80);
  top: 24px;
  z-index: 600;
}
/*-------title------*/
.c-title {
  background: url(../../../uploads/2026/04/top-title-bg.webp) no-repeat;
  background-size: 100% 100%;
  font-size: max(var(--px-64), 24px);
  color: var(--green);
  text-align: center;
  line-height: 1.28;
  font-weight: 500;
  padding-top: clamp(46px, var(--px-214), 214px);
  padding-bottom: clamp(23px, var(--px-134), 134px);
}
.c-title .s-title {
  font-size: max(var(--px-40), 20px);
  display: block;
  letter-spacing: 0.06em;
}
/*-------fv------*/
.p-index-fv {
  position: relative;
}
.p-index-fv__title {
  position: absolute;
  writing-mode: tb;
  z-index: 3;
  top: var(--px-160);
  right: var(--px-145);
  font-size: max(var(--px-36), 24px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.p-index-fv__title-font {
  display: inline-block;
  background: #fff;
  white-space: nowrap;
  padding-inline: 1em;
  padding-block: 10px;
}
.p-index-fv__title-font.st1 {
  padding-inline: 10px;
}
.p-index-fv__title-font-s {
  font-size: max(var(--px-32), 20px);
}
.p-index-fv__title span:nth-child(2) {
  margin-block: 0.3611em;
}
.p-index-fv__icon {
  position: absolute;
  bottom: 120px;
  left: var(--px-140);
  background: url(../../../uploads/2026/04/mv-icon.webp) no-repeat;
  background-size: contain;
  width: max(var(--px-303), 181px);
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.p-index-fv__icon-font {
  color: #fff;
  font-size: max(var(--px-24), 15px);
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.74);
}
.p-index-fv__icon-font.st2 {
  color: var(--yellow);
  font-size: max(var(--px-36), 24px);
}
/*-------contact------*/
.p-index-contact .l-inner {
  background: url(../../../uploads/2026/04/contact-bg.jpg) no-repeat;
  background-size: cover;
  padding-top: clamp(80px, var(--px-114), 114px);
  padding-bottom: clamp(60px, var(--px-90), 90px);
  z-index: 1;
}
.p-index-contact-body {
  max-width: max(var(--px-700), 700px);
  width: 100%;
  margin-inline: auto;
}
.p-index-contact-img {
  width: clamp(115px, var(--px-237), 237px);
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 131px;
}
.p-index-contact-title {
  font-size: max(var(--px-36), 16px);
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  position: relative;
  width: fit-content;
  margin-inline: auto;
}
.p-index-contact-title::before {
  content: "";
  background: url(../../../uploads/2026/04/line-left-icon.webp) no-repeat;
  background-size: contain;
  width: max(var(--px-45), 25px);
  aspect-ratio: 3 / 5;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(-100%);
}
.p-index-contact-title::after {
  content: "";
  background: url(../../../uploads/2026/04/line-right-icon.webp) no-repeat;
  background-size: contain;
  width: max(var(--px-45), 25px);
  aspect-ratio: 3 / 5;
  position: absolute;
  right: 0px;
  top: 0;
  transform: translateX(100%);
}
.p-index-contact-title em {
  font-size: max(var(--px-48), 24px);
  color: var(--yellow);
  position: relative;
}
.p-index-contact-title em::before {
  content: "";
  width: 7px;
  aspect-ratio: 1 / 1;
  background: var(--yellow);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  clip-path: circle(50% at 50% 50%);
  -webkit-clip-path: circle(50% at 50% 50%);
}
/*-------greeting------*/
.p-index-greeting {
  padding-block: clamp(50px, var(--px-90), 180px);
}
.p-index-greeting::before {
  content: "";
  background: url(../../../uploads/2026/04/top-greeting-bg1.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  max-width: max(var(--px-425), 425px);
  width: 100%;
  aspect-ratio: 17 / 15;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-index-greeting-img-box {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  max-width: max(var(--px-578), 300px);
  width: 100%;
  padding-bottom: clamp(50px, var(--px-100), 180px);
  background: url(../../../uploads/2026/04/top-greeting-bg2.jpg) no-repeat;
  background-size: 85% 100%;
  background-position: right bottom;
}
.p-index-greeting-title {
  font-size: max(var(--px-36), 20px);
  line-height: 1.48;
  margin-bottom: clamp(15px, var(--px-50), 50px);
}
.p-index-greeting-title em {
  font-size: max(var(--px-48), 24px);
  color: var(--green);
}
.p-index-greeting-txt-box {
  max-width: max(var(--px-806), 300px);
  width: 100%;
}
/*-------who------*/
.p-index-who {
  background: url(../../../uploads/2026/04/top-who-bg.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  padding-top: clamp(50px, var(--px-80), 80px);
  padding-bottom: clamp(50px, var(--px-100), 100px);
}
.p-index-who-title {
  font-size: max(var(--px-36), 18px);
  line-height: 1.48;
  margin-bottom: clamp(15px, var(--px-50), 50px);
  text-align: center;
}
.p-index-who-title em {
  font-size: max(var(--px-48), 24px);
  color: var(--green);
  text-decoration: solid;
  border-bottom: 1px solid var(--green);
}
.p-index-who__body {
  max-width: max(var(--px-1280), 1280px);
  width: 100%;
  margin-inline: auto;
  box-shadow: 0px 0px 12px rgba(134, 134, 134, 0.5);
  display: flex;
}
.p-index-who__box {
  flex: 1;
  background: #fff;
  padding: clamp(18px, var(--px-30), 30px);
  display: flex;
}
.p-index-who__box-inner {
  background: #f2f2f2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline: max(var(--px-50), 25px);
  padding-bottom: max(var(--px-50), 25px);
  padding-top: max(var(--px-40), 20px);
  width: 100%;
}
.p-index-who__box-title {
  font-size: max(var(--px-32), 20px);
  line-height: 1.48;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.p-index-who__box-title em {
  font-size: max(var(--px-40), 24px);
}
.p-index-who__box-title::before {
  content: "";
  background: #000;
  display: inline-block;
  width: max(var(--px-38), 38px);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-index-who__box-text {
  flex: 1;
  background: #fff;
  display: flex;
  align-items: center;
  padding-inline: 10px;
  padding-block: clamp(20px, var(--px-50), 50px);
}
.p-index-who__box-text p {
  font-size: max(var(--px-20), 12px);
  line-height: 1.84;
}
/*-------stage------*/
.p-index-stage::after {
  content: "";
  display: block;
  max-width: max(var(--px-478), 223px);
  width: 100%;
  aspect-ratio: 5 / 1;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  background: #dec400;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.p-index-stage {
  background: url(../../../uploads/2026/04/top-stage-bg.jpg) no-repeat;
  background-size: cover;
  padding-top: clamp(30px, var(--px-90), 90px);
  padding-bottom: clamp(40px, var(--px-140), 200px);
}
.p-index-stage-title {
  color: #fff;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.68);
  font-size: max(var(--px-48), 24px);
  line-height: 1.84;
  letter-spacing: 0.05em;
}
.p-index-stage-text {
  color: #fff;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.68);
  font-size: max(var(--px-20), 15px);
  max-width: max(var(--px-1024), 1024px);
  width: 100%;
  margin-inline: auto;
  margin-bottom: clamp(30px, var(--px-60), 60px);
}
.p-index-stage-list {
  background: #fff;
  padding-block: clamp(30px, var(--px-70), 70px);
  padding-inline: clamp(20px, var(--px-36), 36px);
}
.p-index-stage-list li {
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: max(var(--px-20), 20px);
  margin-bottom: max(var(--px-30), 20px);
  gap: clamp(15px, var(--px-30), 30px);
}
.p-index-stage-list__img-box {
  max-width: max(var(--px-231), 154px);
  width: 100%;
  margin-inline: auto;
}
.p-index-stage-list-name {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.p-index-stage-list-name p {
  font-size: max(var(--px-36), 20px);
  line-height: 1.8;
}
.p-index-stage-list-name em {
  font-size: max(var(--px-24), 16px);
  line-height: 1.8;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: max(var(--px-185), 114px);
  width: 100%;
  height: clamp(27px, var(--px-55), 55px);
  margin-left: 1em;
  padding-right: 1em;
}
.c-list-icon.st1 {
  background: url(../../../uploads/2026/04/stage-icon1.webp) no-repeat;
  background-size: 100% 100%;
}
.c-list-icon.st2 {
  background: url(../../../uploads/2026/04/stage-icon2.webp) no-repeat;
  background-size: 100% 100%;
}
.c-list-icon.st3 {
  background: url(../../../uploads/2026/04/stage-icon3.webp) no-repeat;
  background-size: 100% 100%;
}
.c-list-icon.st4 {
  background: url(../../../uploads/2026/04/stage-icon4.webp) no-repeat;
  background-size: 100% 100%;
}
/*-------emdogaingel------*/
.p-index-emdogaingel {
  padding-top: clamp(50px, var(--px-90), 90px);
}
.p-index-emdogaingel-title {
  text-align: center;
  font-size: max(var(--px-36), 16px);
  line-height: 1.46;
  margin-bottom: max(var(--px-40), 20px);
}
.p-index-emdogaingel-title em {
  font-size: max(var(--px-48), 20px);
}
.p-index-emdogaingel-wrap__title {
  font-size: max(var(--px-64), 24px);
  line-height: 1.46;
  color: #fff;
}
.p-index-emdogaingel-wrap__text {
  font-size: max(var(--px-36), 16px);
  line-height: 1.65;
  color: #fff;
}
.p-index-emdogaingel-wrap__text em {
  font-size: max(var(--px-48), 20px);
  color: #dec400;
}
.p-index-emdogaingel-wrap {
  position: relative;
  justify-content: flex-end;
  margin-bottom: clamp(10px, var(--px-50), 50px);
}
.p-index-emdogaingel__txt-box {
  max-width: max(var(--px-780), 330px);
  width: 100%;
  background: url(../../../uploads/2026/04/top-emdogaingel-bg.webp) no-repeat;
  background-size: 100% 100%;
  padding-top: clamp(40px, var(--px-90), 90px);
  padding-bottom: clamp(40px, var(--px-128), 200px);
  padding-left: var(--px-100);
}
.p-index-emdogaingel__img-box {
  position: absolute;
  max-width: max(var(--px-848), 400px);
  width: 100%;
  height: clamp(223px, var(--px-487), 600px);
  transform: translateY(-50%);
  top: 50%;
  right: 0;
  z-index: -1;
}
.p-index-emdogaingel__img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-index-emdogaingel-desc {
  font-size: max(var(--px-24), 16px);
  text-align: center;
}
.p-index-emdogaingel-desc em {
  font-size: max(var(--px-32), 20px);
  color: var(--green);
}
/*-------point------*/
.p-index-point {
  padding-bottom: clamp(40px, var(--px-80), 80px);
}
.p-index-point-title {
  text-align: center;
  padding-top: clamp(50px, var(--px-150), 150px);
  font-size: max(var(--px-36), 16px);
  padding-bottom: 50px;
  position: relative;
}
.p-index-point-title em {
  text-align: center;
  font-size: max(var(--px-64), 24px);
}
.p-index-point-title::before {
  content: "";
  background: url(../../../uploads/2026/04/top-title-bg.webp) no-repeat;
  background-size: 100% 100%;
  width: 100%;
  height: clamp(150px, var(--px-487), 650px);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-20%);
  z-index: -1;
}
.p-index-point__wrap-title {
  background: var(--green);
  color: #fff;
  line-height: 1.28;
  font-size: max(var(--px-36), 20px);
  font-weight: 500;
  display: flex;
  width: fit-content;
  justify-content: center;
  align-items: stretch;
  margin-bottom: clamp(20px, var(--px-40), 40px);
}
.p-index-point__wrap-title-icon {
  background: #005d15;
  height: 100%;
  font-size: max(var(--px-96), 32px);
  line-height: 1.02;
  padding-inline: max(var(--px-22), 12px);
  padding-block: clamp(22px, var(--px-30), 30px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.p-index-point__wrap-title-icon span {
  display: block;
  font-size: max(var(--px-32), 13px);
  text-align: center;
  line-height: 0.86;
}
.p-index-point__wrap-title-main {
  display: flex;
  justify-content: center;
  align-items: center;
}
.st1 .p-index-point__wrap-title-main {
  padding-inline: clamp(16px, var(--px-90), 90px);
  line-height: 1.28;
  padding-block: 10px;
}
.st2 .p-index-point__wrap-title-main {
  padding-inline: clamp(40px, var(--px-110), 110px);
  line-height: 1.28;
  padding-block: 10px;
}
.st3 .p-index-point__wrap-title-main {
  padding-inline: clamp(20px, var(--px-80), 80px);
  text-align: center;
  line-height: 1.28;
}
.st1.p-index-point__wrap {
  background: url(../../../uploads/2026/05/top-point1-bg.jpg) no-repeat;
  background-size: contain;
  background-position: top right;
  padding-top: clamp(18px, var(--px-40), 80px);
  padding-bottom: clamp(40px, var(--px-180), 300px);
  margin-bottom: clamp(30px, var(--px-90), 90px);
}
.st1 .p-index-point__wrap-desc {
  padding-left: clamp(20px, var(--px-80), 80px);
  padding-right: max(var(--px-470), 20px);
}
.st2 .p-index-point__wrap-title {
  margin-left: auto;
}
.st2.p-index-point__wrap {
  background: url(../../../uploads/2026/04/top-point2-bg.webp) no-repeat;
  background-size: 46%;
  background-position: top left;
  padding-top: clamp(18px, var(--px-30), 80px);
  margin-bottom: clamp(30px, var(--px-90), 90px);
}
.st2 .p-index-point__wrap-desc {
  padding-right: clamp(20px, var(--px-80), 80px);
  padding-left: max(var(--px-550), 20px);
}
.st3.p-index-point__wrap {
  background: url(../../../uploads/2026/04/top-point3-bg.webp) no-repeat;
  background-size: 46%;
  background-position: top right;
  padding-top: clamp(18px, var(--px-30), 80px);
}
.st3 .p-index-point__wrap-desc {
  padding-left: clamp(20px, var(--px-80), 80px);
  padding-right: max(var(--px-667), 20px);
}
/*-------perio------*/
.p-index-perio-num {
  font-size: max(var(--px-40), 16px);
  color: var(--green);
  letter-spacing: 0.09em;
  margin-bottom: clamp(10px, var(--px-30), 30px);
  line-height: 1.28;
}
.p-index-perio-num em {
  font-size: max(var(--px-64), 24px);
}
.p-index-perio-title {
  font-size: max(var(--px-36), 20px);
  line-height: 1.28;
  margin-bottom: clamp(10px, var(--px-40), 40px);
}
.p-index-perio-title em {
  display: block;
}
.p-index-perio-title em:first-child {
  margin-bottom: max(var(--px-15), 8px);
}
.p-index-perio-title span {
  font-size: max(var(--px-48), 24px);
}
.p-index-perio__wrap-img-box {
  max-width: max(var(--px-608), 312px);
  width: 100%;
  margin-inline: auto;
}
.p-index-perio__wrap {
  margin-bottom: clamp(40px, var(--px-60), 60px);
  padding-left: var(--px-80);
  align-items: center;
  background: url(../../../uploads/2026/04/top-perio-bg1.jpg) no-repeat;
  background-size: contain;
  background-position: left top;
}
.p-index-perio__wrap-txt-box {
  padding-top: clamp(40px, var(--px-100), 100px);
  margin-bottom: clamp(40px, var(--px-50), 50px);
}
.p-index-perio__body {
  background: url(../../../uploads/2026/04/top-perio-bg2.jpg) no-repeat;
  background-size: cover;
  padding-block: 40px;
  margin-bottom: 50px;
}
.p-index-perio__body2-box {
  max-width: max(var(--px-1280), 1280px);
  width: 100%;
  margin-inline: auto;
  background: #f2f2f2;
  padding-top: clamp(40px, var(--px-90), 90px);
  padding-bottom: clamp(30px, var(--px-90), 90px);
  padding-left: var(--px-80);
  padding-right: var(--px-124);
}
.p-index-perio__body2-text {
  margin-bottom: clamp(30px, var(--px-60), 60px);
}
/*-------case------*/
.p-index-case__box {
  max-width: max(var(--px-1148), 1148px);
  width: 100%;
  margin-inline: auto;
}
.p-index-case__title {
  font-size: max(var(--px-48), 16px);
  color: var(--green);
  margin-bottom: clamp(20px, var(--px-40), 40px);
  width: fit-content;
  margin-inline: auto;
}
.p-index-case__title::before {
  content: "";
  background: url(../../../uploads/2026/04/teeth-icon.webp) no-repeat;
  background-size: contain;
  display: block;
  max-width: max(var(--px-58), 22px);
  width: 100%;
  margin-inline: auto;
  aspect-ratio: 29 / 31;
}
.p-index-case__row {
  display: flex;
}
.p-index-case__list dt {
  background: var(--green);
  color: #fff;
  border-bottom: 1px solid #fff;
  font-size: max(var(--px-24), 15px);
  width: 35%;
  text-align: center;
  padding-block: clamp(16px, var(--px-32), 32px);
}
.p-index-case__list dd {
  border-style: solid;
  border-color: var(--green);
  border-width: 1px 1px 0 1px;
  font-size: max(var(--px-24), 15px);
  width: 65%;
  text-align: center;
  padding-block: clamp(16px, var(--px-32), 32px);
}
.p-index-case__list .p-index-case__row:last-child dd {
  border-width: 1px 1px 1px 1px;
}
.p-index-case__img-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.case-arrow {
  max-width: max(var(--px-35), 11px);
  width: 100%;
  aspect-ratio: 7 / 16;
  background: var(--yellow);
  display: block;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.p-index-case__img {
  max-width: max(var(--px-507), 380px);
  width: 100%;
}
.p-index-case__img-before {
  background: linear-gradient(
    170deg,
    #62cb7e 0%,
    #62cb7e 50%,
    #68c180 50%,
    #68c180 100%
  );
  font-size: max(var(--px-32), 16px);
  color: #fff;
  text-align: center;
  padding-block: 0.5em;
  line-height: 1.28;
}
.p-index-case__img-after {
  background: linear-gradient(
    170deg,
    #eacf02 0%,
    #eacf02 50%,
    #dec400 50%,
    #dec400 100%
  );
  font-size: max(var(--px-32), 16px);
  color: #fff;
  text-align: center;
  padding-block: 0.5em;
  line-height: 1.28;
}
.p-index-case__list {
  margin-bottom: clamp(20px, var(--px-60), 60px);
}
/*-------flow------*/
.p-index-flow {
  padding-bottom: clamp(40px, var(--px-90), 90px);
}
.p-index-flow__body1-list {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, var(--px-40), 40px) clamp(8px, var(--px-30), 30px);
}
.p-index-flow__body1-list li {
  display: flex;
  align-items: center;
  min-width: max(var(--px-251), 155px);
  justify-content: flex-start;
}
.p-index-flow__body1-list li:nth-child(2),
.p-index-flow__body1-list li:nth-child(5) {
  min-width: max(var(--px-498), 150px);
}
.p-index-flow__body1-list li:nth-child(3),
.p-index-flow__body1-list li:nth-child(6) {
  min-width: max(var(--px-449), 150px);
}
.p-index-flow__body1-list li:nth-child(3) span,
.p-index-flow__body1-list li:nth-child(6) span {
  margin-inline: 0;
  margin-left: 5px;
}
.p-index-flow__body1-list li:nth-child(7) {
  min-width: max(var(--px-431), 280px);
}
.p-index-flow__body1-list li:nth-child(7) span {
  margin-inline: 0;
  margin-left: 5px;
}
.p-index-flow__body1-list span {
  text-align: center;
  display: inline-block;
  margin-right: clamp(8px, var(--px-16), 16px);
  margin-left: clamp(1px, var(--px-16), 16px);
  letter-spacing: 0.06em;
  font-size: max(var(--px-24), 16px);
}
.p-index-flow__body1-list-icon {
  font-size: max(var(--px-32), 10px);
  background: var(--green);
  color: #fff;
  line-height: 1.28;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: max(var(--px-68), 32px);
  width: 100%;
  height: max(var(--px-61), 32px);
  aspect-ratio: 1 / 1;
}
.flow-arow {
  max-width: max(var(--px-19), 10px);
  width: 100%;
  aspect-ratio: 19 / 31;
  display: inline-block;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
  background: var(--yellow);
}
.p-index-flow__body1-text {
  margin-bottom: clamp(30px, var(--px-60), 60px);
}
.p-index-flow__body1 {
  margin-bottom: clamp(40px, var(--px-80), 80px);
}
.p-index-flow__body2 {
  background: #f2f2f2;
  padding-top: clamp(30px, var(--px-100), 100px);
  padding-bottom: clamp(40px, var(--px-60), 60px);
}
.p-index-flow__body2-title {
  font-size: max(var(--px-36), 20px);
  text-align: center;
  font-weight: 500;
}
.p-index-flow-list {
  padding-top: clamp(30px, var(--px-70), 70px);
  padding-inline: clamp(15px, var(--px-36), 36px);
}
.p-index-flow-list li {
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: max(var(--px-20), 20px);
  margin-bottom: max(var(--px-30), 20px);
  gap: clamp(15px, var(--px-30), 30px);
}
.p-index-flow-list li:last-child {
  margin-bottom: 0;
}
.p-index-flow-list__img-box {
  max-width: max(var(--px-231), 154px);
  width: 100%;
  margin-inline: auto;
}
.p-index-flow-list__txt-box {
  flex: 1;
}
.p-index-flow-list-name {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.p-index-flow-list-name p {
  font-size: max(var(--px-36), 20px);
  line-height: 1.8;
}
.p-index-flow-list-name em {
  font-size: max(var(--px-24), 16px);
  line-height: 1.8;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: max(var(--px-185), 114px);
  width: 100%;
  height: clamp(27px, var(--px-55), 55px);
  margin-right: 1em;
  padding-right: 1em;
}
/*-------bacteria------*/
.p-index-bacteria {
  background: url(../../../uploads/2026/04/top-bacteria-bg.jpg) no-repeat;
  background-size: cover;
  padding-bottom: clamp(30px, var(--px-90), 90px);
  /*非表示*/
  display: none;
}
.p-index-bacteria-title {
  font-size: max(var(--px-48), 16px);
  text-align: center;
  color: #fff;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.68);
  padding-top: clamp(20px, var(--px-80), 80px);
  padding-bottom: clamp(20px, var(--px-60), 60px);
  position: relative;
  width: fit-content;
  margin-inline: auto;
}
.p-index-bacteria-title ::before {
  content: "";
  background: url(../../../uploads/2026/04/dr-img.webp) no-repeat;
  background-size: contain;
  display: block;
  max-width: max(var(--px-228), 180px);
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: -30px;
  transform: translateX(100%);
}
.p-index-bacteria-title em {
  font-size: max(var(--px-64), 20px);
  display: inline-block;
  line-height: 1.45;
  box-shadow: inset 0 -22px 0 #4e4e4d;
}
.p-index-bacteria-box {
  border: 1px solid #fff;
  padding-inline: clamp(20px, var(--px-60), 60px);
  padding-bottom: clamp(30px, var(--px-60), 60px);
  padding-top: clamp(20px, var(--px-40), 40px);
}
.p-index-bacteria-box-title {
  color: #fff;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.68);
  font-size: max(var(--px-36), 20px);
  text-align: center;
  line-height: 1.48;
  padding-bottom: clamp(10px, var(--px-20), 20px);
  margin-bottom: clamp(20px, var(--px-30), 30px);
  position: relative;
}
.p-index-bacteria-box-title::after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  width: max(var(--px-33), 19px);
  height: 1px;
}
.p-index-bacteria-icon {
  display: block;
  background: url(../../../uploads/2026/04/multiply-icon.webp) no-repeat;
  background-size: contain;
  max-width: max(var(--px-54), 33px);
  width: 100%;
  aspect-ratio: 6 / 5;
}
.p-index-bacteria__wrap {
  align-items: center;
  gap: 16px;
}
/*-------fee------*/
.p-index-fee__body {
  background: url(../../../uploads/2026/04/top-fee-bg.jpg) no-repeat;
  background-size: 100% 100%;
  padding-top: clamp(50px, var(--px-100), 100px);
  padding-bottom: clamp(106px, var(--px-125), 125px);
  position: relative;
  z-index: 1;
}
.p-index-fee__body-box {
  background: linear-gradient(
    150deg,
    #ffff 0%,
    #ffff 50%,
    #f7f7f7 50%,
    #f7f7f7 100%
  );
  max-width: max(var(--px-850), 315px);
  width: 100%;
  margin-left: var(--px-30);
  padding-block: clamp(10px, var(--px-50), 50px);
  padding-inline: clamp(30px, var(--px-80), 80px);
  position: relative;
}
.p-index-fee__body::after {
  content: "";
  max-width: max(var(--px-768), 179px);
  height: max(var(--px-511), 179px);
  width: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  background: url(../../../uploads/2026/04/top-fee-hito.webp) no-repeat;
  background-size: contain;
  background-position: bottom right;
}
.p-index-fee__body-box-title {
  font-size: max(var(--px-40), 15px);
  color: #fff;
  background: #00a32c;
  display: block;
  text-align: center;
  line-height: 1.46;
  letter-spacing: 0.04em;
  padding-block: 8px;
  position: relative;
}
.p-index-fee__body-box-title::before {
  content: "";
  width: max(var(--px-19), 7px);
  height: 100%;
  background: #fff;
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 1;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.p-index-fee__body-box-title::after {
  content: "";
  width: max(var(--px-19), 7px);
  height: 100%;
  background: #fff;
  position: absolute;
  right: -1px;
  top: 0;
  z-index: 1;
  clip-path: polygon(100% 0%, 0 50%, 100% 100%);
  -webkit-clip-path: polygon(100% 0%, 0 50%, 100% 100%);
}
.p-index-fee__body-box-title-inner {
  border-top: 1px solid #00a32c;
  border-bottom: 1px solid #00a32c;
  padding-block: clamp(12px, var(--px-24), 24px);
  margin-bottom: 5px;
  padding-inline: max(var(--px-32), 12px);
}
.p-index-fee__body-wrap-icon {
  font-size: max(var(--px-48), 16px);
  background: #000;
  color: #fff;
  display: inline-block;
  letter-spacing: 0.04em;
  line-height: 1.46;
  padding-inline: max(var(--px-30), 12px);
}
.p-index-fee__body-wrap-price {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
  font-size: max(var(--px-128), 48px);
  line-height: 1.46;
  letter-spacing: 0.04em;
}
.p-index-fee__body-wrap-price-after {
  font-size: max(var(--px-24), 14px);
  line-height: 1.46;
  letter-spacing: 0.04em;
}
.p-index-fee__body-wrap-price-after-bb {
  font-size: max(var(--px-48), 16px);
  display: block;
  line-height: 1;
}
.p-index-fee__body-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: var(--px-45);
}
.p-index-fee__body2 {
  background: url(../../../uploads/2026/04/top-fee-bg2.jpg) no-repeat;
  background-size: 100% 100%;
  padding-block: clamp(40px, var(--px-110), 110px);
}
.p-index-fee__body2-list {
  max-width: max(var(--px-945), 945px);
  width: 100%;
  margin-inline: auto;
}
.p-index-fee__body2-list li {
  display: flex;
  margin-bottom: clamp(20px, var(--px-40), 40px);
}
.p-index-fee__body2-list li:last-child {
  margin-bottom: 0;
}
.p-index-fee__body2-list-title {
  background: linear-gradient(
    150deg,
    #019421 0%,
    #019421 50%,
    #00831d 50%,
    #00831d 100%
  );
  color: #fff;
  width: 60%;
  font-size: max(var(--px-36), 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 1em;
  line-height: 1.46;
  letter-spacing: 0.04em;
}
.p-index-fee__body2-list-price {
  background: linear-gradient(
    150deg,
    #ffff 0%,
    #ffff 50%,
    #f7f7f7 50%,
    #f7f7f7 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40%;
  font-size: max(var(--px-64), 32px);
  line-height: 1.46;
  letter-spacing: 0.04em;
}
.u-garamond {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
}
.p-index-fee__body2-list-price .s-txt {
  font-family: var(--b-font-family);
  font-size: max(var(--px-40), 20px);
  display: inline-block;
  margin-left: 18px;
}
.p-index-fee__body2-inner {
  padding-inline: 40px;
}
/*cash*/
.p-index-cash {
  padding-top: clamp(40px, var(--px-100), 100px);
}
.p-index-cash-title {
  font-size: max(var(--px-48), 16px);
  color: var(--green);
  margin-bottom: clamp(20px, var(--px-60), 60px);
  width: fit-content;
  margin-inline: auto;
}
.p-index-cash-title::before {
  content: "";
  background: url(../../../uploads/2026/04/teeth-icon.webp) no-repeat;
  background-size: contain;
  display: block;
  max-width: max(var(--px-58), 22px);
  width: 100%;
  margin-inline: auto;
  aspect-ratio: 29 / 31;
}
.p-index-cash-text {
  text-align: center;
  margin-bottom: clamp(20px, var(--px-30), 30px);
}
.p-index-cash__body {
  max-width: max(var(--px-952), 952px);
  width: 100%;
  margin-inline: auto;
  background: #f2f2f2;
  padding-inline: max(var(--px-60), 30px);
  padding-block: clamp(30px, var(--px-50), 50px);
}
.p-index-cash__body-title {
  color: var(--green);
  font-size: max(var(--px-36), 16px);
  text-align: center;
  margin-bottom: clamp(15px, var(--px-30), 30px);
}
.p-index-cash__body-text {
  text-align: center;
}
.p-index-cash__wrap img {
  width: max(var(--px-134), 76px);
}
.p-index-cash__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px clamp(21px, var(--px-36), 36px);
  margin-bottom: clamp(20px, var(--px-40), 40px);
}
/*message*/
.p-index-message__body {
  position: relative;
  z-index: 1;
}
.p-index-message__wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  transform: translateY(50%);
  left: -5.55vw;
  background: url(../../../uploads/2026/04/top-message-bg.jpg) no-repeat;
  background-size: contain;
  display: inline-block;
  max-width: max(var(--px-894), 344px);
  width: 100%;
  aspect-ratio: 3 / 2;
  z-index: -1;
}
.p-index-message__wrap {
  position: relative;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  margin-bottom: clamp(30px, var(--px-80), 80px);
}
.p-index-message__wrap-text p {
  font-size: max(var(--px-32), 15px);
  line-height: 1.68;
  letter-spacing: 0.06em;
}
.p-index-message__wrap-text {
  max-width: max(var(--px-753), 344px);
  width: 100%;
}
.p-index-message__wrap-img {
  max-width: max(var(--px-403), 179px);
  width: 100%;
  padding-bottom: max(var(--px-183), 91px);
  position: relative;
}
.p-index-message__name-box {
  background: var(--green);
  width: max(var(--px-507), 253px);
  height: max(var(--px-183), 91px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  padding-inline: clamp(20px, var(--px-38), 38px);
}
.p-index-message__name {
  color: #fff;
  font-size: max(var(--px-48), 24px);
  line-height: 1.68;
  letter-spacing: 0.06em;
}
.p-index-message__name em {
  font-size: max(var(--px-24), 12px);
  line-height: 1.68;
  letter-spacing: 0;
  margin-left: 9px;
}
.p-index-message__license {
  background: #fff;
  color: var(--green);
  font-size: max(var(--px-32), 16px);
  line-height: 1.68;
  letter-spacing: 0.06em;
  text-align: center;
  width: 100%;
}
.p-index-message__wrap2-box {
  max-width: max(var(--px-608), 608px);
  width: 100%;
  background: #f2f2f2;
  padding-block: 30px;
  padding-inline: clamp(15px, var(--px-40), 40px);
}
.p-index-message__wrap2 {
  align-items: stretch;
  justify-content: center;
  gap: 30px;
}
.p-index-message__wrap2-box-title {
  text-align: center;
  background: #00a32c;
  color: #fff;
  font-size: max(var(--px-32), 16px);
  line-height: 1.68;
  letter-spacing: 0.06em;
  padding-block: 5px;
  margin-bottom: 20px;
}
/*clinic*/
.p-index-clinic {
  padding-bottom: clamp(50px, var(--px-100), 100px);
}
.p-index-clinic__body {
  max-width: max(var(--px-1082), 1082px);
  width: 100%;
  margin-inline: auto;
}
.p-index-clinic-table tr {
  border-bottom: 2px solid var(--green);
}
.p-index-clinic-table th {
  font-size: max(var(--px-24), 15px);
  text-align: center;
  line-height: 1.28;
  letter-spacing: 0.13em;
  color: var(--green);
  padding-bottom: 22px;
  padding-top: 32px;
  width: 22%;
}
.p-index-clinic-table tr:first-child th {
  padding-top: 0;
}
.p-index-clinic-table td {
  font-size: max(var(--px-24), 15px);
  text-align: left;
  line-height: 1.28;
  letter-spacing: 0.13em;
  color: var(--green);
  padding-bottom: 22px;
  padding-top: 32px;
  padding-left: var(--px-64);
  width: 78%;
}
.p-index-clinic-table tr:first-child td {
  padding-top: 0;
}
/*footer*/
.l-footer__info {
  flex: 1;
  background: #ccc1a7;
  padding-block: clamp(30px, var(--px-60), 60px);
  padding-inline: 15px;
}
.l-footer__map {
  flex: 1;
}
.l-footer__info .c-logo {
  position: relative;
  top: auto;
  left: auto;
  margin-inline: auto;
  margin-bottom: clamp(15px, var(--px-20), 20px);
}
.l-footer-info-text {
  text-align: center;
  line-height: 1;
  margin-bottom: 30px;
  font-weight: 400;
}
.l-footer-btn-wrap {
  margin-bottom: clamp(15px, var(--px-20), 20px);
}
.l-footer__info .c-header-telbtn {
  min-height: clamp(63px, var(--px-129), 129px);
  max-width: max(var(--px-417), 187px);
  width: 100%;
  margin-inline: auto;
}
.l-footer__info .c-header-telbtn-font2 {
  font-size: max(var(--px-40), 20px);
  align-items: center;
}
.l-footer__info .c-header-telbtn-font2::before {
  max-width: max(var(--px-52), 20px);
  height: max(var(--px-52), 20px);
}
.l-footer-table {
  max-width: max(var(--px-483), 483px);
  width: 100%;
  margin-inline: auto;
  margin-bottom: clamp(15px, var(--px-20), 20px);
}
.l-footer-table-inner {
  background: #fff;
  padding-block: 30px;
  padding-inline: clamp(15px, var(--px-20), 20px);
}
.l-footer-table-text {
  font-weight: 400;
  line-height: 1;
  margin-top: 10px;
}
.clinic-time-table {
  width: 100%;
  border-collapse: collapse;
}

.clinic-time-table th,
.clinic-time-table td {
  text-align: center;
  padding: 12px 8px;
}
.clinic-time-table td {
  font-size: clamp(20px, var(--px-20), 24px);
  color: var(--green);
}
.clinic-time-table thead th {
  border-bottom: 1px solid #333;
  font-size: clamp(20px, var(--px-20), 24px);
}
.clinic-time-table tbody th {
  text-align: left;
  width: max(var(--px-124), 92px);
  font-size: clamp(15px, var(--px-20), 24px);
  white-space: nowrap;
}
.l-footer-banner {
  max-width: max(var(--px-546), 546px);
  width: 100%;
  margin-inline: auto;
}
.c-copyright__text {
  font-size: 15px;
  line-height: 1.28;
  line-height: 0.05em;
}
.c-copyright {
  padding-block: 19px;
  background: #fff;
}

.accordion-item {
  margin-bottom: clamp(10px, var(--px-20), 20px);
  overflow: hidden;
}
.modern-accordion .accordion-item:last-child {
  margin-bottom: 0;
}
.accordion-header {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--b-color);
  padding: 0;
  border-bottom: 1px solid #d5d5d5;
}

.accordion-item .header-content {
  text-align: left;
}

.accordion-item .title {
  font-family: var(--b-font-family);
  font-size: var(--b-fs);
  font-weight: 600;
  line-height: 1.2;
  padding-block: 0.5em;
}

.accordion-item .icon-wrap {
  position: relative;
  width: 18px;
}
.accordion-header.active .acc-arrow {
  transform: rotate(-180deg);
}
.acc-arrow {
  transition: transform 0.55s ease;
}
.accordion-body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}

.accordion-item .body-content {
  padding-top: clamp(16px, var(--px-20), 20px);
}

/* アニメーション用の状態 */
.accordion-body.entering {
  height: var(--content-height);
}

.accordion-body.leaving {
  height: 0;
}
.u-mb60 {
  margin-bottom: clamp(30px, var(--px-60), 60px);
}

.n-list li {
  margin-bottom: 1em;
}
.n-list li:last-child {
  margin-bottom: 0;
}
/* CSS Document */
