@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");
html,
body {
  font-size: 16px;
  line-height: 1.6;
  font-family: "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 400;
  letter-spacing: 0;
  color: #232323;
  background: #f5f0eb;
  letter-spacing: 0.1rem;
  font-feature-settings: "palt";
  word-break: break-all;
}

.eng_txt {
  word-break: break-all;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  color: inherit;
}

a {
  color: #232323;
  text-decoration: none;
  word-break: break-all;
}

.bold {
  font-weight: 600;
}

/*--------------------
共通コンテナ
--------------------*/
.container {
  width: calc(100% - 240px);
  padding: 100px 4rem;
  margin-left: auto;
}
.container.pd_t0 {
  padding-top: 0;
}
.container.pd_b0 {
  padding-bottom: 0;
}

.m_box {
  padding: 1rem;
}

.m_box2 {
  padding: 2rem;
}

.hr_line {
  margin: 1rem 0;
  border-top: 1px solid #ccc;
}

.relative {
  position: relative;
  z-index: 1;
}

.box_r {
  border-radius: 1rem;
}

.border {
  border: 4px solid #232323;
}

.gmap {
  width: 100%;
  padding-top: 33.3333333333%;
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

main,
footer,
section {
  position: relative;
}

/*--------------------
背景デザイン
--------------------*/
.bg_base {
  background: #0273b4;
}

.bg_sub {
  background: #71b9cb;
}

.bg_white {
  background: #fff;
}

.bg_black {
  background: #232323;
}

.bg_gray {
  background: #f4f4f4;
}

.bg_beige {
  background: #f5f0eb;
}

.bg_grad {
  background: linear-gradient(135deg, rgb(233.2417582418, 246.9010989011, 254.7582417582) 0%, rgb(187.6597938144, 221.8041237113, 230.3402061856) 100%);
}

.bg_half_l {
  position: relative;
}
.bg_half_l::before {
  content: "";
  display: block;
  width: 85%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(135deg, rgb(233.2417582418, 246.9010989011, 254.7582417582) 0%, rgb(187.6597938144, 221.8041237113, 230.3402061856) 100%);
}

.bg_border {
  border: 2px solid #0273b4;
}

.sdw {
  box-shadow: 0 5px 15px -5px rgba(35, 35, 35, 0.2);
}

/*--------------------
liデザイン
--------------------*/
.list_check li {
  padding-left: 1rem;
  position: relative;
}
.list_check li::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f00c";
  font-weight: 900;
  font-size: 1rem;
  font-weight: 600;
  color: #0273b4;
  position: absolute;
  top: 5px;
  left: 0;
}
.list_check li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.list_check.large li {
  font-size: 1.25rem;
}

.list_dot li {
  padding: 0.25rem 0;
  padding-left: 0.75rem;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.list_dot li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #71b9cb;
  position: absolute;
  top: 14px;
  left: 0;
}
.list_dot.small li {
  font-size: 0.75rem;
  border-bottom: 1px solid #f4f4f4;
}
.list_dot.small li::before {
  top: 12px;
}

.list_dot2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.list_dot2 li {
  padding: 0.25rem 0.5rem;
  padding-left: 1.125rem;
  margin-bottom: 0.5rem;
  margin-right: 0.5rem;
  background: #f5f0eb;
  position: relative;
}
.list_dot2 li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #71b9cb;
  position: absolute;
  top: 13px;
  left: 0.5rem;
}

.num_list {
  counter-reset: list-counter;
}
.num_list li {
  counter-increment: list-counter;
  position: relative;
  padding-left: calc(1rem + 8px);
  font-size: 1rem;
}
.num_list li:not(:last-of-type) {
  margin-bottom: 0.25rem;
}
.num_list li::before {
  content: counter(list-counter) ".";
  width: 1rem;
  position: absolute;
  left: 0;
  color: #0273b4;
  font-weight: 600;
  text-align: right;
}

