@charset "UTF-8";

/* --------------------------
矯正歯科
--------------------------- */
#orthodontics-02 .sub-section-01 {
  margin-bottom: var(--size100px);
}

@media screen and (max-width: 767px) {
  #orthodontics-02 .sub-section-01 .flex-row-03 .item {
    margin-bottom: var(--size60px) !important;
  }
}

#orthodontics-02 .sub-section-02 .heading-04 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-03 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-03 .heading-05 {
  margin-bottom: var(--size40px);
}

#orthodontics-02 .sub-section-04 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-04 .lead {
  margin-bottom: var(--size40px);
}

#orthodontics-02 .sub-section-04 .c-card02 .title {
  background-color: #8E5144;
}

#orthodontics-02 .sub-section-05 {
  padding-block: var(--size80px);
}

#orthodontics-02 .sub-section-05 .common-flow.--last {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-05 .lead p+p {
  margin-top: var(--size20px);
}

#orthodontics-02 .sub-section-06 {
  padding-top: var(--size60px);
}

#orthodontics-02 .sub-section-06 .heading-04 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-07 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-07 .heading-05 {
  margin-bottom: var(--size40px);
}

#orthodontics-02 .sub-section-08 {
  padding-block: var(--size80px);
}

#orthodontics-02 .sub-section-08 .common-flow.--last {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-08 .lead p+p {
  margin-top: var(--size20px);
}

#orthodontics-02 .sub-section-09 {
  padding-top: var(--size60px);
}

#orthodontics-02 .sub-section-09 .heading-04 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-10 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-10 .heading-05 {
  margin-bottom: var(--size40px);
}

#orthodontics-02 .sub-section-11 {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-11 .lead {
  margin-bottom: var(--size40px);
}

#orthodontics-02 .sub-section-12 {
  padding: var(--size80px) 0 0;
}

#orthodontics-02 .sub-section-12 .common-flow.--last {
  margin-bottom: var(--size60px);
}

#orthodontics-02 .sub-section-12 .lead p+p {
  margin-top: var(--size20px);
}

/* --------------------------
矯正歯科
--------------------------- */
#implant-01 .sub-section-01 {
  margin-bottom: var(--size100px);
}

#implant-01 .sub-section-01 .fs13 {
  margin-top: var(--size30px);
  font-size: 0.8125rem;
}

#implant-01 .sub-section-02 .heading-04 {
  margin-bottom: var(--size60px);
}

#implant-02 .sub-section-01 {
  margin-bottom: var(--size100px);
}

#implant-02 .sub-section-01 .c-lead01 {
  text-align: center;
  margin-bottom: var(--size45px);
}

#implant-02 .sub-section-01 .c-card02 .title {
  background-color: #8e5144;
}

#implant-02 .sub-section-01 .c-card02 .title02 {
  background-color: #6e8fbd;
}

#implant-02 .hr {
  border-bottom: 1px solid #312422;
}

#implant-03 .bg01 {
  position: relative;
}

#implant-03 .bg01::before {
  content: "";
  position: absolute;
  top: -85px;
  left: 0;
  width: 100%;
  height: calc(100% + 85px);
  background-color: #fff9f8;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  #implant-03 .bg01::before {
    top: -20px;
    height: calc(100% + 20px);
  }
}

#implant-03 .heading-03 {
  flex-direction: column;
  flex-wrap: nowrap;
  margin-bottom: var(--size80px);
  padding: 7vw 0 5vw;
}

@media only screen and (min-width: 768px) and (max-width: 1599px) {
  #implant-03 .heading-03 {
    height: 19.755472vw;
    margin-bottom: 4.752345vw;
  }
}

#implant-03 .heading-03:after {
  /* bottom: calc(var(--size20px) * -1); */
}

#implant-03 .heading-03 .lead {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: var(--size10px) auto 0;
  padding: 10px 100px;
  background-color: #c58072;
}

@media screen and (max-width: 767px) {
  #implant-03 .heading-03 .lead {
    padding: 10px 40px;
  }
}

#implant-03 .heading-03 .lead>span {
  position: relative;
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 2px;
  text-align: center;
  color: #fff;
}

#implant-03 .heading-03 .lead>span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -35px;
  width: var(--size20px);
  height: 1px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  #implant-03 .heading-03 .lead>span::before {
    left: -25px;
  }
}

#implant-03 .heading-03 .lead>span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -35px;
  width: var(--size20px);
  height: 1px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  #implant-03 .heading-03 .lead>span::after {
    right: -25px;
  }
}

#implant-03 .sub-section-02 {
  margin-bottom: var(--size50px);
}

#implant-03 .sub-section-03 {
  padding-bottom: var(--size60px);
}

#implant-03 .sub-section-03 .heading {
  position: relative;
  margin-bottom: var(--size40px);
  padding-inline: var(--size40px);
  text-align: center;
}

#implant-03 .sub-section-03 .heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2;
  border-bottom: 2px dotted #C58072;
}

#implant-03 .sub-section-03 .heading span {
  position: relative;
  padding-inline: 20px;
  background-color: #FFF9F8;
  font-size: 1.375rem;
  font-weight: 600;
  color: #332f26;
  z-index: 2;
}

#implant-03 .sub-section-03 .block01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  #implant-03 .sub-section-03 .block01 {
    flex-direction: column;
    gap: var(--size50px);
  }
}

#implant-03 .sub-section-03 .block01 .item {
  display: flex;
  position: relative;
  width: 400px;
  max-width: 100%;
  margin: auto;
  padding-inline: var(--size20px);
  gap: var(--size20px);
}

#implant-03 .sub-section-03 .block01 .item::after {
  content: "";
  position: absolute;
  top: 10px;
  right: -10px;
  width: 1px;
  height: calc(100% - 20px);
  background-color: #000;
}

@media screen and (max-width: 767px) {
  #implant-03 .sub-section-03 .block01 .item::after {
    display: none;
  }
}

#implant-03 .sub-section-03 .block01 .item:last-of-type::after {
  display: none;
}

#implant-03 .sub-section-03 .block01 .img {
  width: 128px;
}

#implant-03 .sub-section-03 .block01 .contents {
  flex: 1;
}

#implant-03 .sub-section-03 .block01 .title {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.44;
}

#implant-03 .sub-section-04 {
  padding-block: var(--size40px);
}

#implant-03 .sub-section-04 .block01 {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

#implant-03 .sub-section-04 .block01 .item {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 20px;
}

#implant-03 .sub-section-04 .block01 .contents {
  flex: 1;
}

