@charset "UTF-8";
/*------------------------------------------
  下層ページ共通
------------------------------------------*/
/* ========== ページタイトル ========== */
.l-pagehead01 {
  position: relative;
  background: #E1DFE4;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 0 clamp(35px, 6.1403508772vw, 70px);
  align-items: center;
}
.l-pagehead01__icon {
  width: 240px;
}
.l-pagehead01__title {
  flex: 1;
}
.l-pagehead01 .pagehead-title {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .l-pagehead01 {
    display: block;
    padding: 65px 20px 88px;
  }
  .l-pagehead01__icon {
    width: 100%;
    text-align: center;
    margin-bottom: 16px;
  }
  .l-pagehead01__icon img {
    width: 150px;
  }
  .l-pagehead01__title {
    text-align: center;
  }
  .l-pagehead01 .pagehead-title {
    font-size: 1.7rem;
  }
}
.l-pagehead02 {
  position: relative;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  align-items: center;
  background: rgba(225, 223, 228, 0.6);
}
.l-pagehead02__visual {
  width: 50%;
}
.l-pagehead02__title {
  width: 50%;
}
.l-pagehead02 .pagehead-visual {
  width: 100%;
  height: 370px;
}
.l-pagehead02 .pagehead-visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.l-pagehead02 .pagehead-title {
  text-align: center;
}
.l-pagehead02 .pagehead-title span {
  display: block;
  font-weight: 500;
  line-height: 1.4;
}
.l-pagehead02 .pagehead-title__ja {
  font-size: clamp(2rem, 3.5087719298vw, 4rem);
  letter-spacing: 0.05em;
}
.l-pagehead02 .pagehead-title__en {
  font-size: clamp(1.2rem, 2.1052631579vw, 2.4rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.l-pagehead02 .pagehead-link a {
  display: inline-block;
  position: relative;
  padding-right: 31px;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .l-pagehead02 {
    padding: 20px 20px 10px;
  }
  .l-pagehead02__visual {
    width: 100%;
  }
  .l-pagehead02__title {
    width: 100%;
  }
  .l-pagehead02__link {
    width: 100%;
    margin-top: 15px;
  }
  .l-pagehead02 .pagehead-visual {
    height: auto;
    text-align: center;
    margin-bottom: 10px;
  }
  .l-pagehead02 .pagehead-visual img {
    width: 210px;
  }
  .l-pagehead02 .pagehead-title__ja {
    font-size: 2.4rem;
  }
  .l-pagehead02 .pagehead-title__en {
    font-size: 1.3rem;
  }
  .l-pagehead02 .pagehead-link {
    text-align: right;
  }
  .l-pagehead02 .pagehead-link a {
    display: inline-block;
    position: relative;
    padding-right: 21px;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.03em;
  }
  .l-pagehead02 .pagehead-link a:before {
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(112, 112, 112, 0.5);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .l-pagehead02 .pagehead-link a:after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 9px;
    right: 7px;
    box-sizing: border-box;
  }
}
/* ========== パンくず ========== */
.l-breadcrumb {
  margin: 24px 0 85px;
  position: relative;
  z-index: 1;
}
.l-breadcrumb__inner.l-flex {
  justify-content: space-between;
  align-items: center;
}
.l-breadcrumb__list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}
.l-breadcrumb__list li:after {
  content: "＞";
}
.l-breadcrumb__list li:last-child:after {
  content: none;
}
.l-breadcrumb__link a {
  display: block;
  position: relative;
  padding-right: 31px;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.l-breadcrumb__link a:before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(112, 112, 112, 0.5);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.l-breadcrumb__link a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 10px;
  right: 10px;
  box-sizing: border-box;
}

.BD-treatment-detail .l-breadcrumb {
  margin: 13px 0 0;
}

@media only screen and (max-width: 767px) {
  .l-breadcrumb {
    margin: 0;
    padding: 12px 0 0;
    background: #E1DFE4;
  }
  .BD-treatment-detail .l-breadcrumb {
    margin: 0;
    background: rgba(225, 223, 228, 0.6);
  }
}
/* ========== ページナビ ========== */
.l-pagenav {
  margin-bottom: 100px;
}
.l-pagenav__list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.8rem;
  line-height: 1.35;
  font-weight: 400;
  gap: 15px 0;
}
.l-pagenav__list.--small li {
  padding: 0 20px;
}
.l-pagenav__list li {
  padding: 0 30px;
  border-right: 1px solid #1F1F1F;
}
.l-pagenav__list li:first-child {
  border-left: 1px solid #1F1F1F;
}
.l-pagenav__list a {
  display: block;
  transition: color 0.4s;
}
.l-pagenav__list a:hover {
  opacity: 1;
}

.BD-treatment-detail .l-pagenav {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .l-pagenav {
    margin-bottom: 70px;
    background: #E1DFE4;
  }
  .l-pagenav__inner {
    padding: 0 5px 5px;
  }
  .l-pagenav__list {
    font-size: 1.5rem;
    gap: 5px;
    justify-content: flex-start;
  }
  .l-pagenav__list.--small li {
    padding: 0;
  }
  .l-pagenav__list li {
    padding: 0;
    width: calc(50% - 2.5px);
    border: none;
  }
  .l-pagenav__list li:first-child {
    border: none;
  }
  .l-pagenav__list a {
    background: #fff;
    text-align: center;
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
  .l-pagenav__list a:hover {
    color: #1F1F1F !important;
  }
  .BD-treatment-detail .l-pagenav {
    background: rgba(225, 223, 228, 0.6);
    margin: 0;
  }
}
/* ========== セクション ========== */
.p-section {
  position: relative;
  padding-bottom: 290px;
}
.p-section:first-child {
  padding-top: 130px;
}
.p-section__inner {
  position: relative;
}
.p-section__title {
  margin-bottom: 52px;
}
.p-section__title.--no-lead {
  margin-bottom: 85px;
}
.p-section__lead {
  position: relative;
  text-align: center;
  margin-bottom: 98px;
  font-weight: 600;
  line-height: 1.88;
}
.p-section__contents {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .p-section {
    padding-bottom: 90px;
  }
  .p-section:first-child {
    padding-top: 70px;
  }
  .p-section__title {
    margin-bottom: 35px;
  }
  .p-section__title.--no-lead {
    margin-bottom: 55px;
  }
  .p-section__lead {
    text-align: left;
    margin-bottom: 58px;
    font-size: 1.6rem;
  }
}
/*------------------------------------------
  下層テンプレート
------------------------------------------*/
.BD-template .l-pagenav__list a:hover {
  color: #ff0000;
}
.BD-template .c-title02:before {
  background: #ff0000;
}

/*------------------------------------------
  当院の理念・選ばれる理由
------------------------------------------*/
.BD-about .l-pagenav__list a:hover {
  color: #6C9B73;
}
.BD-about .c-title02:before {
  background: #6C9B73;
}

.philosophy-list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 5%;
}
.philosophy-list__item {
  width: 30%;
}
.philosophy-list__itemTitle {
  font-size: 2.4rem;
  margin-bottom: 1em;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .philosophy-list {
    gap: 45px;
  }
  .philosophy-list__item {
    width: 100%;
  }
  .philosophy-list__itemTitle {
    font-size: 1.8rem;
    text-align: left;
  }
}
/*------------------------------------------
  院長・スタッフ紹介
------------------------------------------*/
.BD-staff .l-pagenav__list a:hover {
  color: #A680A5;
}
.BD-staff .c-title02:before {
  background: #A680A5;
}