/*--------------------
カラム共通CSS
--------------------*/
.reverse {
  flex-direction: row-reverse;
}

/*--------------------
共通見出し
--------------------*/
.m_text {
  font-size: 1.5rem;
}

.m_text2 {
  font-size: 1.25rem;
}

.marker_g {
  background: linear-gradient(transparent 65%, rgba(149, 193, 27, 0.5) 65%);
}

.marker_o {
  background: linear-gradient(transparent 65%, rgba(247, 138, 92, 0.5) 65%);
}

.marker_y {
  background: linear-gradient(transparent 65%, rgba(255, 236, 92, 0.5) 65%);
}

.eng {
  font-family: "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 600;
  letter-spacing: 0;
  letter-spacing: 0.25rem;
  color: #46321d;
}

.box_ttl {
  padding: 1rem;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 2rem;
}
.box_ttl span {
  display: inline-flex;
  align-items: center;
  font-size: 2.5rem;
  position: relative;
}
.box_ttl span::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 4px;
  background: #0273b4;
  margin: 0 1rem;
}
.box_ttl b {
  font-size: 1.25rem;
  font-weight: 600;
}

.line_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding: 1rem 0;
  border-top: 4px solid #0273b4;
  border-bottom: 4px solid #0273b4;
}

.sub_ttl {
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  font-weight: 600;
  border-left: 4px solid #46321d;
  position: relative;
}
.sub_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 50%;
  background: #232323;
  position: absolute;
  bottom: 0;
  left: -4px;
}

.mid_ttl {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #232323;
  font-size: 2rem;
  font-weight: 600;
  position: relative;
}
.mid_ttl::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #0273b4;
  position: absolute;
  bottom: -2px;
  left: 0;
}

/*--------------------
header
--------------------*/
header {
  width: 240px;
  height: 100%;
  padding: 1rem;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  transition: 0.3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}

.head_wrap {
  width: 100%;
}

#logo {
  padding: 1rem 0;
  filter: brightness(0) invert(1);
}

.nav_wrap {
  padding: 100px 1rem;
}
.nav_wrap nav {
  width: 100%;
}
.nav_wrap nav li a {
  display: inline-block;
  padding: 0.5rem;
  color: #fff;
  font-weight: 600;
}
.nav_wrap nav .head_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.nav_wrap nav .head_btn .new_btn,
.nav_wrap nav .head_btn .contact_btn {
  margin-left: 1.5rem;
}
.nav_wrap nav .head_btn .new_btn a,
.nav_wrap nav .head_btn .contact_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  color: #232323;
  font-weight: 600;
  transition: 0.3s ease;
}
.nav_wrap nav .head_btn .new_btn a::after,
.nav_wrap nav .head_btn .contact_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
.nav_wrap nav .head_btn .new_btn a {
  background: #8a439e;
}
.nav_wrap nav .head_btn .new_btn a:hover {
  background: rgba(138, 67, 158, 0.8);
}
.nav_wrap nav .head_btn .contact_btn a {
  background: #0273b4;
}
.nav_wrap nav .head_btn .contact_btn a:hover {
  background: rgba(2, 115, 180, 0.8);
}

.fixed {
  border-right: 1px solid rgba(35, 35, 35, 0.3);
  background: rgba(245, 240, 235, 0.8);
}
.fixed #logo {
  filter: brightness(0) invert(0);
}
.fixed .nav_wrap nav li a {
  color: #232323;
}

.is-subpage {
  border-right: 1px solid rgba(35, 35, 35, 0.3);
}
.is-subpage #logo {
  filter: brightness(0) invert(0);
}
.is-subpage .nav_wrap nav li a {
  color: #232323;
}

/*--------------------
メインビジュアル
--------------------*/
#mainvisual {
  width: 100%;
  position: relative;
}
#mainvisual::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(35, 35, 35, 0.2), rgba(35, 35, 35, 0.2));
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
#mainvisual .logos_image {
  text-align: center;
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.video_wrap {
  width: 25%;
  position: absolute;
  bottom: 4rem;
  right: 4rem;
  z-index: 1;
}
.video_wrap video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 5px 15px -5px rgba(35, 35, 35, 0.2);
  border-radius: 0.5rem;
}