#implant-03 .sub-section-04 .block01 .title {
  margin-bottom: var(--size20px);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.92;
  text-align: right;
}

#implant-03 .sub-section-04 .block01 .text {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.92;
  text-align: right;
}

#implant-03 .sub-section-04 .block01 .pdf {
  width: 150px;
}

#implant-04 .sub-section-01 {
  padding-block: var(--size60px);
}

#implant-05 .sub-section-01 {
  margin-bottom: var(--size80px);
}

#implant-05 .sub-section-02 {
  margin-bottom: var(--size80px);
}

#implant-06 .sub-section-01 {
  margin-bottom: var(--size80px);
}

#implant-06 .sub-section-01 .c-card04 .title {
  font-size: 80px;
}

#implant-06 .sub-section-01 .c-card04 .title>span {
  font-size: 35px;
}

#implant-06 .sub-section-01 .c-card04 .heading {
  margin-bottom: var(--size30px);
}

#implant-06 .sub-section-01 .c-card04 .body {
  background-color: #707070;
  color: #fff;
}

#implant-06 .sub-section-01 .c-card04 .memo {
  margin-top: var(--size20px);
  font-size: 0.8125rem;
}

#implant-08 .sub-section-02 .heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto var(--size30px);
  padding-inline: var(--size60px);
}

@media screen and (max-width: 767px) {
  #implant-08 .sub-section-02 .heading {
    padding-inline: var(--size50px);
  }
}

#implant-08 .sub-section-02 .heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--size50px);
  height: 1px;
  background-color: #000;
}

@media screen and (max-width: 767px) {
  #implant-08 .sub-section-02 .heading::before {
    width: var(--size30px);
  }
}

#implant-08 .sub-section-02 .heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--size50px);
  height: 1px;
  background-color: #000;
}

@media screen and (max-width: 767px) {
  #implant-08 .sub-section-02 .heading::after {
    width: var(--size30px);
  }
}

#implant-08 .sub-section-02 .heading span {
  font-size: 16px;
}

/* --------------------------
審美歯科
--------------------------- */
.p-esthetic .more-button {
  margin-top: var(--size40px);
}

@media screen and (max-width: 767px) {
  .p-esthetic .more-button {
    max-width: 100%;
  }
}

#esthetic-02 .sub-section-01 {
  margin-bottom: var(--size200px);
}

#esthetic-02 .sub-section-01 .flex-row-03 {
  gap: var(--size40px) 0;
}

@media screen and (max-width: 767px) {
  #esthetic-02 .sub-section-01 .flex-row-03 .item {
    margin-bottom: var(--size60px) !important;
  }
}

#esthetic-02 .sub-section-02-01 {
  margin-bottom: var(--size80px);
}

#esthetic-02 .sub-section-02-02 {
  margin-bottom: var(--size150px);
}

#esthetic-02 .sub-section-02-02 .c-card04+.c-card04 {
  margin-top: var(--size40px);
}

#esthetic-02 .sub-section-03 .more-button {
  max-width: 30vw;
}

@media screen and (max-width: 1090px) {
  #esthetic-02 .sub-section-03 .more-button {
    max-width: 100vw;
  }
}

@media screen and (max-width: 767px) {
  #esthetic-02 .sub-section-03 .more-button {
    max-width: 100vw;
  }

  #esthetic-02 .sub-section-03 .more-button a {
    padding-right: 20px;
    font-size: 0.8125rem;
  }
}

#esthetic-02 .sub-section-03-01 {
  margin-bottom: var(--size80px);
}

#esthetic-02 .sub-section-03-02 {
  margin-bottom: var(--size80px);
}

#esthetic-02 .sub-section-03-02 .c-card04+.c-card04 {
  margin-top: var(--size40px);
}

#esthetic-02 .sub-section-04-01 {
  margin-bottom: var(--size80px);
}

#esthetic-03 .sub-section-05 {
  padding-block: var(--size60px);
}

/* --------------------------
一般歯科
--------------------------- */
.general .heading-04 {
  margin-bottom: var(--size60px);
}

.general .more-button {
  margin-top: var(--size20px);
  max-width: 28.015635vw;
}

@media screen and (max-width: 767px) {
  .general .more-button {
    max-width: 100%;
  }
}

.p-general-block01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .p-general-block01 {
    flex-direction: column-reverse;
    gap: var(--size20px);
  }
}

.p-general-block01__text {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .p-general-block01__text {
    width: 100%;
  }
}

.p-general-block01__img {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .p-general-block01__img {
    width: 100%;
  }
}

.p-general-block02__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: var(--size70px);
}

@media screen and (max-width: 767px) {
  .p-general-block02__item {
    flex-direction: column;
    gap: var(--size20px);
  }
}

.p-general-block02__item:last-of-type .p-general-block02__img::after {
  display: none;
}

.p-general-block02__img {
  position: relative;
  width: 19%;
}

@media screen and (max-width: 767px) {
  .p-general-block02__img {
    width: 100%;
    text-align: center;
  }
}

.p-general-block02__img:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.5791666667vw;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 0.8333333333vw solid #ffb09f;
  border-left: 1.1979166667vw solid transparent;
  border-right: 1.1979166667vw solid transparent;
}

.p-general-block02__contents {
  width: 78%;
}

.p-general-block03 {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  padding: var(--size25px);
}

.p-general-block03__title {
  position: relative;
  margin-bottom: var(--size5px);
  padding-left: 1.5em;
  font-size: 1.125rem;
  font-weight: 600;
}

.p-general-block03__title::before {
  content: "";
  position: absolute;
  top: 32%;
  left: 0;
  width: 12px;
  height: 12px;
  background-color: #ffb09f;
}

.p-general-block03__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .p-general-block03__row {
    flex-direction: column;
    gap: var(--size20px);
  }
}

.p-general-block03__contents {
  width: 84%;
}

@media screen and (max-width: 767px) {
  .p-general-block03__contents {
    width: 100%;
  }
}

.p-general-block03__img {
  width: 13%;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .p-general-block03__img {
    width: 100%;
    text-align: center;
  }
}

.p-general-heading01 {
  margin-bottom: var(--size20px);
  padding: 0.9rem var(--size20px) 0.9rem var(--size30px);
  background-color: #8e5144;
  color: #fff;
  font-size: 22px;
}

.p-general-heading01+p {
  margin-bottom: var(--size40px);
}

#general-01 .sub-section-04 .heading-05 {
  margin-top: var(--size50px);
}

#general-01 .sub-section-05.parts-consultation {
  padding: var(--size30px) 0 0;
  margin: 0 0 var(--size50px);
}