.story-text {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: clamp(32px, 5.6140350877vw, 64px);
}
.story-text__list {
  flex: 1;
}
.story-text__listItem {
  margin-bottom: 50px;
}
.story-text__listItem:last-child {
  margin-bottom: 0;
}
.story-text__listItemTitle {
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 20px;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 25px;
}
.story-text__listItemTitle .sub {
  font-size: 2rem;
}
.story-text__visual {
  width: 324px;
}

@media only screen and (max-width: 767px) {
  .story-text {
    gap: 50px 0;
  }
  .story-text__list {
    width: 100%;
  }
  .story-text__listItem {
    margin-bottom: 45px;
  }
  .story-text__listItemTitle {
    font-size: 1.8rem;
    display: block;
    margin-bottom: 15px;
  }
  .story-text__listItemTitle .sub {
    font-size: 1.5rem;
    display: block;
    margin-top: 0.3em;
  }
  .story-text__visual {
    width: 100%;
    text-align: center;
  }
}
/*------------------------------------------
  院内・設備紹介
------------------------------------------*/
.BD-facility .l-pagenav__list a:hover {
  color: #527586;
}
.BD-facility .c-title02:before {
  background: #527586;
}

/*------------------------------------------
  初診案内
------------------------------------------*/
.BD-first .l-pagenav__list a:hover {
  color: #B49C59;
}
.BD-first .c-title02:before {
  background: #B49C59;
}

/*------------------------------------------
  診療案内
------------------------------------------*/
.BD-treatment .l-pagenav__list a:hover {
  color: #9D6764;
}
.BD-treatment .c-title02:before {
  background: #9D6764;
}

/*------------------------------------------
  治療の症例
------------------------------------------*/
.BD-case .l-pagenav__list a:hover {
  color: #8C7E5E;
}
.BD-case .c-title02:before {
  background: #8C7E5E;
}

/*------------------------------------------
  価格表
------------------------------------------*/
.BD-price .l-pagenav__list a:hover {
  color: #51A48B;
}
.BD-price .c-title02:before {
  background: #51A48B;
}

.price-block {
  margin-bottom: 240px;
}
.price-block:last-child {
  margin-bottom: 0;
}
.price-block__head {
  margin-bottom: 55px;
  position: relative;
}
.price-block__headButton {
  position: absolute;
  right: 0;
  bottom: -20px;
}
.price-block__table th, .price-block__table td {
  vertical-align: middle;
}
.price-block__note {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 1.7;
}