/*--------------------
Slider
--------------------*/
.slide-media {
  position: relative;
  overflow: hidden;
}
.slide-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top_slide .slide-media {
  height: 800px;
}
.top_slide .slide-media img {
  transition: 3s;
}
.top_slide .swiper-slide {
  overflow: hidden;
}
.top_slide .swiper-slide[class*=-prev] .slide-media img {
  transform: translateX(80vw);
}
.top_slide .swiper-slide[class*=-next] .slide-media img {
  transform: translateX(-80vw);
}

#mainvisual .content-wrapper {
  width: calc(100% - 240px);
  margin-left: auto;
  padding: 0 4rem;
}
#mainvisual .content {
  height: -moz-max-content;
  height: max-content;
  margin: auto;
  pointer-events: none;
  position: absolute;
  bottom: 4rem;
  z-index: 3;
}
#mainvisual .content-title {
  color: #fff;
  font-size: 2rem;
}
#mainvisual .content-text {
  color: #fff;
  font-size: 1.25rem;
  margin: 1rem 0;
}
#mainvisual .content-button {
  color: #fff;
  font-size: 1.125rem;
  display: inline-block;
}
#mainvisual .content-button::before {
  content: "";
  display: inline-block;
  width: 6rem;
  height: 1px;
  margin: -2px 1.6rem 0 0;
  vertical-align: middle;
  background-color: currentColor;
}
#mainvisual .content.anm-started .content-button {
  pointer-events: auto;
}
#mainvisual .marker {
  position: relative;
  display: inline-block;
  clip-path: inset(0 100% 0 0);
}
#mainvisual .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
#mainvisual .anm-started .marker {
  animation: top_slide-marker 1s 0.5s both;
}
#mainvisual .anm-started .marker::after {
  animation: top_slide-markerBg 1s 0.5s both;
}
#mainvisual .anm-started .content-text .marker,
#mainvisual .anm-started .content-text .marker::after {
  animation-delay: 0.6s;
}
#mainvisual .anm-started .content-link .marker,
#mainvisual .anm-started .content-link .marker::after {
  animation-delay: 0.7s;
}
#mainvisual .anm-finished .marker {
  animation: top_slide-markerHide 0.5s both;
}
#mainvisual .anm-finished .marker::after {
  clip-path: inset(0 0 0 100%);
}
@keyframes top_slide-marker {
  60%, 100% {
    clip-path: inset(0);
  }
}
@keyframes top_slide-markerBg {
  60% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes top_slide-markerHide {
  0% {
    clip-path: inset(0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes top_slide-fraction {
  0%, 100% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    transform: translateY(110%);
    opacity: 0;
  }
}

/*--------------------
top_info
--------------------*/
#top_info h2 span {
  font-size: 2.5rem;
  font-weight: 600;
}
#top_info .info_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#top_info .info_wrap .info_body {
  width: calc(100% - 500px);
  padding: 1rem;
  border: 1px solid #232323;
}
#top_info .info_wrap .info_body .info_list li {
  padding-bottom: 1rem;
  border-bottom: 1px solid #232323;
}
#top_info .info_wrap .info_body .info_list li:not(:last-of-type) {
  margin-bottom: 1rem;
}
#top_info .info_wrap .info_body .info_list li span {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #232323;
  color: #fff;
  font-size: 0.75rem;
  margin-right: 1rem;
}
#top_info .info_wrap .info_body .info_list li a {
  display: block;
}

.link_btn a {
  display: inline-block;
  padding: 1rem 2.5rem;
  background: #f5f0eb;
  border: 1px solid #46321d;
  color: #46321d;
  font-size: 1.25rem;
  transition: 0.3s ease-in-out;
}
.link_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0da";
  font-weight: 900;
  margin-left: 1rem;
}
.link_btn a:hover {
  background: #232323;
  color: #fff;
}