#general-01 .sub-section-05.parts-consultation .box {
  background-color: #faf7f6;
}

#general-01 .sub-section-05.parts-consultation .box ul {
  display: block;
}

#general-01 .sub-section-05.parts-consultation .box ul li {
  width: 100%;
  max-width: 770px;
  margin: var(--size10px) auto 0;
}

#general-01 .sub-section-06 .more-button {
  margin: 0 auto;
}

#general-02 .sub-section-02 {
  margin-bottom: var(--size80px);
}

#general-03 .sub-section-03 {
  margin-bottom: var(--size80px);
}

#general-03 .sub-section-04 {
  margin-bottom: var(--size80px);
}

#general-04 .sub-section-03 {
  margin-bottom: var(--size80px);
}

#general-04 .sub-section-04 {
  margin-bottom: var(--size80px);
}

#general-04 .sub-section-04 .p-general-block03 {
  border-bottom: none;
}

#general-04 .sub-section-05 {
  margin-bottom: var(--size80px);
}

#general-05 .sub-section-01 {
  margin-bottom: var(--size80px);
}

#general-05 .sub-section-02 {
  margin-bottom: var(--size80px);
}

#general-05 .sub-section-03 {
  margin-bottom: var(--size80px);
}

#general-05 .sub-section-04 {
  margin-bottom: var(--size80px);
}

#general-05 .sub-section-04 .p-block04 {
  margin-bottom: var(--size30px);
}

#general-05 .sub-section-04 .p-block04:after {
  display: none;
}

#general-05 .sub-section-04 .p-block04__row {
  align-items: center;
}

#general-05 .sub-section-04 .p-block04__title01:before {
  background-color: #cea419;
}

#general-05 .sub-section-04 .p-block04__list li {
  font-weight: 300;
}

#general-05 .sub-section-04 .p-block04__list li:before {
  background: none;
  content: "・";
  top: 0;
}

#general-05 .sub-section-05 {
  padding: var(--size60px) 0;
}

#general-06 .sub-section-02 {
  margin-bottom: var(--size80px);
}

#general-06 .sub-section-02 .c-card01__no {
  font-size: 0.875rem;
}

#general-06 .sub-section-03 {
  margin-bottom: var(--size80px);
}

#general-06 .sub-section-03 .p-block04 {
  margin-bottom: var(--size30px);
}

#general-06 .sub-section-03 .p-block04:after {
  display: none;
}

#general-06 .sub-section-03 .p-block04__row {
  align-items: center;
}

#general-06 .sub-section-03 .p-block04__title01:before {
  background-color: #cea419;
}

#general-06 .sub-section-03 .p-block04__list li {
  font-weight: 300;
}

#general-06 .sub-section-03 .p-block04__list li:before {
  background: none;
  content: "・";
  top: 0;
}

/*===============================================================================

	クリニック紹介ページ

===============================================================================*/
.clinic-concept .heading-03+p {
  max-width: 900px;
  margin: 0 auto var(--size60px);
  padding-inline: 1em;
}

