@charset "UTF-8";

@media (max-width: 767.98px) {
  .pc {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .footer .container {
    width: 87.2%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 767.98px) {
  .footer__main {
    padding: 40px 0 30px;
  }
}

@media (max-width: 767.98px) {
  .footer__logo {
    width: 194px;
  }
}

@media (max-width: 767.98px) {
  .footer__clinic {
    gap: 10px;
    margin-top: 30px;
  }
}

@media (max-width: 767.98px) {
  .footer__address {
    margin-top: 24px;
  }
}

@media (max-width: 767.98px) {
  .footer__map {
    display: block;
    margin-top: 6px;
  }
}

@media (max-width: 767.98px) {
  .footer__schedule {
    margin-top: 24px;
  }
}

@media (max-width: 767.98px) {
  .footer__schedule-head {
    height: 26px;
  }
}

@media (max-width: 767.98px) {
  .footer__schedule-row {
    height: 36px;
  }
}

@media (max-width: 767.98px) {
  .footer__open {
    width: 12px;
    height: 12px;
  }
}

@media (max-width: 767.98px) {
  .footer__star {
    font-size: 18px;
  }
}

@media (max-width: 767.98px) {
  .footer__hours {
    margin-top: 24px;
  }
}

@media (max-width: 767.98px) {
  .footer__privacy {
    margin-top: 28px;
  }
}

@media (max-width: 767.98px) {
  .footer__menu {
    margin-top: 30px;
  }
}

@media (max-width: 767.98px) {
  .footer__nav-list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767.98px) {
  .footer__recruit {
    height: 103px;
    margin-top: 28px;
  }
}

@media (max-width: 767.98px) {
  .footer__recruit-en {
    font-size: 10px;
  }
}

@media (max-width: 767.98px) {
  .footer__recruit-ja {
    font-size: 20px;
  }
}

@media (max-width: 767.98px) {
  .footer__recruit-icon {
    width: 31px;
    height: 31px;
  }
}

@media (max-width: 767.98px) {
  .footer__recruit-icon .footer__arrow {
    width: 10px;
    height: 10px;
  }
}

@media (max-width: 767.98px) {
  .footer__reserve {
    flex-direction: column;
    gap: 10px;
    margin-top: 28px;
  }
}

@media (max-width: 767.98px) {
  .footer__bottom {
    padding: 16px;
  }
}

@media (max-width: 767.98px) {
  main {
    padding-top: 65px;
  }
}

@media (max-width: 767.98px) {
  .header {
    height: 65px;
  }
}

@media (max-width: 767.98px) {
  .header__inner {
    padding: 0 8px 0 10px;
  }
}

@media (max-width: 767.98px) {
  .header__logo {
    width: 194px;
  }
}

@media (max-width: 767.98px) {
  .header__toggle {
    margin-left: auto;
  }
}

@media (max-width: 767.98px) {
  .menu__close:focus {
    top: 73px;
  }
}

@media (max-width: 767.98px) {
  .menu .container {
    width: 87.2%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 767.98px) {
  .menu__scroll {
    padding: 81px 0 72px;
  }
}

@media (max-width: 767.98px) {
  .menu__reserve {
    gap: 5px;
  }
}

@media (max-width: 767.98px) {
  .menu__btn {
    flex: 1;
    height: 60px;
    padding: 0 13px 0 18px;
    border-radius: 30px;
  }
}

@media (max-width: 767.98px) {
  .menu__col {
    margin-top: 40px;
  }
}

@media (max-width: 767.98px) {
  .menu__col+.menu__col {
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .menu__link {
    font-size: 18px;
  }
}

@media (max-width: 767.98px) {
  .menu__link+.menu__link {
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .menu__sub+.menu__link {
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .menu__sub {
    row-gap: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media (max-width: 767.98px) {
  .reserve {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .more-btn {
    height: 74px;
    padding: 0 26px;
  }
}

@media (max-width: 767.98px) {
  .page-header__band {
    height: 120px;
    margin: 0 12px;
    padding-left: calc(6.4vw - 12px);
  }
}

@media (max-width: 767.98px) {
  .page-header__band::before {
    left: -12px;
    width: min(32px, 6.4vw - 8px);
  }
}

@media (max-width: 767.98px) {
  .page-header__title {
    font-size: 22px;
    line-height: 32px;
  }
}

@media (max-width: 767.98px) {
  .page-header__breadcrumb {
    margin: 10px 16px 0;
  }
}

@media (max-width: 767.98px) {
  .news-archive {
    padding: 40px 0 80px;
  }
}

@media (max-width: 767.98px) {
  .news-archive .container {
    width: 87.2%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 767.98px) {
  .news-archive__link {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) auto;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 16px;
    padding: 22px 0;
  }
}

@media (max-width: 767.98px) {
  .news-archive__meta {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    gap: 10px;
  }
}

@media (max-width: 767.98px) {
  .news-archive__heading {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}

@media (max-width: 767.98px) {
  .news-archive__icon {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
  }
}

@media (max-width: 767.98px) {
  .news-archive__empty {
    padding: 30px 0;
    text-align: center;
  }
}

@media (max-width: 767.98px) {
  .news-single {
    padding: 26px 0 60px;
  }
}

@media (max-width: 767.98px) {
  .news-single .container {
    width: 92%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 767.98px) {
  .news-single__head {
    padding-bottom: 16px;
  }
}

@media (max-width: 767.98px) {
  .news-single__meta {
    gap: 10px;
  }
}

@media (max-width: 767.98px) {
  .news-single__title {
    padding-left: 16px;
    font-size: 20px;
    line-height: 30px;
  }
}

@media (max-width: 767.98px) {
  .news-single__title::before {
    top: 4px;
    bottom: 4px;
  }
}

@media (max-width: 767.98px) {
  .news-single__thumb {
    margin-top: 18px;
  }
}

@media (max-width: 767.98px) {
  .news-single__content {
    margin-top: 28px;
  }
}

@media (max-width: 767.98px) {
  .news-single__footer {
    margin-top: 40px;
    padding-top: 40px;
  }
}

@media (max-width: 767.98px) {
  .news-single__back {
    max-width: 280px;
  }
}

@media (max-width: 767.98px) {
  .news-single__content h2 {
    padding: 12px 16px 12px 22px;
    font-size: 18px;
    line-height: 27px;
  }
}

@media (max-width: 767.98px) {
  .news-single__content h2::before {
    top: 12px;
    bottom: 12px;
  }
}

@media (max-width: 767.98px) {
  .news-single__content h3 {
    padding-left: 18px;
    font-size: 17px;
    line-height: 26px;
  }
}

@media (max-width: 767.98px) {
  :root {
    --parts_margin: 32px;
  }

  .pic-slide,
  .review {
    padding: 1.25em;
  }

  .post-content .cite {
    padding: 3.2em 1.25em 1.25em;
  }

  .cite::before {
    font-size: 52px;
  }

  .cite .pic-full {
    width: 100%;
  }

  .pic-text {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .rel-posts-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .post-content .pic-slide-list li {
    flex-basis: calc((100% - 16px) / 2);
  }

  .pic-slide-list li:last-child::after {
    width: 1.25em;
  }

  .review {
    min-width: 90%;
  }

  .review .pic-text {
    grid-template-columns: 1fr;
  }

  .post-content .btn-cta a {
    min-width: 300px;
    min-height: 64px;
    padding: 0.9em 50px .9em 1.6em;
    font-size: 16px;
  }

  .post-content .btn-cta a::after {
    right: 14px;
    width: 26px;
  }

  .num-list-ttl,
  .rel-posts-ttl,
  .map-heading,
  .merit-ttl,
  .review-name,
  .speech {
    font-size: 16px;
  }

  .heading-sub,
  .heading-num {
    font-size: 16px;
  }

  .accordion-ttl {
    font-size: 16px;
  }

  .ranking-name {
    font-size: 17px;
  }
}

@media (max-width: 400px) {
  .rel-posts-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .news-archive .news-archive__link {
    display: flex;
    gap: 0;
    padding: 0;
  }
}

@media (max-width: 400px) {
  .news-archive .news-archive__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {

  .post-content .data-table th,
  .post-content .data-table td {
    padding: 10px 6px;
  }

  .post-content .data-table thead th {
    height: 40px;
  }

  .frame {
    padding: 16px 16px;
  }

  .frame-ttl {
    font-size: 16px;
    line-height: 1.6;
  }

  .frame--fill {
    padding: 16px 16px;
  }

  .conclusion-ttl {
    padding: 10px 1em 9px;
    font-size: 16px;
    line-height: 24px;
  }

  .conclusion-body {
    padding: 17px 17px 19px;
  }

  .aside-note {
    padding: 16px 14px;
  }

  .aside-note-ttl {
    padding-left: 33px;
  }

  .aside-note-ttl::before {
    top: calc(.5lh - 11px);
    width: 22px;
    aspect-ratio: 1 / 1;
  }

  .aside-note-body {
    padding-left: 0;
  }

  .anchor-nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .post-content .anchor-nav a {
    padding: 10px 26px;
    font-size: 15px;
  }

  .post-content .anchor-nav a::after {
    width: 26px;
    height: 25px;
    background-size: 8px;
  }

  .steps {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .steps::before {
    bottom: -32px;
    left: 43px;
  }

  .steps-no {
    font-size: 28px;
    line-height: 32px;
  }

  .steps-ttl {
    font-size: 16px;
  }
}

@media (max-width: 767.98px) {
  .news-single__content {
    font-size: 14px;
  }

  .news-single__content h4,
  .news-single__content h5,
  .news-single__content h6 {
    font-size: 16px;
  }
}

@media (max-width: 767.98px) {
  .research {
    padding: 18px 16px;
  }

  .post-content .num-list>li {
    padding: 16px;
  }

  .num-list-ttl {
    min-height: 46px;
    padding: max(0px, calc((46px - 1lh) / 2)) 0 max(0px, calc((46px - 1lh) / 2)) 60px;
  }

  .num-list-no {
    width: 46px;
    aspect-ratio: 1 / 1;
    font-size: 17px;
  }

  .qanda-q,
  .qanda-a {
    padding: 14px 16px 14px 45px;
  }

  .qanda-q-mark,
  .qanda-a-mark {
    left: 16px;
    font-size: 22px;
  }

  .post-content .tab-box-btn {
    font-size: 12px;
  }

  .map-heading {
    min-height: 32px;
    padding: max(0px, calc((32px - 1lh) / 2)) 0 max(0px, calc((32px - 1lh) / 2)) 42px;
  }

  .map-heading::before {
    width: 32px;
    aspect-ratio: 1 / 1;
    background-size: 16px;
  }
}