/*--------------------
top1
--------------------*/
#top1 {
  background: linear-gradient(0deg, rgba(245, 240, 235, 0.8), rgba(245, 240, 235, 0.8)), url(../img/about_bg.jpg) no-repeat center/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 1;
}
#top1 h2 {
  margin-bottom: 2rem;
}
#top1 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#top1 .about_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  padding-bottom: 100px;
}
#top1 .about_wrap .about_img {
  width: 45%;
  border-radius: 0.5rem;
  position: relative;
  overflow: hidden;
}
#top1 .about_wrap .about_body {
  width: 50%;
}
#top1 .about_wrap .about_body .eng_txt {
  line-height: 2;
  margin-bottom: 2rem;
}
#top1 .about_wrap .about_body .eng_txt p {
  font-size: 1.25rem;
}
#top1 .about_wrap .about_body .eng_txt p + p {
  padding-top: 1rem;
}

/*--------------------
top2
--------------------*/
#top2 .big_ttl {
  background-image: linear-gradient(0deg, rgba(70, 50, 29, 0.8), rgba(70, 50, 29, 0.8)), url(../img/text_bg.jpg);
  -webkit-background-clip: text;
  background-clip: text;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  margin-bottom: 4rem;
  text-align: center;
}
#top2 .big_ttl span {
  display: inline-block;
  font-size: 8rem;
  font-weight: 600;
  color: transparent;
}
#top2 .record_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
  position: relative;
}
#top2 .record_wrap .record_img {
  width: 60%;
  border-radius: 0.5rem;
  overflow: hidden;
}
#top2 .record_wrap .record_body {
  width: 50%;
  padding: 4rem;
  background: rgba(255, 255, 255, 0.8);
  font-size: 1.5rem;
  line-height: 2;
  border-radius: 0.5rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#top2 .feature_ttl {
  text-align: center;
  margin-bottom: 4rem;
}
#top2 .feature_ttl span {
  font-size: 4rem;
  font-weight: 600;
}
#top2 .feature_ttl::after {
  content: "";
  display: block;
  width: 100px;
  height: 4px;
  margin: auto;
  background: #0273b4;
  border-radius: 1rem;
}
#top2 .feature_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#top2 .feature_wrap .feature_box {
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
}
#top2 .feature_wrap .feature_box .feature_body {
  padding: 2rem;
}
#top2 .feature_wrap .feature_box .feature_body h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0273b4;
  margin-bottom: 1rem;
}
#top2 .feature_wrap .feature_box .feature_img {
  position: relative;
}
#top2 .feature_wrap .feature_box .feature_img .feature_num {
  font-size: 7rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  opacity: 0.5;
  position: absolute;
  top: 2rem;
  left: 2rem;
}
#top2 .feature_wrap .feature_box:nth-of-type(1), #top2 .feature_wrap .feature_box:nth-of-type(2) {
  width: 48%;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 4rem;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_img {
  width: 48%;
  height: 100%;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_img figure {
  width: 100%;
  height: 100%;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_body {
  width: 48%;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_body dl dt {
  margin-bottom: 0.5rem;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_body dl:last-of-type {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #f5f0eb;
}
#top2 .feature_wrap .feature_box:nth-of-type(3) .feature_body p {
  margin-top: 2rem;
}

/*--------------------
top3
--------------------*/
#top3 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/marble.jpg) no-repeat center/cover;
}
#top3 h2 {
  margin-bottom: 2rem;
}
#top3 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#top3 .clinic_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 4rem;
}
#top3 .clinic_wrap .clinic_box {
  width: 48%;
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
}
#top3 .clinic_wrap .clinic_box .clinic_img {
  width: 100%;
}
#top3 .clinic_wrap .clinic_box .clinic_img figure img {
  width: 100%;
}
#top3 .clinic_wrap .clinic_box .clinic_body {
  width: 100%;
  padding: 1rem;
}
#top3 .clinic_wrap .clinic_box .clinic_body h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0273b4;
  margin-bottom: 1rem;
}
#top3 .link_btn {
  text-align: center;
}