.clinic-concept .sub-section-01 {
  padding-top: var(--size100px);
  padding-bottom: var(--size100px);
  background-image: url("../images/clinic/bg_clinic01.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.clinic-concept .sub-section-01 .box {
  max-width: 1000px;
  margin-inline: auto;
  padding-top: var(--size60px);
  padding-left: var(--size50px);
  padding-right: var(--size50px);
  padding-bottom: var(--size60px);
  box-shadow: 2.6px 3.1px 16px 0 rgba(0, 0, 0, 0.3);
  outline: #332f26 solid 1px;
  outline-offset: -1.0416666667vw;
  background-image: url("../images/clinic/bg_clinic02.png");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: auto 18.28125vw;
  background-color: #fff;
}

.clinic-concept .sub-section-01 .box:not(:last-of-type) {
  margin-bottom: var(--size40px);
}

.clinic-concept .sub-section-01 .box h4 {
  text-align: center;
}

.clinic-concept .sub-section-01 .box h4 .en {
  display: block;
  margin-bottom: var(--size20px);
  color: var(--color07);
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {
  .clinic-concept .sub-section-01 .box h4 .en {
    font-size: 2.5rem;
  }
}

.clinic-concept .sub-section-01 .box h4 .ja {
  display: block;
  font-size: 2.25rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {
  .clinic-concept .sub-section-01 .box h4 .ja {
    font-size: 1.25rem;
    letter-spacing: 0;
  }
}

.clinic-concept .sub-section-01 .box p {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  .clinic-concept .sub-section-01 .box p {
    max-width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1599px) {
  .clinic-concept .sub-section-01 .box {
    outline-offset: -1.2507817386vw;
    background-image: url("../images/clinic/bg_clinic02.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: auto 21.9512195122vw;
  }
}

@media (min-width: 768px) and (max-width: 1299px) {
  .clinic-concept .sub-section-01 .box {
    outline-offset: -1.5396458814vw;
    background-image: url("../images/clinic/bg_clinic02.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: auto 27.0207852194vw;
  }
}

@media (max-width: 767px) {
  .clinic-concept .sub-section-01 .box {
    box-shadow: 0.4vw 0.4vw 2.1333333333vw 0 rgba(0, 0, 0, 0.3);
    outline-offset: -2.6666666667vw;
    background-image: url("../images/clinic/bg_clinic02.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
}

.clinic-concept .sub-section-01 .box02 {
  margin-inline: auto;
  padding-top: var(--size80px);
  padding-left: var(--size60px);
  padding-right: var(--size60px);
  padding-bottom: var(--size80px);
  box-shadow: 2.6px 3.1px 16px 0 rgba(0, 0, 0, 0.3);
  background-image: url("../images/clinic/deco_hdg4_l.svg"), url("../images/clinic/deco_hdg4_r.svg");
  background-position: left 1.0416666667vw top 1.0416666667vw, right 1.0416666667vw bottom 1.0416666667vw;
  background-repeat: no-repeat, no-repeat;
  background-size: 5.2083333333vw auto, 5.2083333333vw auto;
  background-color: rgba(255, 255, 255, 0.93);
}

.parts-summary {
  padding-top: var(--size60px);
  padding-bottom: var(--size60px);
  margin-bottom: var(--size60px);
}

.parts-summary .box {
  padding-top: var(--size35px);
  padding-left: var(--size50px);
  padding-right: var(--size50px);
  padding-bottom: var(--size40px);
  background-color: #fff;
}

.parts-summary .box h4 {
  padding-bottom: var(--size25px);
  margin-bottom: var(--size20px);
  font-size: 1.875rem;
  letter-spacing: 0.1em;
  text-align: center;
  border-bottom: 1px solid #332f26;
}

@media (max-width: 767px) {
  .parts-summary .box h4 {
    font-size: 1.1875rem;
    letter-spacing: 0;
  }
}

.clinic-slider .slider-main {
  margin-bottom: var(--size60px);
}

.clinic-slider .slick-prev {
  top: 0;
  left: -7.2%;
  bottom: 0;
  width: 1.5625vw;
  height: 2.8125vw;
  margin: auto;
  background-image: url("../images/clinic/arw_clinic.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translate(0);
  z-index: 1;
}

.clinic-slider .slick-prev:before {
  display: none;
}

@media (min-width: 768px) and (max-width: 1599px) {
  .clinic-slider .slick-prev {
    width: 1.8761726079vw;
    height: 3.3771106942vw;
  }
}

@media (min-width: 768px) and (max-width: 1299px) {
  .clinic-slider .slick-prev {
    width: 2.3094688222vw;
    height: 4.1570438799vw;
    left: 2%;
  }
}

@media (max-width: 767px) {
  .clinic-slider .slick-prev {
    width: 4vw;
    height: 7.2vw;
    left: 3vw;
  }
}

.clinic-slider .slick-next {
  top: 0;
  right: -7.2%;
  bottom: 0;
  width: 1.5625vw;
  height: 2.8125vw;
  margin: auto;
  background-image: url("../images/clinic/arw_clinic.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translate(0) scaleX(-1);
  z-index: 1;
}

.clinic-slider .slick-next:before {
  display: none;
}

@media (min-width: 768px) and (max-width: 1599px) {
  .clinic-slider .slick-next {
    width: 1.8761726079vw;
    height: 3.3771106942vw;
  }
}

@media (min-width: 768px) and (max-width: 1299px) {
  .clinic-slider .slick-next {
    width: 2.3094688222vw;
    height: 4.1570438799vw;
    right: 2%;
  }
}

@media (max-width: 767px) {
  .clinic-slider .slick-next {
    width: 4vw;
    height: 7.2vw;
    right: 3vw;
  }
}

.clinic-slider .slider-thumbnail {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.clinic-slider .slider-thumbnail li {
  width: 18%;
  margin-right: 2.5%;
  margin-bottom: 2%;
  opacity: 0.5;
  transition: 0.3s;
}

.clinic-slider .slider-thumbnail li.is-current {
  opacity: 1;
}

.clinic-slider .slider-thumbnail li:nth-child(5n),
.clinic-slider .slider-thumbnail li:last-child {
  margin-right: 0;
}

.clinic-slider .slider-thumbnail li:hover {
  opacity: 1;
  transition: 0.3s;
  cursor: pointer;
}

.clinic-facility .sub-section-02 .insurance-box {
  max-width: 1000px;
  padding-top: var(--size45px);
  padding-left: var(--size50px);
  padding-right: var(--size50px);
  padding-bottom: var(--size50px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--size60px);
  background-color: var(--color06);
}

.clinic-facility .sub-section-02 .insurance-box .title {
  padding-bottom: var(--size25px);
  margin-bottom: var(--size50px);
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  border-bottom: 1px solid #332f26;
}

@media (max-width: 767px) {
  .clinic-facility .sub-section-02 .insurance-box .title {
    font-size: 1.125rem;
    letter-spacing: 0;
  }
}

.clinic-facility .sub-section-02 .insurance-box .list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 1.625rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.clinic-facility .sub-section-02 .insurance-box .list .item {
  width: 22.3%;
  margin-right: 3.6%;
}

.clinic-facility .sub-section-02 .insurance-box .list .item:last-child {
  margin-right: 0;
}

.clinic-facility .sub-section-02 .insurance-box .list .item .in {
  position: relative;
  padding-top: 100%;
  z-index: 1;
}

.clinic-facility .sub-section-02 .insurance-box .list .item .bg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background-image: url("../images/index/bg__feature02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (max-width: 767px) {
  .clinic-facility .sub-section-02 .insurance-box .list .item {
    width: 48%;
    margin-right: 4%;
  }

  .clinic-facility .sub-section-02 .insurance-box .list .item:nth-child(2n),
  .clinic-facility .sub-section-02 .insurance-box .list .item:last-child {
    margin-right: 0;
  }

  .clinic-facility .sub-section-02 .insurance-box .list .item:not(:nth-child(-n+2)) {
    margin-top: 2vw;
  }
}

@media (max-width: 767px) {
  .clinic-facility .sub-section-02 .insurance-box .list {
    font-size: 1.125rem;
    letter-spacing: 0;
  }
}

@media (max-width: 767px) {
  .clinic-facility .sub-section-02 .insurance-box {
    max-width: 100%;
  }
}

.clinic-infection .sub-section-01 {
  padding-top: var(--size100px);
  padding-bottom: var(--size100px);
  background-image: url("../images/clinic/bg_clinic02.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.clinic-infection .sub-section-01 .box {
  padding-top: var(--size60px);
  padding-left: var(--size50px);
  padding-right: var(--size50px);
  padding-bottom: var(--size60px);
  box-shadow: 2.6px 3.1px 16px 0 rgba(0, 0, 0, 0.3);
  outline: #332f26 solid 1px;
  outline-offset: -1.0416666667vw;
  background-color: rgba(255, 255, 255, 0.8);
}

.clinic-infection .sub-section-01 .box:not(:last-of-type) {
  margin-bottom: var(--size80px);
}

.clinic-infection .sub-section-01 .box .row {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: var(--size60px);
  margin-top: var(--size30px);
}

@media screen and (max-width: 767px) {
  .clinic-infection .sub-section-01 .box .row {
    gap: var(--size30px);
  }
}

.clinic-infection .sub-section-01 .box .row .col>p {
  padding: 6px 10px 5px;
  background-color: #6d514d;
  text-align: center;
  color: #fff;
  font-size: 1.125rem;
}

.clinic-infection .sub-section-01 .box .row .col>p.last {
  background-color: #c58072;
}

.clinic-infection .sub-section-01 .box>.img {
  margin: var(--size30px) auto var(--size20px);
  text-align: center;
}

.clinic-infection .sub-section-01 .box>.img+p {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.clinic-infection .sub-section-01 .box h4 {
  text-align: center;
}

.clinic-infection .sub-section-01 .box h4 .en {
  display: block;
  margin-bottom: var(--size20px);
  color: var(--color07);
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {
  .clinic-infection .sub-section-01 .box h4 .en {
    font-size: 2.5rem;
  }
}

.clinic-infection .sub-section-01 .box h4 .ja {
  display: block;
  font-size: 2.25rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {
  .clinic-infection .sub-section-01 .box h4 .ja {
    font-size: 1.25rem;
    letter-spacing: 0;
  }
}

.clinic-infection .sub-section-01 .box p {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  .clinic-infection .sub-section-01 .box p {
    max-width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1599px) {
  .clinic-infection .sub-section-01 .box {
    outline-offset: -1.2507817386vw;
  }
}

@media (min-width: 768px) and (max-width: 1299px) {
  .clinic-infection .sub-section-01 .box {
    outline-offset: -1.5396458814vw;
  }
}

@media (max-width: 767px) {
  .clinic-infection .sub-section-01 .box {
    box-shadow: 0.4vw 0.4vw 2.1333333333vw 0 rgba(0, 0, 0, 0.3);
    outline-offset: -2.6666666667vw;
  }
}

.clinic-doctor ._bg-pattern-01 {
  padding-top: var(--size60px);
}

.clinic-doctor .sub-section-01 {
  margin-bottom: var(--size80px);
}

.clinic-doctor .sub-section-01 .box .row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box .row {
    flex-direction: column-reverse;
  }
}

.clinic-doctor .sub-section-01 .box .left {
  width: 46%;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box .left {
    width: 100%;
  }
}

.clinic-doctor .sub-section-01 .box h4 {
  font-size: 1.5625rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box h4 {
    font-size: 1.25rem;
  }
}

.clinic-doctor .sub-section-01 .box hr {
  margin: var(--size30px) 0;
  border: none;
  border-top: 1px solid #000;
}

.clinic-doctor .sub-section-01 .box .memo {
  margin-top: var(--size30px);
  font-size: 0.8125rem;
}

.clinic-doctor .sub-section-01 .box .right {
  position: relative;
  width: 46%;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box .right {
    width: 100%;
    margin-bottom: var(--size100px);
  }
}

.clinic-doctor .sub-section-01 .box .info-area {
  position: absolute;
  left: -7%;
  bottom: 10%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: var(--size10px) var(--size30px);
  background-color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box .info-area {
    inset: auto 0 -8% 0;
    margin: auto;
  }
}

.clinic-doctor .sub-section-01 .box .name {
  font-size: 1.8125rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box .name {
    font-size: 1.25rem;
  }
}

.clinic-doctor .sub-section-01 .box .en {
  margin: var(--size10px) 0;
  padding: var(--size10px) 0;
  border-top: #000 solid 1px;
  border-bottom: #000 solid 1px;
  font-size: 1.0625rem;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-01 .box .en {
    font-size: 0.9375rem;
  }
}

.clinic-doctor .sub-section-01 .box .position {
  font-size: 0.9375rem;
}

.clinic-doctor .sub-section-02 {
  margin-bottom: var(--size80px);
}

.clinic-doctor .sub-section-02 dl {
  width: 570px;
}

@media screen and (max-width: 1090px) {
  .clinic-doctor .sub-section-02 dl {
    width: 100%;
  }
}

.clinic-doctor .sub-section-02 dl>div {
  display: flex;
  align-items: flex-start;
  width: 100%;
  font-size: 0.9375rem;
  font-weight: 500;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-02 dl dt {
    width: 4em;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-02 dl dd {
    flex: 1;
    font-size: 0.875rem;
  }
}

.clinic-doctor .sub-section-03 {
  margin-bottom: var(--size80px);
}

.clinic-doctor .sub-section-03 .heading {
  padding: var(--size10px) 1em;
  background-color: #8e5144;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-03 .heading {
    font-size: 1.25rem;
  }
}

.clinic-doctor .sub-section-03 .box {
  display: flex;
  align-items: center;
  gap: 3%;
  padding: var(--size30px) var(--size50px);
  background: url("../images/implant/img_ba_bg01.webp") no-repeat 50% 50%;
  /* background-size: cover; */
  background-repeat: repeat;
  background-size: 49.2686682063vw auto;
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-03 .box .img {
    width: 30%;
  }
}

.clinic-doctor .sub-section-04 {
  padding-bottom: var(--size100px);
  background: url(../images/page/footer-top-bg01.webp) no-repeat 110% 100%;
  background-size: 30%;
}

.clinic-doctor .sub-section-04 .heading-04 {
  margin-bottom: var(--size40px);
}

.clinic-doctor .sub-section-04 .heading-04+p {
  margin-bottom: var(--size40px);
  text-align: center;
}

.clinic-doctor .sub-section-04 .box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--size20px);
}

@media screen and (max-width: 767px) {
  .clinic-doctor .sub-section-04 .box {
    grid-template-columns: 1fr;
    gap: var(--size40px);
  }
}

.clinic-doctor .sub-section-04 .img {
  width: 100%;
}

.clinic-doctor .sub-section-04 .text {
  padding: var(--size20px);
  background-color: #fff;
}

.clinic-access .sub-section-01 {
  margin-bottom: var(--size80px);
}

.clinic-access .sub-section-01 .address {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto var(--size30px);
  padding-left: 24px;
  font-size: 1rem;
  text-align: center;
  background: url("../images/clinic/icon-location.svg") no-repeat 0% 2px;
  background-size: 14px auto;
}

@media screen and (max-width: 767px) {
  .clinic-access .sub-section-01 .address {
    background-position: 0 0.5em;
  }
}

.clinic-access .sub-section-01 .train {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto var(--size10px);
  font-size: 0.9375rem;
}

.clinic-access .sub-section-01 .parking {
  font-size: 0.875rem;
  text-align: center;
}

.clinic-access .sub-section-02 {
  margin-bottom: var(--size80px);
}

.clinic-access .sub-section-02 .map {
  text-align: center;
}

.clinic-access .sub-section-02 .map iframe {
  width: 100%;
  height: 400px;
}

.clinic-access .sub-section-03 .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .clinic-access .sub-section-03 .box {
    flex-direction: column;
    gap: var(--size40px);
  }
}

.clinic-access .sub-section-03 .youtube-wrap {
  width: 45%;
}

@media screen and (max-width: 1090px) {
  .clinic-access .sub-section-03 .youtube-wrap {
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  .clinic-access .sub-section-03 .youtube-wrap {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .clinic-access .sub-section-03 .youtube-wrap iframe {
    width: 100%;
    aspect-ratio: 16/9;
  }
}

.clinic-access .sub-section-03 .img {
  width: 45%;
}

@media screen and (max-width: 1090px) {
  .clinic-access .sub-section-03 .img {
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  .clinic-access .sub-section-03 .img {
    width: 100%;
  }
}

.clinic-info .sub-section-01 {
  margin-bottom: var(--size40px);
}
.clinic-info .sub-section-02 {
  margin-bottom: var(--size40px);
}

.clinic-info .sub-section-02:last-child {
  margin-bottom: 0;
}

.clinic-info .sub-section-01 p {
  font-size: 0.9375rem;
}

.clinic-info .sub-section-02 ol {
  padding-left: 1.5em;
  list-style-type: decimal;
  list-style-position: outside;
}

.clinic-info .sub-section-02 ol li {
  list-style: decimal;
  font-size: 0.9375rem;
}

.clinic-rule .sub-section-01 {
  padding-top: var(--size60px);
  padding-bottom: var(--size60px);
  margin-bottom: var(--size60px);
}

.clinic-rule .sub-section-01 .text-box {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--size60px);
}

@media only screen and (max-width: 767px) {
  .clinic-rule .sub-section-01 .text-box {
    display: block;
    max-width: 100%;
    margin-bottom: 8vw;
  }
}

/* --------------------------
採用情報
--------------------------- */
.rec-heading01 {
  position: relative;
  top: -5em;
  text-align: center;
  margin-top: 5em;
}

@media screen and (max-width: 1090px) {
  .rec-heading01 {
    top: -3.2em;
  }
}

@media screen and (max-width: 767px) {
  .rec-heading01 {
    top: -2.2em;
    margin-top: 2em;
  }
}

.rec-heading01__en {
  padding-bottom: 0.2em;
  font-size: 7.5rem;
  line-height: 1;
  text-align: center;
  color: #ffb09f;
  font-family: "orlando", sans-serif;
  font-weight: normal;
}

#recruit-03 .rec-heading01__en {
  font-size: 9.5rem;
}

@media screen and (max-width: 1090px) {
  .rec-heading01__en {
    font-size: 6.25rem;
  }

  #recruit-03 .rec-heading01__en {
    font-size: 6.5rem;
  }
}

@media screen and (max-width: 767px) {
  .rec-heading01__en {
    font-size: 3.125rem;
  }

  #recruit-03 .rec-heading01__en {
    font-size: 4.5rem;
  }
}

.rec-heading01__jp {
  font-size: 1.25rem;
  color: #312422;
}

@media screen and (max-width: 767px) {
  .rec-heading01__jp {
    font-size: 1rem;
  }
}

.rec-heading02 {
  margin-bottom: var(--size120px);
  padding-inline: 1em;
  text-align: center;
}

.rec-heading02__jp {
  position: relative;
}

.rec-heading02__jp::before {
  content: "";
  position: absolute;
  top: 48%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .rec-heading02__jp::before {
    display: none;
  }
}

.rec-heading02__jp span {
  padding-inline: var(--size30px);
  background-color: #fff;
  font-size: 2.5rem;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .rec-heading02__jp span {
    font-size: 1.5rem;
  }
}

.rec-heading02__en {
  padding-bottom: 0.3em;
  font-size: 5rem;
  line-height: 0.7;
  text-align: center;
  color: #ffb09f;
  font-family: "orlando", sans-serif;
  font-weight: normal;
}

@media screen and (max-width: 1090px) {
  .rec-heading02__en {
    font-size: 3.75rem;
  }
}

@media screen and (max-width: 767px) {
  .rec-heading02__en {
    font-size: 2.5rem;
  }
}

#recruit-03 .rec-table01 {
  width: 100%;
}

.rec-table01 th {
  width: 25%;
  padding: var(--size30px);
  text-align: left;
  vertical-align: top;
  font-weight: bold;
  border-bottom: 1px solid #6d514d;
  background-color: #fff8f7;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .rec-table01 th {
    width: 30%;
    padding: var(--size20px);
    font-size: 0.875rem;
  }
}

.rec-table01 td {
  padding: var(--size30px);
  text-align: left;
  line-height: 1.88;
  border-bottom: 1px solid #6d514d;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .rec-table01 td {
    padding: var(--size20px);
    font-size: 0.875rem;
  }
}

.rec-table01 tr:first-of-type th,
.rec-table01 tr:first-of-type td {
  border-top: 1px solid #6d514d;
}

#recruit-01 .sub-section-01 {
  margin-bottom: var(--size80px);
}

#recruit-01 .sub-section-01 .heading-04 {
  margin-bottom: 0;
  background-color: #8e5144;
}

#recruit-01 .sub-section-01 .box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--size10px) var(--size20px);
  padding: var(--size40px) var(--size80px) var(--size60px);
  background-color: #c58072;
  color: #fff;
}

#recruit-01 .sub-section-01 .box li {
  font-weight: 700;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-01 .box {
    grid-template-columns: 1fr;
    padding: var(--size30px) var(--size40px);
  }

  #recruit-01 .sub-section-01 .box li {
    font-size: 1.0rem;
  }
}

#recruit-01 .sub-section-02 {
  margin-bottom: var(--size70px);
}

#recruit-01 .sub-section-02 .row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--size80px);
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-02 .row {
    grid-template-columns: 1fr;
  }
}

#recruit-01 .sub-section-02 .box {
  padding: var(--size70px) var(--size40px) var(--size60px);
  background-image: url("../images/clinic/deco_hdg4_l.svg"), url("../images/clinic/deco_hdg4_r.svg");
  background-position: left 1.5208333333vw top 1.5208333333vw, right 1.5208333333vw bottom 1.5208333333vw;
  background-repeat: no-repeat, no-repeat;
  background-size: 5.2083333333vw auto, 5.2083333333vw auto;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-02 .box {
    background-position: left 1.3020833333vw top 1.3020833333vw, right 1.3020833333vw bottom 1.3020833333vw;
  }
}

