@charset "UTF-8";
.l-service .l-service__title, .l-column .l-column__title, .l-panel .l-panel__head, .c-title, .p-contact .p-contact__para, .p-message .p-message__inner h4, .p-greeting .p-greeting__copy, .p-features .p-features__copy, .p-facilities .p-facilities__title, .p-service .p-service__item, .p-intro .p-intro__copy, .p-slider .p-slider__title, .p-equip .p-equip__title, .p-emergency .p-emergency__name, .p-info .p-info__title, .check_item, .content_title, .p-intro.m-content .p-intro__body p, .p-service .p-service__title, .p-service .p-service__subtitle, .p-corporate .p-corporate__para, .p-info .p-info__subhead, .p-staff .p-staff__intro, .p-recruit .p-recruit__message, .p-slider .p-slider__para {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (max-width: 834px) {
  .p-intro.m-content .p-intro__body p, .p-service .p-service__title, .p-service .p-service__subtitle, .p-corporate .p-corporate__para, .p-info .p-info__subhead, .p-staff .p-staff__intro, .p-recruit .p-recruit__message, .p-slider .p-slider__para {
    word-break: normal;
    overflow-wrap: normal;
  }
}

/* --------------------------------------------------------- *
 *  modification
 * --------------------------------------------------------- */
img {
  image-rendering: auto;
}

/* nav */
.l-nav .l-nav__main {
  width: auto;
}

/* logo */
@media (max-width: 834px) {
  .l-logo {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
}

/* bread */
.l-bread .l-bread__current {
  flex: 1;
}
.l-bread .l-bread__list .is-parents > a {
  text-decoration: underline;
}

/* service */
/* column */
/* panel */
/* title */
.c-title__content {
  background-color: #fff;
}

/* paragraph */
.c-paragraph strong {
  color: var(--color-main01);
}

/* list */
.c-list {
  font-size: 1.4rem;
}
.c-list li {
  padding-left: 1em;
  text-indent: -1em;
}
.c-list li::before {
  color: var(--color-main01);
}
.c-list li > span {
  padding-left: 0;
  text-indent: 0;
}
.c-list--dotted li::before {
  color: inherit;
}
.c-list--default {
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .c-list--default {
    font-size: 1.4rem;
  }
}
.c-list--default li {
  text-indent: 0;
}
.c-list--default li::before {
  color: inherit;
}
.c-list--square li::before {
  content: "■";
}
.c-list--circle li::before {
  content: "●";
}
.c-list--star li::before {
  content: "★";
}
.c-list--dotted li::before {
  content: "・";
}
.c-list--note li::before {
  content: "※";
}

/* textlink */
.c-textlink {
  text-decoration: underline;
}

/* table */
.c-table__note {
  font-size: inherit;
}
.c-table__note li {
  padding-left: 0;
  text-indent: 0;
}
.c-table__note li::before {
  color: var(--color-sub02);
}

/* link */
@media (min-width: 835px) {
  .c-link:only-child {
    width: 100%;
    max-width: 750px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* --------------------------------------------------------- *
 *  header
 * --------------------------------------------------------- */
/* --------------------------------------------------------- *
 *  footer
 * --------------------------------------------------------- */
.c-clinic .c-clinic__name {
  width: 300px;
}
@media (max-width: 834px) {
  .c-clinic .c-clinic__name {
    width: 250px;
  }
}
.c-clinic .c-clinic__footerLogo:not(:has(+ .c-clinic__footerName)) {
  width: auto;
}

/* --------------------------------------------------------- *
 *  side
 * --------------------------------------------------------- */
.l-side__item:only-child {
  width: 100%;
}

/* --------------------------------------------------------- *
 *  top
 * --------------------------------------------------------- */
/* mv */
.p-top .p-top__copy {
  inset: auto auto 30% 2.5%;
  width: 40%;
  transform: none;
}
@media (max-width: 834px) {
  .p-top .p-top__copy {
    width: 97.5%;
    max-width: 500px;
  }
}
@media (max-width: 520px) {
  .p-top .p-top__copy {
    inset: auto 0 45% 0;
    margin: 0 auto;
  }
}
.p-top .p-top__copy::before {
  display: none;
}
.p-top .p-top__copy img {
  width: 100%;
  height: auto;
  object-fit: fill;
}

/* intro */
.p-intro__item:only-child {
  width: 100%;
  max-width: 750px;
}

.p-intro.m-content .p-intro__body p {
  text-align: center;
}
@media (max-width: 520px) {
  .p-intro.m-content .p-intro__body p {
    text-align: start;
  }
}
.p-intro.m-content .p-intro__body p span {
  display: inline-block;
}
@media (max-width: 520px) {
  .p-intro.m-content .p-intro__body p span {
    display: inline;
  }
}

/* news */
@media (max-width: 834px) {
  .p-news .p-news__body:not(:has(.p-news__bottom)) {
    padding-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .p-news .p-news__body:not(:has(.p-news__bottom)) {
    padding-bottom: 64px;
  }
}

/* contact */
@media (min-width: 835px) {
  .p-contact .p-contact__banner:has(.c-link:only-child) {
    flex-direction: column;
  }
}
@media (min-width: 835px) and (max-width: 1280px) {
  .p-contact .p-contact__banner:has(.c-link:only-child) {
    width: auto;
  }
}
.p-contact .c-link__main--web {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.p-contact .c-link__main--web p {
  flex: 1;
}

/* message */
/* greeting */
@media (max-width: 834px) {
  .p-greeting .p-greeting__title {
    font-size: 7rem;
  }
}
@media (max-width: 834px) {
  .p-greeting .p-greeting__cap {
    width: 90%;
  }
}

/* features */
/* services */
/* facilities */
/* --------------------------------------------------------- *
 *  services
 * --------------------------------------------------------- */
.p-service .p-service__item {
  position: relative;
  padding-left: 48px;
}
@media (max-width: 834px) {
  .p-service .p-service__item {
    padding-left: 28px;
  }
}
.p-service .p-service__item::before {
  position: absolute;
  inset: 0 auto 0 0;
  margin-top: auto;
  margin-bottom: auto;
}
.p-service .p-service__para ul {
  margin-top: 4rem;
}
.p-service .p-service__subtext:not(:first-child) {
  margin-top: 40px;
}
@media (max-width: 834px) {
  .p-service .p-service__subtext:not(:first-child) {
    margin-top: 20px;
  }
}
.p-service .p-service__subtitle {
  width: fit-content;
  padding: 4px 20px;
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  text-align: center;
  background-color: var(--color-main01);
  border-radius: 32px;
}
.p-service .p-service__subpara {
  padding: 10px 0;
}
.p-service .p-service__subpara p {
  margin-top: 0;
}

@media (max-width: 834px) {
  .p-corporate .p-corporate__para {
    text-align: start;
  }
}

/* --------------------------------------------------------- *
 *  staff
 * --------------------------------------------------------- */
@media (max-width: 834px) {
  .p-wrapper:not(:has(.p-recruit:last-child)) {
    --bg-image: none;
  }
}

.p-intro .p-intro__img:not(:has(+ .p-intro__text)) {
  padding-bottom: 56px;
}
.p-info .p-info__body {
  padding: 30px;
}
@media (min-width: 835px) {
  .p-info .p-info__body {
    padding: 25px 20px;
  }
}
.p-info .p-info__subbody {
  margin-top: 32px;
}
.p-info .p-info__subbody:first-child {
  margin-top: 0;
}
.p-info .p-info__subhead {
  width: fit-content;
  padding: 4px 20px;
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  text-align: center;
  background-color: var(--color-main01);
  border-radius: 32px;
}
.p-info .p-info__subhead + .p-info__list {
  margin-top: 12px;
}
.p-info .p-info__list {
  width: auto;
}

@media (max-width: 834px) {
  .p-staff .p-staff__intro {
    text-align: start;
  }
}
.p-staff .p-staff__intro figure figcaption {
  margin-top: 50px;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-staff .p-staff__intro figure figcaption {
    margin-top: 30px;
  }
}

.p-recruit .p-recruit__message {
  text-align: center;
}
@media (max-width: 834px) {
  .p-recruit .p-recruit__message {
    text-align: start;
  }
}
.p-recruit .p-recruit__message span {
  display: inline-block;
}
@media (max-width: 834px) {
  .p-recruit .p-recruit__message span {
    display: inline;
  }
}
.p-recruit .p-recruit__table .l-clinic__content {
  flex: 1;
}

/* --------------------------------------------------------- *
 *  facilities
 * --------------------------------------------------------- */
@media (max-width: 834px) {
  .p-slider .p-slider__title {
    width: min(450px, 90%);
  }
}
.p-slider .p-slider__para {
  text-align: center;
}
@media (max-width: 834px) {
  .p-slider .p-slider__para {
    text-align: start;
  }
}
.p-slider .p-slider__para span {
  display: inline-block;
}
@media (max-width: 834px) {
  .p-slider .p-slider__para span {
    display: inline;
  }
}
.p-slider .p-slider__text {
  padding: 0;
}

/* --------------------------------------------------------- *
 *  equipments
 * --------------------------------------------------------- */
.p-column .l-column:first-child {
  margin-top: 0;
}
@media (min-width: 769px) and (max-width: 834px) {
  .p-column .l-column:nth-child(2) {
    margin-top: 0;
  }
}
.p-column .l-column__text:only-child {
  width: auto;
}

.p-equip .p-equip__item:nth-last-child(2) {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .p-equip .p-equip__item:nth-last-child(2) {
    margin-bottom: 48px;
  }
}
.p-equip .p-equip__item:last-child {
  margin-bottom: 0;
}
/* --------------------------------------------------------- *
 *  access
 * --------------------------------------------------------- */
/* --------------------------------------------------------- *
 *  pattern
 * --------------------------------------------------------- */
.dotto_item {
  padding-left: 1em;
  text-indent: -1em;
}
.dotto_item::before {
  content: "・";
}
.dotto_item > span {
  padding-left: 0;
  text-indent: 0;
}

.check_item {
  position: relative;
  padding-left: 43px;
}
@media (max-width: 834px) {
  .check_item {
    padding-left: 28px;
  }
}
.check_item::before {
  position: absolute;
  inset: 0 auto 0 0;
  margin-top: auto;
  margin-bottom: auto;
}

.content_button {
  margin-top: 32px;
}

@media (max-width: 768px) {
  .l-section.content_4 .content_body .content_title {
    position: static;
  }
}
@media (max-width: 768px) {
  .l-section.content_4 .content_body .content_img {
    padding-top: 0;
  }
}
.l-section.content_7 .flow__body {
  margin-top: 0;
}
.l-section.content_7 .flow__text {
  padding-bottom: 50px;
}
@media (max-width: 768px) {
  .l-section.content_7 .flow__text {
    padding-bottom: 0;
  }
}

/*# sourceMappingURL=style.css.map */