/*--------------------
top4
--------------------*/
#top4 {
  background: #f4f4f4;
}
#top4 h2 {
  margin-bottom: 2rem;
}
#top4 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#top4 .cpc_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#top4 .cpc_wrap .cpc_img {
  width: 48%;
  border-radius: 0.5rem;
  overflow: hidden;
}
#top4 .cpc_wrap .cpc_body {
  width: 48%;
  font-size: 1.25rem;
}
#top4 .cpc_wrap .cpc_body ul {
  margin: 1rem 0;
}
#top4 .cpc_wrap .cpc_body ul li {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1.5rem;
  border-bottom: 1px solid #0273b4;
  font-size: 1.25rem;
}
#top4 .cpc_wrap .cpc_body ul li::before {
  font-size: 1.25rem;
}
#top4 .link_btn {
  margin-top: 2rem;
}

/*--------------------
top5
--------------------*/
#top5 h2 {
  margin-bottom: 2rem;
}
#top5 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#top5 .reha_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
#top5 .reha_wrap .reha_img {
  width: 48%;
  border-radius: 0.5rem;
  overflow: hidden;
}
#top5 .reha_wrap .reha_body {
  width: 48%;
  font-size: 1.25rem;
}
#top5 .reha_wrap .reha_body p + p {
  margin-top: 1rem;
}
#top5 .link_btn {
  margin-top: 2rem;
}

/*--------------------
下層共通
--------------------*/
#under_hero {
  background: #46321d;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
#under_hero .hero_img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#under_hero::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(70, 50, 29, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.under_header {
  width: calc(100% - 240px);
  padding: 100px 4rem;
  margin-left: auto;
}
.under_header h2 {
  font-size: 4rem;
  color: #fff;
  font-weight: 600;
  text-align: center;
}

/*--------------------
Aboutページ
--------------------*/
#about1 h2 {
  margin-bottom: 2rem;
}
#about1 h2 span {
  font-size: 4rem;
}
#about1 .mission_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#about1 .mission_wrap .mission_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 48%;
  margin-top: 2rem;
  position: relative;
}
#about1 .mission_wrap .mission_box .mission_img {
  width: 40%;
}
#about1 .mission_wrap .mission_box .mission_body {
  width: 60%;
  padding-left: 2rem;
  position: relative;
  z-index: 1;
}
#about1 .mission_wrap .mission_box .mission_body .mission_num {
  font-size: 4rem;
  opacity: 0.3;
  line-height: 1;
  position: absolute;
  top: -1rem;
  left: 1rem;
  z-index: -1;
}
#about1 .mission_wrap .mission_box .mission_body h3 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

#about2 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/marble.jpg) no-repeat center/cover;
}
#about2 h2 {
  margin-bottom: 2rem;
}
#about2 h2 span {
  font-size: 4rem;
}
#about2 .tbl {
  width: 100%;
  background: #fff;
  padding: 2rem;
  border-radius: 0.5rem;
}
#about2 .tbl table {
  width: 100%;
}
#about2 .tbl th, #about2 .tbl td {
  padding: 1rem;
  border-bottom: 1px solid #ccc;
}
#about2 .tbl th {
  width: 30%;
}
#about2 .tbl.v2 {
  margin-top: 2rem;
}

/*--------------------
Clinicページ
--------------------*/
#clinic1 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/marble.jpg) no-repeat center/cover;
}
#clinic1 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#clinic1 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#clinic1 .message_wrap {
  padding: 2rem;
  background: #fff;
}
#clinic1 .message_wrap .message_body h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
#clinic1 .message_wrap .message_body p + p {
  margin-top: 1rem;
}