#recruit-01 .sub-section-02 .box .title {
  margin-bottom: var(--size50px);
  text-align: center;
  font-size: 1.7rem;
  font-weight: 500;
  color: #8e5144;
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-02 .box .title {
    font-size: 1.25rem;
  }
}

#recruit-01 .sub-section-03 {
  margin-bottom: var(--size120px);
}

#recruit-01 .sub-section-03 .box {
  padding: var(--size60px) var(--size60px) var(--size60px);
  background-image: url("../images/clinic/deco_hdg4_l.svg"), url("../images/clinic/deco_hdg4_r.svg");
  background-position: left 1.5208333333vw top 1.5208333333vw, right 1.5208333333vw bottom 1.5208333333vw;
  background-repeat: no-repeat, no-repeat;
  background-size: 5.2083333333vw auto, 5.2083333333vw auto;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-03 .box {
    padding: var(--size40px) var(--size40px) var(--size60px);
    background-position: left 1.3020833333vw top 1.3020833333vw, right 1.3020833333vw bottom 1.3020833333vw;
  }
}

#recruit-01 .sub-section-03 .box .title {
  margin-bottom: var(--size50px);
  text-align: center;
  font-size: 1.7rem;
  font-weight: 500;
  color: #8e5144;
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-03 .box .title {
    font-size: 1.25rem;
  }
}