@media only screen and (max-width: 1024px) {
  .price-block__headButton {
    position: static;
    text-align: center;
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .price-block {
    margin-bottom: 90px;
  }
  .price-block__head {
    margin-bottom: 30px;
  }
  .price-block__note {
    margin-top: 15px;
    font-size: 1.3rem;
    line-height: 1.5;
  }
}
/*------------------------------------------
  採用情報
------------------------------------------*/
.BD-recruit .l-pagenav__list a:hover {
  color: #858795;
}

.l-recruithead {
  padding: 170px 0;
  position: relative;
  background-image: url(../images/recruit/head-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.l-recruithead .recruithead-label {
  margin-bottom: 50px;
}
.l-recruithead .recruithead-label img {
  width: 419px;
}
.l-recruithead .recruithead-title {
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
  line-height: 2.166;
  margin-bottom: 1em;
}
.l-recruithead .recruithead-text {
  font-weight: 600;
  max-width: 757px;
  margin-bottom: 40px;
}
.l-recruithead .recruithead-button {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 20px 28px;
}

.p-recruit {
  position: relative;
  margin-bottom: 300px;
}
.p-recruit__title {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin: 0 0 50px;
}
.p-recruit__lead {
  text-align: center;
  font-weight: 600;
  margin: 0 0 60px;
}
.p-recruit__contents {
  margin-top: 120px;
}
.p-recruit .greeting-profile {
  line-height: 1.5;
  margin-top: 40px;
}
.p-recruit .greeting-profile__label {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
.p-recruit .greeting-profile__name {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.p-recruit .greeting-profile__name--en {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
.p-recruit .person-head {
  margin-bottom: 64px;
}
.p-recruit .person-summary {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 2px;
}
.p-recruit .person-summary__item {
  background: #fff;
}
.p-recruit .person-summary__item:first-child {
  width: calc(40% - 1px);
}
.p-recruit .person-summary__item:last-child {
  width: calc(60% - 1px);
}
.p-recruit .person-summary__itemTitle {
  background: rgba(31, 31, 31, 0.6);
  color: #fff;
  padding: 0 28px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
  min-height: 64px;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
}
.p-recruit .person-summary__itemText {
  padding-right: 1em;
}
.p-recruit .entry-button {
  text-align: center;
  margin-top: 80px;
}
.p-recruit .voice-slider .swiper {
  overflow: visible;
}
.p-recruit .voice-slider__itemImage {
  text-align: center;
  margin-bottom: 30px;
}
.p-recruit .voice-slider__itemTitle {
  font-size: 1.8rem;
  line-height: 1.7;
  font-weight: 600;
  margin-bottom: 10px;
}
.p-recruit .voice-slider__itemText {
  font-size: 1.4rem;
  line-height: 1.857;
}
.p-recruit .voice-slider__arrow {
  margin-top: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.p-recruit .voice-slider__arrow .slider-arrow {
  width: 40px;
  height: 40px;
  cursor: pointer;
  border-radius: 50%;
  background-color: rgba(31, 31, 31, 0.6);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 7px;
  position: relative;
}
.p-recruit .voice-slider__arrow .slider-arrow--prev {
  background-image: url(../images/common/arrow-pager-prev.svg);
}
.p-recruit .voice-slider__arrow .slider-arrow--next {
  background-image: url(../images/common/arrow-pager-next.svg);
}
.p-recruit .pc-daytree {
  position: relative;
  line-height: 1.5;
}
.p-recruit .pc-daytree__time {
  text-align: center;
  position: relative;
  z-index: 1;
}
.p-recruit .pc-daytree__timeLabel {
  font-size: 1.6rem;
  display: block;
  border-radius: 12px;
  color: #fff;
  background: #1F1F1F;
  width: 88px;
  margin: auto;
}
.p-recruit .pc-daytree__contents {
  position: relative;
}
.p-recruit .pc-daytree__contents:before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1px;
  background: #1F1F1F;
}
.p-recruit .pc-daytree__contents:after {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #1F1F1F;
  border-radius: 50%;
}
.p-recruit .pc-daytree__box {
  width: 50%;
  position: absolute;
  top: 50%;
  margin-top: -1px;
}
.p-recruit .pc-daytree__box.--left {
  left: 0;
}
.p-recruit .pc-daytree__box.--left .pc-daytree__boxMain {
  padding-right: clamp(42px, 7.3684210526vw, 84px);
}
.p-recruit .pc-daytree__box.--right {
  right: 0;
}
.p-recruit .pc-daytree__box.--right .pc-daytree__boxTimeLabel {
  margin-left: auto;
}
.p-recruit .pc-daytree__box.--right .pc-daytree__boxMain {
  padding-left: clamp(42px, 7.3684210526vw, 84px);
}
.p-recruit .pc-daytree__boxTime {
  position: relative;
  margin-bottom: 10px;
}
.p-recruit .pc-daytree__boxTime:before {
  content: "";
  width: 100%;
  height: 2px;
  background: #1F1F1F;
  position: absolute;
  left: 0;
  top: 0;
}
.p-recruit .pc-daytree__boxTimeLabel {
  font-size: 1.6rem;
  display: block;
  border-radius: 12px;
  color: #fff;
  background: #1F1F1F;
  width: 128px;
  padding-left: 27px;
  position: relative;
  z-index: 1;
  transform: translateY(-50%);
}
.p-recruit .pc-daytree__boxMain {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-recruit .pc-daytree__boxMainText {
  width: 47%;
  font-size: clamp(1.2rem, 1.2280701754vw, 1.4rem);
  line-height: 1.857;
}
.p-recruit .pc-daytree__boxMainText p:first-child {
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 1.8rem;
}
.p-recruit .pc-daytree__boxMainImage {
  width: 48%;
}
.p-recruit .pc-daytree1 .pc-daytree__contents {
  height: 28px;
}
.p-recruit .pc-daytree2 .pc-daytree__contents {
  height: 325px;
}
.p-recruit .pc-daytree3 .pc-daytree__contents {
  height: 98px;
}
.p-recruit .pc-daytree4 .pc-daytree__contents {
  height: 426px;
}
.p-recruit .pc-daytree5 .pc-daytree__contents {
  height: 0;
}
.p-recruit .pc-daytree5 .pc-daytree__contents:before, .p-recruit .pc-daytree5 .pc-daytree__contents:after {
  content: none;
}
.p-recruit .pc-daytree5 .pc-daytree__box {
  top: -11px;
}
.p-recruit .working-list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-recruit .working-list__item {
  width: 22%;
  max-width: 230px;
}
.p-recruit .working-list__itemIcon {
  text-align: center;
}
.p-recruit .working-list__itemIcon img {
  width: 100px;
}
.p-recruit .working-list__itemTitle {
  text-align: center;
  display: flex;
  min-height: 90px;
  justify-content: center;
  align-items: center;
  font-size: clamp(1.4rem, 1.5789473684vw, 1.8rem);
  font-weight: 600;
  line-height: 1.66;
}
.p-recruit .working-list__itemText {
  font-size: 1.4rem;
  line-height: 1.857;
}
.p-recruit .requirements-button {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: 20px 30px;
  justify-content: center;
}

.p-recruit--person {
  margin-bottom: 64px;
}

.p-recruit--entry {
  padding: 140px 0 120px;
  background-image: url(../images/recruit/entry-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-recruit--entry .p-recruit__inner {
  max-width: 640px;
}
.p-recruit--entry .p-recruit__title {
  font-size: 2.4rem;
  margin-bottom: 30px;
}

.p-recruit--voice {
  overflow: hidden;
}

.p-recruit--day {
  padding-bottom: 240px;
}

.p-recruit--working {
  margin-bottom: 250px;
}

@media only screen and (max-width: 767px) {
  .BD-recruit .l-breadcrumb {
    position: absolute;
    top: 112px;
    left: 0;
    z-index: 1;
    background: none;
  }
  .BD-recruit .l-pagenav {
    padding-top: 5px;
  }
  .BD-recruit .l-pagenav__list li:first-child {
    width: 100%;
  }
  .l-recruithead {
    padding: 60px 0 65px;
    background-image: url(../images/recruit/head-bg-sp.png);
    background-position: center bottom;
  }
  .l-recruithead .recruithead-label {
    margin-bottom: 40px;
  }
  .l-recruithead .recruithead-label img {
    width: 233px;
  }
  .l-recruithead .recruithead-title {
    font-size: 1.8rem;
    line-height: 1.77;
    margin-bottom: 25px;
  }
  .l-recruithead .recruithead-text {
    line-height: 1.866;
    margin-bottom: 25px;
  }
  .l-recruithead .recruithead-button {
    gap: 10px 15px;
  }
  .p-recruit {
    margin-bottom: 95px;
  }
  .p-recruit__title {
    font-size: 1.8rem;
    line-height: 1.88;
    margin: 0 0 25px;
  }
  .p-recruit__lead {
    font-size: 1.4rem;
    margin: 0 0 50px;
  }
  .p-recruit__contents {
    margin-top: 50px;
  }
  .p-recruit .greeting-profile {
    margin-top: 24px;
  }
  .p-recruit .greeting-profile__label {
    font-size: 1.4rem;
  }
  .p-recruit .greeting-profile__name {
    font-size: 2rem;
  }
  .p-recruit .greeting-profile__name--en {
    font-size: 1.3rem;
  }
  .p-recruit .person-head {
    margin-bottom: 50px;
  }
  .p-recruit .person-summary {
    gap: 35px;
  }
  .p-recruit .person-summary__item:first-child {
    width: 100%;
  }
  .p-recruit .person-summary__item:last-child {
    width: 100%;
  }
  .p-recruit .person-summary__itemTitle {
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.3;
    min-height: 72px;
    margin-bottom: 15px;
    text-align: center;
    justify-content: center;
  }
  .p-recruit .person-summary__itemText {
    padding-right: 0;
  }
  .p-recruit .entry-button {
    margin-top: 30px;
  }
  .p-recruit .voice-slider__itemImage {
    margin-bottom: 20px;
  }
  .p-recruit .voice-slider__itemTitle {
    font-size: 1.7rem;
  }
  .p-recruit .voice-slider__arrow {
    margin-top: 40px;
    gap: 15px;
  }
  .p-recruit .sp-daytree {
    position: relative;
    padding-left: 25px;
    padding-top: 30px;
    line-height: 1.5;
  }
  .p-recruit .sp-daytree:before {
    content: "";
    width: 2px;
    height: calc(100% + 8px);
    background: #1F1F1F;
    position: absolute;
    left: 32px;
    top: 0;
  }
  .p-recruit .sp-daytree:last-child {
    padding-top: 0;
  }
  .p-recruit .sp-daytree:last-child:before {
    content: none;
  }
  .p-recruit .sp-daytree__title {
    position: absolute;
    z-index: 2;
    left: 0;
  }
  .p-recruit .sp-daytree__title.--first {
    top: 0;
  }
  .p-recruit .sp-daytree__title.--second {
    top: 60px;
  }
  .p-recruit .sp-daytree__titleLabel {
    color: #fff;
    background: #1F1F1F;
    display: block;
    text-align: center;
    width: 65px;
    font-size: 1.6rem;
    border-radius: 12px;
  }
  .p-recruit .sp-daytree__time {
    position: relative;
  }
  .p-recruit .sp-daytree__time:before {
    content: "";
    position: absolute;
    height: 2px;
    width: 100%;
    background: #1F1F1F;
    left: 0;
    top: 50%;
    margin-top: -1px;
  }
  .p-recruit .sp-daytree__time:after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    background: #1F1F1F;
    border-radius: 50%;
    left: 0;
    top: 50%;
    margin-top: -8px;
  }
  .p-recruit .sp-daytree__timeLabel {
    position: relative;
    z-index: 1;
    color: #fff;
    background: #1F1F1F;
    display: block;
    text-align: center;
    width: 128px;
    margin-left: auto;
    font-size: 1.6rem;
    border-radius: 12px;
  }
  .p-recruit .sp-daytree__main {
    padding: 30px 0 30px 60px;
  }
  .p-recruit .sp-daytree__mainTitle {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 10px;
  }
  .p-recruit .sp-daytree__mainText {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .p-recruit .sp-daytree__mainImage {
    margin-top: 15px;
    margin-left: auto;
    width: 60%;
  }
  .p-recruit .sp-daytree__mainImage img {
    width: 100%;
  }
  .p-recruit .working-list {
    gap: 40px;
    padding: 0 20px;
  }
  .p-recruit .working-list__item {
    width: 100%;
    max-width: 100%;
  }
  .p-recruit .working-list__itemIcon {
    margin-bottom: 25px;
  }
  .p-recruit .working-list__itemTitle {
    display: block;
    min-height: auto;
    font-size: 1.8rem;
    margin-bottom: 1em;
  }
  .p-recruit .requirements-button {
    gap: 12px;
  }
  .p-recruit--person {
    margin-bottom: 30px;
  }
  .p-recruit--entry {
    padding: 75px 0 70px;
    background-image: url(../images/recruit/entry-bg-sp.png);
  }
  .p-recruit--entry .p-recruit__title {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
  }
  .p-recruit--day {
    padding-bottom: 0;
  }
  .p-recruit--working {
    margin-bottom: 95px;
  }
}
/*------------------------------------------
  募集要項・エントリー
------------------------------------------*/
.BD-entry .l-pagenav__list a:hover {
  color: #3386A4;
}
.BD-entry .c-title02:before {
  background: #3386A4;
}

.entry-block {
  margin-bottom: 240px;
}
.entry-block:last-child {
  margin-bottom: 0;
}
.entry-block__head {
  margin-bottom: 55px;
  position: relative;
}
.entry-block__headButton {
  position: absolute;
  right: 0;
  bottom: -20px;
}

@media only screen and (max-width: 1024px) {
  .entry-block__headButton {
    position: static;
    text-align: center;
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .entry-block {
    margin-bottom: 90px;
  }
  .entry-block__head {
    margin-bottom: 45px;
  }
  .entry-block__headButton {
    display: none;
  }
}
/*------------------------------------------
  アクセス・診療時間
------------------------------------------*/
.BD-access .l-pagenav__list a:hover {
  color: #7C86A9;
}
.BD-access .c-title02:before {
  background: #7C86A9;
}

.access-name {
  text-align: center;
  margin-bottom: 48px;
  line-height: 1.5;
}
.access-name__ja {
  font-size: 2.8rem;
  letter-spacing: 0.4em;
  font-weight: 600;
}
.access-name__en {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  margin-top: 0.5em;
}

.access-clinic {
  text-align: center;
  margin-bottom: 50px;
}

.access-map {
  margin-bottom: 80px;
}
.access-map__iframe iframe {
  width: 100%;
  height: 550px;
}
.access-map__button {
  text-align: center;
  margin-top: 30px;
}

.access-how {
  gap: 55px 0;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
}
.access-how__block {
  width: 47%;
}
.access-how__blockTitle {
  background: #E1DFE4;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding: 12px 20px;
  margin-bottom: 20px;
}
.access-how__blockText {
  line-height: 1.88;
}

.access-hours {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
}
.access-hours__table {
  width: 60%;
}
.access-hours__summary {
  width: 34%;
  max-width: 348px;
  font-size: clamp(1.3rem, 1.5789473684vw, 1.8rem);
  letter-spacing: 0.1em;
}
.access-hours__summaryTitle {
  line-height: 1.5;
  margin-bottom: 1em;
  font-weight: 400;
}
.access-hours__summaryText {
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  .access-name {
    margin-bottom: 36px;
  }
  .access-name__ja {
    font-size: 2rem;
  }
  .access-name__en {
    font-size: 1.3rem;
  }
  .access-clinic {
    margin-bottom: 40px;
  }
  .access-clinic__address {
    font-size: 1.4rem;
  }
  .access-map {
    padding: 0;
    margin-bottom: 60px;
  }
  .access-map__iframe iframe {
    height: 100vw;
  }
  .access-how {
    gap: 40px 0;
  }
  .access-how__block {
    width: 100%;
  }
  .access-how__blockTitle {
    padding: 14px 20px;
  }
  .access-hours {
    gap: 30px;
  }
  .access-hours__table {
    width: 100%;
  }
  .access-hours__summary {
    width: 100%;
    max-width: 100%;
    font-size: 1.5rem;
  }
  .access-hours__summaryText {
    line-height: 2;
  }
}
/*------------------------------------------
  投稿一覧
------------------------------------------*/
.p-archive {
  padding: 0 0 290px;
}

@media only screen and (max-width: 767px) {
  .p-archive {
    padding: 40px 0 80px;
  }
}
/*------------------------------------------
  プライバシーポリシー
------------------------------------------*/
.BD-privacy .l-pagenav__list a:hover {
  color: #63A5AC;
}
.BD-privacy .c-title02:before {
  background: #63A5AC;
}

.privacy-block {
  max-width: 900px;
  margin: 0 auto 100px;
}
.privacy-block:last-child {
  margin-bottom: 0;
}
.privacy-block__title {
  font-size: 2.2rem;
  line-height: 1.6em;
  margin-bottom: 1em;
}
.privacy-block__lead {
  margin-bottom: 40px;
}
.privacy-block__lead:last-child {
  margin-bottom: 0;
}
.privacy-block__text {
  padding-left: 45px;
  margin-bottom: 40px;
}
.privacy-block__text:last-child {
  margin-bottom: 0;
}
.privacy-block__text p {
  margin-bottom: 20px;
}
.privacy-block__text p:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .privacy-block {
    margin-bottom: 50px;
    line-height: 1.6;
  }
  .privacy-block__title {
    font-size: 1.8rem;
  }
  .privacy-block__lead {
    margin-bottom: 25px;
  }
  .privacy-block__text {
    padding-left: 0;
    margin-bottom: 25px;
  }
  .privacy-block__text p {
    margin-bottom: 15px;
  }
}
/*------------------------------------------
  お問い合わせ
------------------------------------------*/
.BD-contact .l-pagenav__list a:hover {
  color: #B97743;
}
.BD-contact .c-title02:before {
  background: #B97743;
}

.contact-lead {
  text-align: center;
  margin-bottom: 70px;
  font-weight: 600;
}

.contact-form {
  margin: auto;
  max-width: 800px;
}
.contact-form__block {
  margin-bottom: 40px;
}
.contact-form__block:last-child {
  margin-bottom: 0;
}
.contact-form__blockLabel {
  position: relative;
  margin-bottom: 20px;
  line-height: 1.5;
}
.contact-form__blockLabel.--required {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
}
.contact-form__blockLabel.--required span {
  color: #fff;
  background: #B97743;
  font-size: 1.6rem;
  line-height: 28px;
  width: 68px;
  text-align: center;
}
.contact-form .form-input input, .contact-form .form-input textarea, .contact-form .form-input select {
  width: 100%;
  border: 1px solid #CDD6DD;
  font-size: 1.6rem;
}
.contact-form .form-input input, .contact-form .form-input textarea {
  color: #3B4043;
}
.contact-form .form-input input, .contact-form .form-input select {
  height: 50px;
  padding: 0 1em;
}
.contact-form .form-input textarea {
  resize: none;
  padding: 1em;
}
.contact-form .form-input select {
  color: #CDD6DD;
}
.contact-form .form-input select.is--done {
  color: #3B4043;
}
.contact-form .form-input ::-moz-placeholder {
  color: #CDD6DD;
}
.contact-form .form-input ::placeholder {
  color: #CDD6DD;
}
.contact-form .form-input .select-wrap {
  position: relative;
}
.contact-form .form-input .select-wrap:after {
  content: "";
  width: 10px;
  height: 10px;
  background: url(../images/common/arrow-down01.svg) no-repeat center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 23px;
  margin-top: -5px;
  pointer-events: none;
}
.contact-form .form-check > p {
  display: inline-block;
  position: relative;
}
.contact-form .form-check a {
  font-weight: 400;
  color: #3B4043;
  font-size: 1.2rem;
}
.contact-form .form-check .ico-check {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  position: relative;
}
.contact-form .form-check .ico-check .wpcf7-list-item {
  margin: 0;
  display: block;
  line-height: 1;
}
.contact-form .form-check .ico-check input[type=checkbox] {
  display: none;
}
.contact-form .form-check .ico-check .wpcf7-list-item-label {
  position: relative;
  height: 30px;
  line-height: 30px;
  display: inline-block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.contact-form .form-check .ico-check .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border: 1px solid #CDD6DD;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
}
.contact-form .form-check .ico-check .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  border-top: 2px solid #98A6B5;
  border-right: 2px solid #98A6B5;
  transform: rotate(135deg);
  position: absolute;
  left: 8px;
  top: 9px;
}
.contact-form .form-check .ico-check input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  border-color: #001e4d;
}
.contact-form .form-check .ico-check .wpcf7-not-valid-tip {
  position: absolute;
  white-space: nowrap;
  margin-top: 0;
}
.contact-form .form-submit {
  margin-top: 110px;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 20px;
}
.contact-form .form-submit input {
  display: inline-flex;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  width: 260px;
  max-width: 100%;
  font-weight: 600;
  letter-spacing: 0.2em;
  font-size: 1.6rem;
  line-height: 1.375;
  transition: 0.4s;
  border-radius: 42px;
  background: #1F1F1F;
  color: #fff;
}
.contact-form .form-submit input:hover {
  color: #fff;
  background: #858795;
  opacity: 1;
}
.contact-form .form-submit .wpcf7-spinner {
  display: none;
}
.contact-form .wpcf7-not-valid-tip {
  font-size: 1.2rem;
  color: #6C6C6C;
  margin-top: 1em;
}
.contact-form input.wpcf7-not-valid {
  background-image: url(../images/common/ico-attention.svg);
  background-repeat: no-repeat;
  background-position: center right 22px;
  background-size: 16px;
}

.contact-thanks {
  max-width: 656px;
  margin: auto;
}
.contact-thanks p {
  font-size: 1.8rem;
  line-height: 2.44;
}
.contact-thanks__button {
  text-align: center;
  margin-top: 120px;
}

@media only screen and (max-width: 767px) {
  .contact-lead {
    padding-top: 60px;
    text-align: left;
  }
  .contact-form__block {
    margin-bottom: 30px;
  }
  .contact-form__blockLabel {
    margin-bottom: 10px;
  }
  .contact-form__blockLabel.--required {
    gap: 15px;
    margin-bottom: 10px;
  }
  .contact-form__blockLabel.--required span {
    font-size: 1.4rem;
    line-height: 24px;
    width: 50px;
  }
  .contact-form .form-submit {
    margin-top: 40px;
  }
  .contact-form .form-submit input {
    min-height: 48px;
    width: 210px;
    font-size: 1.3rem;
  }
  .contact-form .form-submit input:hover {
    background: #1F1F1F;
    color: #fff;
  }
  .contact-thanks p {
    font-size: 1.5rem;
    line-height: 1.866;
  }
  .contact-thanks__button {
    margin-top: 60px;
  }
}
/*------------------------------------------
  施設基準
------------------------------------------*/
.p-facilitystandards {
  padding: 130px 0;
  background: rgba(225, 223, 228, 0.3);
}
.p-facilitystandards .facilitystandards-title {
  text-align: center;
  color: #58555D;
  font-weight: 500;
  font-size: 3.6rem;
  letter-spacing: 0.3em;
  margin-bottom: 60px;
}
.p-facilitystandards .facilitystandards-block {
  max-width: 900px;
  margin: 0 auto 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
.p-facilitystandards .facilitystandards-block:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.p-facilitystandards .facilitystandards-block__title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .p-facilitystandards {
    padding: 50px 0 80px;
  }
  .p-facilitystandards .facilitystandards-title {
    font-size: 2rem;
    margin-bottom: 45px;
  }
  .p-facilitystandards .facilitystandards-block {
    margin: 0 auto 30px;
    padding-bottom: 30px;
  }
  .p-facilitystandards .facilitystandards-block__title {
    font-size: 1.7rem;
    text-align: left;
    margin-bottom: 1em;
    letter-spacing: 0.05em;
  }
}
/*------------------------------------------
  私たちと一緒に働きませんか？
------------------------------------------*/
.p-entry {
  padding: 110px 0 100px;
  background: #E1DFE4;
}
.p-entry .entry-lead {
  text-align: center;
  margin-bottom: 45px;
  font-weight: 600;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
}
.p-entry .entry-button {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-entry {
    padding: 52px 0 50px;
  }
  .p-entry .entry-lead {
    font-size: 1.7rem;
    margin-bottom: 25px;
  }
}
/*------------------------------------------
  採用エントリーする
------------------------------------------*/
.p-recruitentry {
  padding: 100px 0;
  background: rgba(225, 223, 228, 0.3);
}
.p-recruitentry__inner {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-recruitentry .recruitentry-visual {
  width: 47%;
}
.p-recruitentry .recruitentry-text {
  width: 47%;
}
.p-recruitentry .recruitentry-textTitle {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-bottom: 35px;
}
.p-recruitentry .recruitentry-textText {
  font-weight: 400;
}
.p-recruitentry .recruitentry-textButton {
  margin-top: 94px;
}

@media only screen and (max-width: 767px) {
  .p-recruitentry {
    padding: 70px 0;
  }
  .p-recruitentry__inner {
    gap: 55px;
  }
  .p-recruitentry .recruitentry-visual {
    width: 100%;
  }
  .p-recruitentry .recruitentry-text {
    width: 100%;
  }
  .p-recruitentry .recruitentry-textTitle {
    font-size: 1.7rem;
    margin-bottom: 30px;
  }
  .p-recruitentry .recruitentry-textButton {
    margin-top: 30px;
    text-align: center;
  }
}
/*------------------------------------------
  投稿詳細
------------------------------------------*/
.p-detail {
  position: relative;
  padding: 0 0 290px;
}
.p-detail__inner {
  max-width: 940px;
}
.p-detail .detail-head {
  text-align: center;
  max-width: 472px;
  margin: 0 auto 64px;
}
.p-detail .detail-head__category {
  margin-bottom: 32px;
}
.p-detail .detail-head__title {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.57;
}
.p-detail .detail-head__date {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 500;
}
.p-detail .detail-body > * {
  margin-bottom: 130px;
}
.p-detail .detail-body > *:last-child {
  margin-bottom: 0;
}
.p-detail .detail-body .aligncenter {
  text-align: center;
}
.p-detail .detail-foot {
  text-align: center;
  margin-top: 130px;
}

@media only screen and (max-width: 767px) {
  .p-detail {
    padding: 60px 0 80px;
  }
  .p-detail .detail-head {
    text-align: left;
    max-width: 100%;
    margin-bottom: 40px;
    display: -moz-flex;
    display: flex;
    -ms-flex-pack: justify;
    flex-wrap: wrap;
  }
  .p-detail .detail-head__category {
    width: 100%;
    -ms-order: 1;
    order: 1;
    margin-bottom: 15px;
  }
  .p-detail .detail-head__title {
    width: 100%;
    -ms-order: 3;
    order: 3;
    font-size: 1.8rem;
  }
  .p-detail .detail-head__date {
    width: 100%;
    -ms-order: 2;
    order: 2;
    margin: 0;
    font-size: 1.5rem;
    margin-bottom: 0.5em;
  }
  .p-detail .detail-body > * {
    margin-bottom: 60px;
  }
  .p-detail .detail-foot {
    margin-top: 60px;
  }
}
/*------------------------------------------
  施術詳細
------------------------------------------*/
.p-treatment {
  position: relative;
  padding: 0 0 170px;
}
.p-treatment.--bg-gray {
  background: rgba(225, 223, 228, 0.6);
}
.p-treatment.--border-bottom {
  border-bottom: 1px solid rgba(31, 31, 31, 0.15);
}
.p-treatment__title {
  margin-bottom: 90px;
}
.p-treatment__inner {
  position: relative;
}
.p-treatment__button {
  text-align: center;
  margin-top: 90px;
}

@media only screen and (max-width: 767px) {
  .p-treatment {
    padding: 0 0 90px;
  }
  .p-treatment__title {
    margin-bottom: 50px;
  }
  .p-treatment__button {
    margin-top: 40px;
  }
}
/* ========== リード ==========*/
.p-treatment--lead {
  padding: 120px 0 150px;
}
.p-treatment--lead .lead-box {
  margin-bottom: 100px;
}
.p-treatment--lead .lead-box:last-child {
  margin-bottom: 0;
}
.p-treatment--lead .lead-box__title {
  margin-bottom: 40px;
}
.p-treatment--lead .lead-box__text {
  font-size: 1.5rem;
}
.p-treatment--lead .lead-box__button {
  margin-top: 45px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-treatment--lead {
    padding: 70px 0 90px;
  }
  .p-treatment--lead .lead-box {
    margin-bottom: 40px;
  }
  .p-treatment--lead .lead-box__title {
    margin-bottom: 20px;
  }
  .p-treatment--lead .lead-box__text {
    line-height: 1.66;
  }
  .p-treatment--lead .lead-box__button {
    margin-top: 30px;
  }
}
/* ========== 導入のきっかけ ==========*/
.p-treatment--chance {
  background: #B3AEBB;
}
.p-treatment--chance .chance-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 27.7777777778vw;
}
.p-treatment--chance .chance-image img {
  width: 100%;
}
.p-treatment--chance .chance-text {
  position: relative;
  width: 84%;
  padding: 40px 0;
  color: #fff;
}
.p-treatment--chance .chance-text:before, .p-treatment--chance .chance-text:after {
  content: "";
  background: #E1DFE4;
  position: absolute;
  width: 145px;
  height: 40px;
}
.p-treatment--chance .chance-text:before {
  left: 0;
  top: 0;
}
.p-treatment--chance .chance-text:after {
  right: 0;
  bottom: 0;
}
.p-treatment--chance .chance-textInner {
  position: relative;
  padding: 60px clamp(53px, 9.298245614vw, 106px);
}
.p-treatment--chance .chance-textInner:before, .p-treatment--chance .chance-textInner:after {
  content: "";
  background: #E1DFE4;
  position: absolute;
  width: 40px;
  height: 105px;
}
.p-treatment--chance .chance-textInner:before {
  left: 0;
  top: 0;
}
.p-treatment--chance .chance-textInner:after {
  right: 0;
  bottom: 0;
}
.p-treatment--chance .chance-textTitle {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.8;
  margin-bottom: 40px;
}
.p-treatment--chance .chance-textText {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.866;
}

@media only screen and (max-width: 767px) {
  .p-treatment--chance {
    background: #B3AEBB;
    padding-bottom: 0;
  }
  .p-treatment--chance .p-treatment__title {
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-treatment--chance .p-treatment__inner {
    padding: 0;
  }
  .p-treatment--chance .chance-image {
    width: 100%;
    position: static;
  }
  .p-treatment--chance .chance-text {
    width: 100%;
    padding: 22px 0;
  }
  .p-treatment--chance .chance-text:before, .p-treatment--chance .chance-text:after {
    width: 80px;
    height: 22px;
  }
  .p-treatment--chance .chance-textInner {
    padding: 80px 40px;
  }
  .p-treatment--chance .chance-textInner:before, .p-treatment--chance .chance-textInner:after {
    width: 22px;
    height: 58px;
  }
  .p-treatment--chance .chance-textTitle {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .p-treatment--chance .chance-textText {
    font-size: 1.5rem;
    line-height: 1.66;
  }
}
/* ========== 歯周病の進行過程 ==========*/
.p-treatment--progress .periodontics-progress {
  gap: 70px 4%;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}
.p-treatment--progress .periodontics-progress__item {
  position: relative;
  width: 22%;
}
.p-treatment--progress .periodontics-progress__item:after {
  content: "";
  position: absolute;
  left: 100%;
  top: clamp(50px, 8.7719298246vw, 100px);
  margin-left: clamp(5px, 0.8771929825vw, 10px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(10px, 1.7543859649vw, 20px) 0 clamp(10px, 1.7543859649vw, 20px) clamp(17px, 2.9824561404vw, 34px);
  border-color: transparent transparent transparent rgba(88, 85, 93, 0.5);
}
.p-treatment--progress .periodontics-progress__item:last-child:after {
  content: none;
}
.p-treatment--progress .periodontics-progress__itemImage {
  margin-bottom: 30px;
}
.p-treatment--progress .periodontics-progress__itemTitle {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.p-treatment--progress .periodontics-progress__itemText {
  margin-top: 30px;
  font-size: 1.5rem;
  line-height: 1.666;
}

@media only screen and (max-width: 1024px) {
  .p-treatment--progress .periodontics-progress {
    gap: 70px 4%;
  }
  .p-treatment--progress .periodontics-progress__item {
    width: 22%;
  }
  .p-treatment--progress .periodontics-progress__itemImage {
    margin-bottom: 20px;
    text-align: center;
  }
  .p-treatment--progress .periodontics-progress__itemImage img {
    width: 60%;
  }
  .p-treatment--progress .periodontics-progress__itemTitle {
    font-size: 1.7rem;
  }
  .p-treatment--progress .periodontics-progress__itemText {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .p-treatment--progress .periodontics-progress {
    gap: 70px;
  }
  .p-treatment--progress .periodontics-progress__item {
    width: 100%;
  }
  .p-treatment--progress .periodontics-progress__item:after {
    left: 50%;
    top: 100%;
    margin-left: -19px;
    margin-top: 20px;
    border-width: 30px 19px 0 19px;
    border-color: rgba(88, 85, 93, 0.5) transparent transparent transparent;
  }
}
/* ========== 虫歯・歯周病予防について ==========*/
.p-treatment--preventive .preventive-contents {
  margin-bottom: 200px;
}
.p-treatment--preventive .preventive-contents:last-child {
  margin-bottom: 0;
}
.p-treatment--preventive .preventive-title {
  text-align: center;
  background: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  line-height: 1.5;
  padding: 22px 0;
  margin-bottom: 70px;
}
.p-treatment--preventive .preventive-head {
  margin-bottom: 90px;
}
.p-treatment--preventive .preventive-head__box {
  margin-bottom: 40px;
}
.p-treatment--preventive .preventive-head__box:last-child {
  margin-bottom: 0;
}
.p-treatment--preventive .preventive-head__box.--first {
  margin-top: 60px;
}
.p-treatment--preventive .preventive-head__boxTitle {
  text-align: center;
  background: rgba(88, 85, 93, 0.7);
  color: #fff;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.5;
  padding: 10px 0;
}
.p-treatment--preventive .preventive-head__boxText {
  font-size: 1.5rem;
  line-height: 1.733;
}
.p-treatment--preventive .preventive-flow__title {
  margin-bottom: 50px;
  border-top: 1px solid rgba(88, 85, 93, 0.5);
  border-bottom: 1px solid rgba(88, 85, 93, 0.5);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.5em;
  padding: 10px 26px;
}
.p-treatment--preventive .preventive-appeal {
  margin-bottom: 90px;
}
.p-treatment--preventive .preventive-note {
  margin-top: 60px;
}

@media only screen and (max-width: 767px) {
  .p-treatment--preventive .preventive-contents {
    margin-bottom: 90px;
  }
  .p-treatment--preventive .preventive-title {
    font-size: 1.8rem;
    margin-bottom: 50px;
    padding: 16px 0;
  }
  .p-treatment--preventive .preventive-head {
    margin-bottom: 60px;
  }
  .p-treatment--preventive .preventive-head__box.--first {
    margin-top: 50px;
  }
  .p-treatment--preventive .preventive-head__boxTitle {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
  .p-treatment--preventive .preventive-flow__title {
    margin-bottom: 35px;
    font-size: 1.6rem;
    letter-spacing: 0.2em;
    padding: 10px 0;
  }
  .p-treatment--preventive .preventive-flow__list {
    gap: 35px;
  }
  .p-treatment--preventive .preventive-appeal {
    margin-bottom: 60px;
  }
  .p-treatment--preventive .preventive-note {
    margin-top: 40px;
  }
}
/* ========== 親知らずによるリスクや問題 ==========*/
.p-treatment--risk .risk-head {
  margin-bottom: 200px;
}
.p-treatment--risk .risk-head__note {
  margin-top: 60px;
}
.p-treatment--risk .risk-about {
  margin-bottom: 130px;
}

@media only screen and (max-width: 767px) {
  .p-treatment--risk .risk-head {
    margin-bottom: 90px;
  }
  .p-treatment--risk .risk-head__note {
    margin-top: 40px;
  }
  .p-treatment--risk .risk-about {
    margin-bottom: 50px;
  }
}
/* ========== 下部リンク ==========*/
.p-treatment--foot {
  padding: 0;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}
.p-treatment--foot .foot-contents {
  width: 50%;
}
.p-treatment--foot .foot-contents--text {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-treatment--foot .foot-image {
  width: 100%;
  height: 100%;
}
.p-treatment--foot .foot-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-treatment--foot .foot-text {
  width: 70%;
  padding: 40px 0;
}
.p-treatment--foot .foot-text__title {
  font-weight: 600;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.833;
  margin-bottom: 30px;
}
.p-treatment--foot .foot-text__text {
  font-size: 1.6rem;
}
.p-treatment--foot .foot-text__link {
  margin-top: clamp(30px, 4.1666666667vw, 60px);
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 1.6%;
}
.p-treatment--foot .foot-text__linkButton {
  width: 49.2%;
  min-width: 190px;
}
.p-treatment--foot .foot-text__linkButton a {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .p-treatment--foot .foot-contents {
    width: 100%;
    display: block;
  }
  .p-treatment--foot .foot-image {
    height: 100vw;
  }
  .p-treatment--foot .foot-text {
    width: 100%;
    padding: 64px 20px;
  }
  .p-treatment--foot .foot-text__title {
    font-size: 2rem;
    margin-bottom: 24px;
  }
  .p-treatment--foot .foot-text__text {
    font-size: 1.5rem;
    line-height: 1.866;
  }
  .p-treatment--foot .foot-text__link {
    margin-top: 40px;
    gap: 16px;
  }
  .p-treatment--foot .foot-text__linkButton {
    width: 210px;
  }
}
/* ========== ホワイトニング ==========*/
.p-treatment--whitening .whitening-contents {
  margin-bottom: 200px;
}
.p-treatment--whitening .whitening-contents:last-child {
  margin-bottom: 0;
}
.p-treatment--whitening .whitening-about {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-treatment--whitening .whitening-about__contents {
  width: 47%;
}
.p-treatment--whitening .whitening-about__image {
  width: 47%;
}
.p-treatment--whitening .whitening-about__head {
  margin-bottom: 40px;
}
.p-treatment--whitening .whitening-about__headTitle {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 20px;
}
.p-treatment--whitening .whitening-about__headLead {
  font-size: 1.6rem;
}
.p-treatment--whitening .whitening-about__features p {
  margin-top: 20px;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.p-treatment--whitening .whitening-about__features .sub {
  display: block;
  margin-top: 6px;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0;
}
.p-treatment--whitening .whitening-about__featuresTitle {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.5em;
  color: #fff;
  background: rgba(88, 85, 93, 0.7);
  padding: 7px 25px;
  margin-bottom: 25px;
}
.p-treatment--whitening .whitening-flow {
  margin-top: 90px;
}
.p-treatment--whitening .whitening-flow__title {
  border-top: 1px solid rgba(88, 85, 93, 0.5);
  border-bottom: 1px solid rgba(88, 85, 93, 0.5);
  padding: 15px 25px;
  margin-bottom: 40px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.5em;
}
.p-treatment--whitening .whitening-flow__list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}
.p-treatment--whitening .whitening-flow__list.col-5 {
  gap: 3%;
}
.p-treatment--whitening .whitening-flow__list.col-6 {
  gap: 1.4%;
}
.p-treatment--whitening .whitening-flow__item {
  flex: 1;
}
.p-treatment--whitening .whitening-flow__itemImage {
  margin-bottom: 25px;
}
.p-treatment--whitening .whitening-flow__itemHead {
  margin-bottom: 20px;
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}
.p-treatment--whitening .whitening-flow__itemHead .num {
  width: 40px;
  background: #1F1F1F;
  color: #fff;
  line-height: 40px;
  text-align: center;
  font-size: 2rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
}
.p-treatment--whitening .whitening-flow__itemHead .label {
  width: calc(100% - 50px);
  margin-left: auto;
}
.p-treatment--whitening .whitening-flow__itemText {
  font-size: 1.5rem;
  line-height: 1.733;
}
.p-treatment--whitening .whitening-item {
  background: #fff;
  margin-top: 40px;
  padding: 30px clamp(70px, 12.2807017544vw, 140px);
}
.p-treatment--whitening .whitening-item__text {
  display: flex;
  gap: 20px;
  align-items: center;
  font-size: 1.5rem;
}
.p-treatment--whitening .whitening-item__textTitle {
  white-space: nowrap;
  font-size: 1.7rem;
  font-weight: 500;
}

@media only screen and (max-width: 1024px) {
  .p-treatment--whitening .whitening-flow__list.col-5, .p-treatment--whitening .whitening-flow__list.col-6 {
    gap: 30px 5%;
  }
  .p-treatment--whitening .whitening-flow__item {
    flex: none;
    width: 30%;
  }
}
@media only screen and (max-width: 767px) {
  .p-treatment--whitening .whitening-contents {
    margin-bottom: 80px;
  }
  .p-treatment--whitening .whitening-about {
    gap: 30px;
  }
  .p-treatment--whitening .whitening-about__contents {
    width: 100%;
    -ms-order: 2;
    order: 2;
  }
  .p-treatment--whitening .whitening-about__image {
    width: 100%;
    -ms-order: 1;
    order: 1;
  }
  .p-treatment--whitening .whitening-about__head {
    margin-bottom: 24px;
  }
  .p-treatment--whitening .whitening-about__headTitle {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .p-treatment--whitening .whitening-about__headLead {
    font-size: 1.5rem;
    line-height: 1.66;
  }
  .p-treatment--whitening .whitening-about__features p {
    font-size: 1.6rem;
  }
  .p-treatment--whitening .whitening-about__featuresTitle {
    font-size: 1.5rem;
    padding: 7px 15px;
  }
  .p-treatment--whitening .whitening-flow {
    margin-top: 30px;
  }
  .p-treatment--whitening .whitening-flow__title {
    padding: 8px 0;
    margin-bottom: 20px;
    font-size: 1.5rem;
  }
  .p-treatment--whitening .whitening-flow__list.col-5, .p-treatment--whitening .whitening-flow__list.col-6 {
    gap: 30px;
  }
  .p-treatment--whitening .whitening-flow__item {
    width: 100%;
    position: relative;
    padding-left: calc(24vw + 24px);
    min-height: 24vw;
  }
  .p-treatment--whitening .whitening-flow__itemImage {
    position: absolute;
    top: 0;
    left: 0;
    width: 24vw;
    margin: 0;
  }
  .p-treatment--whitening .whitening-flow__itemImage img {
    width: 100%;
  }
  .p-treatment--whitening .whitening-flow__itemHead {
    margin-bottom: 15px;
    font-size: 1.7rem;
  }
  .p-treatment--whitening .whitening-flow__itemHead .num {
    width: 50px;
    line-height: 50px;
    font-size: 2.8rem;
  }
  .p-treatment--whitening .whitening-flow__itemHead .label {
    width: calc(100% - 62px);
  }
  .p-treatment--whitening .whitening-item {
    margin-top: 30px;
    padding: 20px;
  }
  .p-treatment--whitening .whitening-item__text {
    display: block;
    font-size: 1.4rem;
  }
  .p-treatment--whitening .whitening-item__textTitle {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 10px;
  }
}
/* ========== 矯正治療 ==========*/
.p-treatment--orthodontics01 .orthodontics-reson {
  margin-bottom: 70px;
}
.p-treatment--orthodontics01 .orthodontics-reson:last-child {
  margin-bottom: 0;
}
.p-treatment--orthodontics01 .orthodontics-reson__title {
  font-weight: 700;
  font-size: 2.8rem;
  margin-bottom: 20px;
  line-height: 1.4;
}
.p-treatment--orthodontics01 .orthodontics-reson__text {
  font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
  .p-treatment--orthodontics01 .orthodontics-reson {
    margin-bottom: 50px;
  }
  .p-treatment--orthodontics01 .orthodontics-reson__title {
    font-weight: 600;
    font-size: 2rem;
    text-align: center;
  }
  .p-treatment--orthodontics01 .orthodontics-reson__text {
    font-size: 1.5rem;
    line-height: 1.66;
  }
}
.p-treatment--orthodontics03 .orthodontics-type {
  margin-bottom: 200px;
}
.p-treatment--orthodontics03 .orthodontics-type:last-child {
  margin-bottom: 0;
}
.p-treatment--orthodontics03 .orthodontics-type__title {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 20px;
}
.p-treatment--orthodontics03 .orthodontics-type__lead {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 50px;
}
.p-treatment--orthodontics03 .orthodontics-type__box {
  margin-bottom: 35px;
}
.p-treatment--orthodontics03 .orthodontics-type__box:last-child {
  margin-bottom: 0;
}
.p-treatment--orthodontics03 .orthodontics-type__boxTitle {
  margin-bottom: 15px;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  background: rgba(88, 85, 93, 0.7);
  color: #fff;
  padding: 10px 30px;
  line-height: 1.5;
}
.p-treatment--orthodontics03 .orthodontics-type__boxText {
  font-size: 1.5rem;
  line-height: 1.866;
}
.p-treatment--orthodontics03 .orthodontics-type__button {
  text-align: right;
  margin-top: 50px;
}
.p-treatment--orthodontics03 .orthodontics-type__button .c-button01 {
  width: 320px;
}

@media only screen and (max-width: 767px) {
  .p-treatment--orthodontics03 .orthodontics-type {
    margin-bottom: 90px;
  }
  .p-treatment--orthodontics03 .orthodontics-type__title {
    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .p-treatment--orthodontics03 .orthodontics-type__lead {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.866;
    margin-bottom: 40px;
  }
  .p-treatment--orthodontics03 .orthodontics-type__box {
    margin-bottom: 40px;
  }
  .p-treatment--orthodontics03 .orthodontics-type__boxTitle {
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
  .p-treatment--orthodontics03 .orthodontics-type__button {
    margin-top: 0;
    text-align: center;
  }
  .p-treatment--orthodontics03 .orthodontics-type__button .c-button01 {
    width: 280px;
  }
}
.p-treatment--orthodontics04 .orthodontics-merit {
  margin-bottom: 100px;
}
.p-treatment--orthodontics04 .orthodontics-merit:last-child {
  margin-bottom: 0;
}
.p-treatment--orthodontics04 .orthodontics-merit__title {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.2em;
  background: rgba(88, 85, 93, 0.7);
  padding: 10px 1em;
  margin-bottom: 60px;
}
.p-treatment--orthodontics04 .orthodontics-merit__list {
  display: flex;
  justify-content: space-between;
}
.p-treatment--orthodontics04 .orthodontics-merit__item {
  width: 47%;
}
.p-treatment--orthodontics04 .orthodontics-merit__itemImage {
  margin-bottom: 30px;
}
.p-treatment--orthodontics04 .orthodontics-merit__itemText ul li {
  position: relative;
  padding-left: calc(1em + 6px);
  font-size: 1.6rem;
  line-height: 1.75;
}
.p-treatment--orthodontics04 .orthodontics-merit__itemText ul li:before {
  content: "◎";
  position: absolute;
  left: 0;
  top: 0;
}

@media only screen and (max-width: 767px) {
  .p-treatment--orthodontics04 .orthodontics-merit {
    margin-bottom: 70px;
  }
  .p-treatment--orthodontics04 .orthodontics-merit__title {
    font-size: 1.6rem;
    margin-bottom: 35px;
  }
  .p-treatment--orthodontics04 .orthodontics-merit__list {
    display: block;
  }
  .p-treatment--orthodontics04 .orthodontics-merit__item {
    width: 100%;
    margin-bottom: 50px;
  }
  .p-treatment--orthodontics04 .orthodontics-merit__item:last-child {
    margin-bottom: 0;
  }
  .p-treatment--orthodontics04 .orthodontics-merit__itemText ul li {
    font-size: 1.5rem;
  }
}