#clinic2 .medical_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#clinic2 .medical_wrap .medical_box {
  width: 49%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
}
#clinic2 .medical_wrap .medical_box .medical_img {
  width: 40%;
}
#clinic2 .medical_wrap .medical_box .medical_body {
  width: 60%;
  padding: 1rem;
}
#clinic2 .medical_wrap .medical_box .medical_body h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0273b4;
  margin-bottom: 1rem;
}

/*--------------------
CPCページ
--------------------*/
#cpc1 h2 {
  margin-bottom: 2rem;
}
#cpc1 h2 span {
  font-size: 4rem;
}
#cpc1 .facility_wrap .facility_img {
  width: 100%;
}
#cpc1 .facility_wrap .facility_img img {
  width: 100%;
}
#cpc1 .facility_wrap .fasility_body {
  width: 65%;
  margin: -10rem auto 0;
  padding: 4rem;
  background: #fff;
  position: relative;
}
#cpc1 .facility_wrap .fasility_body p {
  margin-bottom: 1rem;
}

#cpc2 {
  background: #f4f4f4;
}
#cpc2 h2 {
  margin-bottom: 2rem;
}
#cpc2 h2 span {
  font-size: 4rem;
}
#cpc2 .quality_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#cpc2 .quality_wrap .quality_box {
  width: 48%;
}
#cpc2 .quality_wrap .quality_box .quality_img {
  width: 100%;
  margin-bottom: 1rem;
}
#cpc2 .quality_wrap .quality_box .quality_img img {
  width: 100%;
}

/*--------------------
REHAページ
--------------------*/
#reha1 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/marble.jpg) no-repeat center/cover;
}
#reha1 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#reha1 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#reha1 .reha_feature_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 4rem;
  background: #fff;
}
#reha1 .reha_feature_wrap .reha_feature_box {
  width: calc(50% - 120px);
  padding: 2rem;
}
#reha1 .reha_feature_wrap .reha_feature_box .reha_feature_img {
  width: 100%;
}
#reha1 .reha_feature_wrap .reha_feature_box .reha_feature_img img {
  width: 100%;
}
#reha1 .reha_feature_wrap .reha_feature_box .reha_feature_body {
  padding: 2rem;
  background: #fff;
}
#reha1 .reha_feature_wrap .reha_feature_box .reha_feature_body h3 {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}
#reha1 .reha_feature_wrap .reha_feature_box.silver {
  background: #dfdfdf;
}
#reha1 .reha_feature_wrap .reha_feature_box.gold {
  background: #ead4ae;
}
#reha1 .reha_feature_wrap .cross_img {
  width: 80px;
}

#reha2 .rehabilitation_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#reha2 .rehabilitation_wrap .rehabilitation_box {
  width: 30%;
  background: #fff;
}
#reha2 .rehabilitation_wrap .rehabilitation_box .rehabilitation_img {
  width: 100%;
}
#reha2 .rehabilitation_wrap .rehabilitation_box .rehabilitation_img img {
  width: 100%;
}
#reha2 .rehabilitation_wrap .rehabilitation_box .rehabilitation_body {
  padding: 1rem;
}

/*--------------------
CONTACTページ
--------------------*/
#contact1 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../img/marble.jpg) no-repeat center/cover;
}
#contact1 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#contact1 h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#contact1 .form_wrap {
  padding: 4rem;
  background: #f5f0eb;
}
#contact1 .form_wrap dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #232323;
}
#contact1 .form_wrap dl dt {
  width: 30%;
}
#contact1 .form_wrap dl dt span {
  display: block;
}
#contact1 .form_wrap dl dd {
  width: 70%;
}
#contact1 .form_wrap dl dd span {
  display: block;
}
#contact1 .form_wrap dl input, #contact1 .form_wrap dl textarea {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  border: 1px solid #f4f4f4;
  border-radius: 5px;
  background: #fff;
}
#contact1 .form_wrap .submit_btn {
  text-align: center;
}
#contact1 .form_wrap .submit_btn p {
  display: inline-block;
  padding: 0.5rem 2rem;
  background: #232323;
  color: #fff;
  font-size: 1.25rem;
}
#contact1 .form_wrap .submit_btn p::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f1d8";
  font-weight: 900;
  font-size: 1rem;
  margin-right: 0.25rem;
}
#contact1 .form_wrap .submit_btn input[type=submit] {
  display: inline-block;
  background: transparent;
  cursor: pointer;
}
#contact1 .form_wrap .wpcf7-spinner {
  display: none !important;
}