#recruit-01 .sub-section-04 {
  padding-bottom: var(--size100px);
}

#recruit-01 .sub-section-04 .row {
  margin-top: var(--size50px);
  display: grid;
  grid-template-columns: 250px 250px 250px;
  gap: var(--size30px);
  justify-content: center;
}

@media screen and (max-width: 1090px) {
  #recruit-01 .sub-section-04 .row {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media screen and (max-width: 767px) {
  #recruit-01 .sub-section-04 .row {
    grid-template-columns: 1fr 1fr;
  }
}

#recruit-02 .sub-section-01 {
  margin-bottom: var(--size80px);
  background: url("../images/recruit/bg01.webp") no-repeat 50% 50%;
  background-size: cover;
  padding: var(--size100px) 0 var(--size100px);
}

#recruit-02 .sub-section-01 .box {
  padding: var(--size80px) var(--size100px) var(--size80px);
  background-image: url("../images/clinic/deco_hdg4_l.svg"), url("../images/clinic/deco_hdg4_r.svg");
  background-position: left 1.5416666667vw top 1.5416666667vw, right 1.5416666667vw bottom 1.5416666667vw;
  background-repeat: no-repeat, no-repeat;
  background-size: 5.2083333333vw auto, 5.2083333333vw auto;
  background-color: #fff;
  font-size: 1.2rem;
}

#recruit-02 .sub-section-01 .box .title {
  margin-bottom: var(--size20px);
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 600;
  color: #8e5144;
}

#recruit-02 .sub-section-02 .flex-row-03 {
  flex-wrap: nowrap;
}

#recruit-02 .sub-section-02 .flex-row-03 .item {
  width: 47%;
  max-width: 566px;
}

@media screen and (max-width: 767px) {
  #recruit-02 .sub-section-02 .flex-row-03 .item {
    width: 100%;
  }

  #recruit-02 .sub-section-01 .box {
    font-size: 1rem;
    padding: var(--size50px) var(--size50px);
  }
}

#recruit-02 .sub-section-02 .flex-row-03 .item+.item {
  margin-left: 6%;
}

#recruit-03 .rec-heading01 {
  top: -4em;
}

@media screen and (max-width: 1090px) {
  #recruit-03 .rec-heading01 {
    top: -3.2em;
  }
}

@media screen and (max-width: 767px) {
  #recruit-03 .rec-heading01 {
    top: -1.2em;
  }
}

#recruit-03 .sub-section-01 {
  margin-bottom: var(--size80px);
  padding-bottom: var(--size80px);
}

#recruit-03 .sub-section-01 .box .row {
  display: flex;
  align-items: flex-start;
  gap: 3%;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .row {
    flex-direction: column;
  }
}

#recruit-03 .sub-section-01 .box .left {
  position: relative;
  width: 34%;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .left {
    width: 100%;
    margin-bottom: var(--size160px);
  }
}

#recruit-03 .sub-section-01 .box .info-area {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: var(--size10px) var(--size30px);
  background-color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .info-area {
    inset: auto 0 -15% 0;
    margin: auto;
  }
}

#recruit-03 .sub-section-01 .box .name {
  font-size: 1.8125rem;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .name {
    font-size: 1.25rem;
  }
}

#recruit-03 .sub-section-01 .box .en {
  margin: var(--size10px) 0;
  padding: var(--size10px) 0;
  border-top: #000 solid 1px;
  border-bottom: #000 solid 1px;
  font-size: 1.0625rem;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .en {
    font-size: 0.9375rem;
  }
}

#recruit-03 .sub-section-01 .box .position {
  font-size: 0.9375rem;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .position {
    font-size: 0.875rem;
  }
}

#recruit-03 .sub-section-01 .box .img img {
  width: 100%;
}

#recruit-03 .sub-section-01 .box .right {
  width: 62%;
  max-width: 865px;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box .right {
    width: 100%;
    padding: 1em;
  }
}

#recruit-03 .sub-section-01 .box h4 {
  font-size: 1.5625rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  #recruit-03 .sub-section-01 .box h4 {
    font-size: 1.25rem;
  }
}

#recruit-03 .sub-section-01 .box hr {
  margin: var(--size30px) 0;
  border: none;
  border-top: 1px solid #000;
}

#recruit-03 .sub-section-01 .box .text p {
  margin-bottom: 1.5em;
  font-size: 1.2rem;
}

#recruit-03 .sub-section-02 {
  margin-bottom: var(--size80px);
}

#recruit-03 .sub-section-02 .map {
  margin: var(--size20px) 0;
}

#recruit-03 .sub-section-02 .map iframe {
  border-radius: 10px;
}

#recruit-04 .sub-section-01 {
  margin-top: var(--size50px);
}

#recruit-04 .sub-section-01 .row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--size50px) var(--size30px);
}

@media screen and (max-width: 767px) {
  #recruit-04 .sub-section-01 .row {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    margin: 0 20px;
  }

  #recruit-03 .sub-section-01 .box .text p {
    font-size: 1.0rem;
  }

  #recruit-03 .sub-section-01 .box hr {
    margin: var(--size60px) 0;
  }
}

#recruit-04 .sub-section-01 .item {
  box-shadow: 0 0 20px 0 rgba(234, 183, 167, 0.5);
  background-color: #fff;
}

#recruit-04 .sub-section-01 .title {
  padding: var(--size15px);
  background-color: #8e5144;
  text-align: center;
  line-height: 1.6;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
}

#recruit-04 .sub-section-01 .img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 20rem;
  padding: var(--size60px);
}

.page-id-111 #recruit-04 .sub-section-01 .inner {
  max-width: 1000px;
}

.page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(1) .img {
  padding: var(--size50px);
}

.page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(3) .img,
.page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(5) .img {
  padding: var(--size100px);
}

@media screen and (max-width: 1090px) {
  #recruit-04 .sub-section-01 .img img {
    max-width: 80%;
  }
}