/*--------------------
CTA
--------------------*/
#cta {
  background: linear-gradient(0deg, rgba(70, 50, 29, 0.6), rgba(70, 50, 29, 0.6)), url(../img/cta_bg.jpg) no-repeat center/cover;
}
#cta h2 {
  margin-bottom: 2rem;
}
#cta h2 span {
  font-size: 4rem;
  font-weight: 600;
  color: #fff;
}
#cta .cta_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 70%;
  max-width: 100%;
  margin: auto;
  padding: 2rem 0;
}
#cta .cta_wrap .cta_body {
  width: 55%;
  color: #fff;
  font-size: 1.25rem;
}
#cta .cta_wrap .cta_img {
  width: 38%;
  border-radius: 0.5rem;
  overflow: hidden;
}
#cta .cta_wrap .cta_btn {
  margin-top: 2rem;
}
#cta .cta_wrap .cta_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  border: 1px solid #fff;
  color: #fff;
}
#cta .cta_wrap .cta_btn a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0e0";
  font-weight: 900;
  margin-right: 0.5rem;
}

/*--------------------
footer
--------------------*/
footer {
  background: #46321d;
}
footer .f_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
footer .f_wrap .f_box_l {
  width: 48%;
  color: #fff;
}
footer .f_wrap .f_box_l .f_logo {
  width: 240px;
  filter: brightness(0) invert(1);
  margin-bottom: 1rem;
}
footer .f_wrap .f_box_l p {
  font-size: 1.25rem;
}
footer .f_wrap .f_box_l address {
  font-style: normal;
}
footer .f_wrap .f_box_l nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
footer .f_wrap .f_box_l nav ul li {
  margin-right: 1rem;
}
footer .f_wrap .f_box_l nav ul li a {
  display: inline-block;
  padding: 1rem;
  border-bottom: 1px solid #fff;
  color: #fff;
}
footer .f_wrap .f_box_l nav ul li a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0da";
  font-weight: 900;
  margin-right: 0.5rem;
}
footer .f_wrap .f_box_l .as_wrap {
  margin-top: 4rem;
}
footer .f_wrap .f_box_l .as_wrap .as_logo {
  width: 200px;
  margin-bottom: 1rem;
}
footer .f_wrap .f_box_r {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 48%;
  padding: 2rem;
  background: #f5f0eb;
  border-radius: 0.5rem;
}
footer .f_wrap .f_box_r ul li:not(:last-of-type) {
  margin-bottom: 1.5rem;
}
footer .f_wrap .f_box_r ul li a {
  display: block;
}
footer .f_wrap .f_box_r .center_list li img {
  height: 2.5rem;
}
footer .f_wrap .f_box_r .clinic_list li img {
  height: 3rem;
}
footer .copyright {
  text-align: center;
  margin-top: 4rem;
  color: #fff;
}
footer .copyright a {
  color: #fff;
}

/*--------------------
separater
--------------------*/
.separate {
  background: linear-gradient(135deg, #f5f0eb, #fff, #f5f0eb);
  padding: 100px 0;
}

.wave_both {
  clip-path: url(#wave_both);
}

/*--------------------
メディアクエリ切り替えクラス
--------------------*/
.sp {
  display: none;
}

.pc {
  display: block;
}

.grecaptcha-badge {
  z-index: -999999;
}

.gt_switcher_wrapper {
  padding: 0.5rem 1rem;
  background: #f5f0eb;
}