@media screen and (max-width: 767px) {
  #recruit-04 .sub-section-01 .title {
    font-size: 1rem;
  }

  #recruit-04 .sub-section-01 .img {
    height: auto;
  }

  .page-id-111 #recruit-04 .sub-section-01 .inner div div .img {
    padding: var(--size100px) 0
  }

  .page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(3) .img,
  .page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(5) .img {
    padding: var(--size50px);
  }

  .page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(1) .img {
    padding: var(--size60px) 0;
  }

  .page-id-111 #recruit-04 .sub-section-01 .inner div div:nth-of-type(2) .img {
    padding: var(--size20px) 0;
  }
}

#recruit-05 .sub-section-01,
#recruit-05 .sub-section-02,
#recruit-05 .sub-section-03 {
  margin-top: var(--size50px);
}

#recruit-05 .sub-section-01 .heading,
#recruit-05 .sub-section-02 .heading,
#recruit-05 .sub-section-03 .heading {
  padding: var(--size10px) 1em;
  background-color: #8e5144;
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
}

@media screen and (max-width: 767px) {

  #recruit-05 .sub-section-01 .heading,
  #recruit-05 .sub-section-02 .heading,
  #recruit-05 .sub-section-03 .heading {
    font-size: 1.25rem;
  }
}

#recruit-05 .sub-section-01 .box,
#recruit-05 .sub-section-02 .box,
#recruit-05 .sub-section-03 .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3%;
  padding: var(--size30px) var(--size50px);
  background: url("../images/implant/img_ba_bg01.webp") no-repeat 50% 50%;
  background-size: cover;
}

@media screen and (max-width: 767px) {

  #recruit-05 .sub-section-01 .box,
  #recruit-05 .sub-section-02 .box,
  #recruit-05 .sub-section-03 .box {
    flex-direction: column;
  }
}

#recruit-05 .sub-section-01 .box .img,
#recruit-05 .sub-section-02 .box .img,
#recruit-05 .sub-section-03 .box .img {
  width: 18%;
}

@media screen and (max-width: 767px) {

  #recruit-05 .sub-section-01 .box .img,
  #recruit-05 .sub-section-02 .box .img,
  #recruit-05 .sub-section-03 .box .img {
    width: 100%;
    text-align: center;
  }
}

#recruit-05 .sub-section-01 .box .title,
#recruit-05 .sub-section-02 .box .title,
#recruit-05 .sub-section-03 .box .title {
  margin: 0 0 var(--size10px);
  padding: var(--size5px) 0 var(--size5px) var(--size50px);
  font-size: 1.3rem;
  font-weight: 600;
  background: url("../images/recruit/icon-mic.png") no-repeat 0 5px;
  background-size: 2rem;
}

@media screen and (max-width: 767px) {

  #recruit-05 .sub-section-01 .box .title,
  #recruit-05 .sub-section-02 .box .title,
  #recruit-05 .sub-section-03 .box .title {
    margin-top: var(--size30px);
    padding: var(--size5px) 0 var(--size5px) 2rem;
    font-size: 1rem;
    background-size: 1.6rem;
  }
}

#recruit-05 .sub-section-01 .box p+.title,
#recruit-05 .sub-section-02 .box p+.title,
#recruit-05 .sub-section-03 .box p+.title {
  margin-top: var(--size30px);
}

#recruit-05 .sub-section-01 .box .text,
#recruit-05 .sub-section-02 .box .text,
#recruit-05 .sub-section-03 .box .text {
  width: 79%;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {

  #recruit-05 .sub-section-01 .box .text,
  #recruit-05 .sub-section-02 .box .text,
  #recruit-05 .sub-section-03 .box .text {
    width: 100%;
    font-size: 1.0rem;
  }
}

#recruit-06 .sub-section-02 {
  padding-bottom: var(--size80px);
}

.c-faq__item {
  margin-bottom: var(--size40px);
  padding: var(--size40px);
  background-color: #fff;
  outline: #707070 solid 1px;
  outline-offset: calc(var(--size15px) * -1);
}

.c-faq dt {
  position: relative;
  margin-bottom: var(--size25px);
  padding: var(--size15px) var(--size20px) var(--size40px) var(--size80px);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.78;
  text-align: left;
  border-bottom: 1px solid #707070;
}

@media screen and (max-width: 767px) {
  .c-faq dt {
    padding: var(--size15px) var(--size20px) var(--size40px) var(--size70px);
    font-size: 1rem;
  }
}

.c-faq dt::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -2px;
  left: 0px;
  font-size: 4.375rem;
  font-family: cormorant-garamond, serif;
  text-align: left;
  color: #ffb09f;
  line-height: 1;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .c-faq dt::before {
    top: 9px;
    font-size: 1.875rem;
  }
}

.c-faq dd {
  position: relative;
  width: calc(100% - 2em);
  margin: 0 0 0 2em;
  padding: var(--size15px) var(--size20px) var(--size20px) var(--size80px);
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .c-faq dd {
    width: calc(100% - 1em);
    margin: 0 0 0 1em;
    padding: var(--size15px) var(--size20px) var(--size20px) var(--size70px);
    font-size: 1.0rem;
  }
}

.c-faq dd::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 16px;
  left: 0px;
  font-size: 4.375rem;
  font-family: cormorant-garamond, serif;
  color: #f7c385;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-faq dd::before {
    top: 9px;
    font-size: 1.875rem;
  }
}

.entry {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 5rem;
}

.entry .tel {
  max-width: unset;
  width: 45vw;
}

.entry .tel a {
  height: 8vw;
  border: 1px solid #332f26;
}

.entry .tel a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-left: var(--size10px);
  padding-right: var(--size10px);
  line-height: 1;
  text-align: center;
  background-color: #fff;
}

.entry .tel .caption {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 96%;
  /* max-width: 250px; */
  height: 2vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--size5px);
  font-size: 1.15rem;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: var(--color06);
}

.entry .tel .number {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 2.6rem;
  letter-spacing: 0;
}

.entry .tel .number .icon {
  display: block;
  width: 1.8vw;
  margin-right: var(--size10px);
  margin-bottom: var(--size5px);
}

.entry .more-button {
  max-width: unset;
  width: 45vw;
}

.entry .more-button a {
  height: 8vw;
  font-size: 1.5rem;
  padding: 0 7rem;
}

@media screen and (max-width: 767px) {
  .entry .more-button {
    width: 90%;
  }

  .entry .more-button a {
    height: 19vw;
    font-size: 1rem;
    padding: 0;
  }

  .entry .tel {
    width: 90%;
  }

  .entry .tel a {
    height: 19vw;
  }

  .entry .tel .number {
    font-size: 1.6rem;
  }

  .entry .tel .caption {
    font-size: 0.8rem;
    height: 6vw;
  }

  .entry {
    margin-top: 3rem;
  }
}
