@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;600&display=swap");
html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.1rem;
  color: #1a1a1a;
  /* pointer-events: none; */
}

a {
  color: #1a1a1a;
  text-decoration: none;
}

b {
  font-weight: 600;
}

img {
  max-width: 100%;
}

.eng {
  font-family: "Libre Baskerville", serif;
}

.container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding: 100px 1rem;
}

.container2 {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding: 100px 1rem;
}

.tbl01 {
  width: 100%;
}
.tbl01 th, .tbl01 td {
  padding: 0.5rem;
}
.tbl01 th {
  border-bottom: 1px solid #1a1a1a;
}
.tbl01 td {
  border-bottom: 1px solid #f5f5f5;
}

.bg_main {
  background: linear-gradient(0deg, rgba(26, 26, 26, 0.8), rgba(26, 26, 26, 0.8)), url(../img/bg_main.jpg) no-repeat center/cover;
}

.bg_white {
  background: #fcfdfe;
}

.h_ttl span {
  display: block;
  font-size: 1.5rem;
}
.h_ttl.white {
  color: #fcfdfe;
}

.h_ttl_box {
  padding: 1rem;
  padding-left: 2rem;
  margin-bottom: 1rem;
  background: #1a1a1a;
  color: #fcfdfe;
  font-weight: 600;
  position: relative;
}
.h_ttl_box::before {
  content: "";
  display: block;
  width: 4px;
  height: 1.5rem;
  background: #fcfdfe;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}

/*--------------------
header
--------------------*/
header {
  width: 100%;
  position: relative;
  z-index: 99;
}

.header {
  padding: 1.2rem 1rem;
  background: linear-gradient(311deg, #a3ebff 0%, #c6d8ff 100%);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.h_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.h_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0;
}
.h_nav ul li a {
  display: block;
  padding: 1rem;
  font-size: 0.875rem;
}
.h_nav ul li a.current {
  background: linear-gradient(311deg, #a3ebff 0%, #c6d8ff 100%);
  color: #fcfdfe;
}

#logo {
  width: 300px;
  transition: 0.3s ease-in-out;
}

.fixed #logo {
  opacity: 1;
}

.sp_logo {
  display: none;
}

.sp_c_btn {
  display: none;
}

.btm_nav_list {
  display: none;
}

.nav_wrap {
  width: calc(100% - 320px);
  max-width: 100%;
}

nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
nav ul li a {
  display: block;
  padding: 0 1rem;
  color: #fcfdfe;
  text-align: center;
  font-size: 0.875rem;
}
nav ul li a span {
  display: block;
}

#navi_toggle {
  display: none;
}

.anchor_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.anchor_list li {
  width: 19%;
}
.anchor_list li a {
  display: block;
  padding: 0.5rem 1rem;
  border: 1px solid #fcfdfe;
  color: #fcfdfe;
  text-align: center;
  position: relative;
}
.anchor_list li 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;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

/*--------------------
footer
--------------------*/
footer {
  background: #283660;
}

.f_logo {
  width: 300px;
}
.f_logo a {
  display: block;
}
.f_logo a img {
  width: 100%;
}

.f_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 60px 0;
}
.f_nav li {
  width: 20%;
  text-align: center;
}
.f_nav li a {
  color: #fcfdfe;
}

.footer-top {
  padding: 1rem;
  border-bottom: 1px solid #f0edea;
}

.footer-main {
  display: flex;
  flex-wrap: wrap;
  padding: 1.8rem 1rem;
}

.footer-main .footer-main__quarter-block {
  display: none;
  width: 23%;
  padding: 0 1.2rem;
}

@media (min-width: 992px) {
  .footer-main .footer-main__quarter-block {
    display: block;
    border-left: 1px solid #f0edea;
  }
}
@media (min-width: 1366px) {
  .footer-main .footer-main__quarter-block {
    padding: 0 1.8rem;
  }
}
.footer-main .footer-main__quarter-block:first-of-type {
  display: block;
  width: 100%;
  padding: 0;
  border-left: none;
}

@media (min-width: 992px) {
  .footer-main .footer-main__quarter-block:first-of-type {
    width: 31%;
    padding-right: 1.2rem;
  }
}
.footer-main .footer-main__address {
  margin-bottom: 0.6rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #fff;
}

.footer-main .footer-main__tel {
  margin-bottom: -0.2rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
}

.footer-main .footer-main__business-hour {
  margin-bottom: 0.6rem;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #fff;
}

.footer-main .footer-main__moderate-link {
  font-size: 0.75rem;
  font-weight: 400;
  color: #f0edea;
}

@media (min-width: 576px) {
  .footer-main .footer-main__moderate-link {
    display: none;
  }
}
.footer-main .footer-main__link {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #f0edea;
}

.footer-main .footer-main__link:hover {
  text-decoration: underline;
}

.contact_wrap {
  background: #19254d;
}

.content_ttl {
  background: #283660;
  padding: 1.4rem 0;
  text-align: center;
}
.content_ttl h2 {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  font-size: 1.5rem;
  color: #f0edea;
  font-family: "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
}

.contact_btn_wrap {
  padding: 4rem 0;
  text-align: center;
}
.contact_btn_wrap p {
  color: #f0edea;
}
.contact_btn_wrap p:first-child {
  font-size: 1.25rem;
}
.contact_btn_wrap .c_btn {
  margin: 2rem 0;
}
.contact_btn_wrap .c_btn a {
  display: inline-block;
  width: 200px;
  padding: 1rem 0;
  background: #f0edea;
}

.copyright {
  padding: 1rem;
  color: #f0edea;
  font-size: 0.75rem;
  background: #19254d;
}
.copyright a {
  color: #f0edea;
}

/*--------------------
ボタン
--------------------*/
.btn01 {
  text-align: center;
}
.btn01 a {
  display: inline-block;
  width: 280px;
  font-size: 0.875rem;
  padding: 1rem 3.5rem 1rem 1rem;
  background: #19254d;
  color: #f0edea;
  position: relative;
}
.btn01 a::after {
  content: url(../img/btn_arw2.svg);
  width: 1.5rem;
  position: absolute;
  top: 45%;
  right: 1.5rem;
  transform: translateY(-50%);
  transition: 0.5s ease-in-out;
}
.btn01 a:hover::after {
  right: 1rem;
}

.btn02 a {
  display: inline-block;
  width: 180px;
  font-size: 0.875rem;
  padding: 1rem 3.5rem 1rem 1rem;
  border-bottom: 1px solid #19254d;
  color: #19254d;
  position: relative;
}
.btn02 a::after {
  content: url(../img/btn_arw.svg);
  width: 1.5rem;
  position: absolute;
  top: 45%;
  right: 1rem;
  transform: translateY(-50%);
  transition: 0.5s ease-in-out;
}
.btn02 a:hover::after {
  right: 0;
}

/*--------------------
TOP
--------------------*/
.first-view {
  height: max(100vh - 158px, 560px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

@media (min-width: 992px) {
  .first-view {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
}
.first-view .first-view__brief-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0.8rem;
  text-align: center;
  transition-property: opacity;
  transition-delay: 0.5s;
  transition-duration: 0.3s;
}

.first-view .first-view__brief-title {
  position: relative;
  padding-bottom: 2.5rem;
  margin-bottom: 0.8rem;
  font-size: 1.3125rem;
  color: #fff;
}

.first-view .first-view__brief-title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 44px;
  height: auto;
  transform: translateX(-50%);
  content: url(../img/btn_arw2.svg);
}

.first-view .first-view__brief-sub-title {
  display: block;
  margin-top: 0.4rem;
  line-height: 1.6em;
  font-size: 0.625rem;
  color: #fff;
}

.first-view .first-view__item {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
}

.first-view .first-view__item::before {
  position: absolute;
  background: inherit;
  content: "";
}

.first-view .first-view__item.first-view__item--clinic {
  background-image: url(../img/top/bg-fv-clinic-sp.jpg);
}

@media (min-width: 768px) {
  .first-view .first-view__item.first-view__item--clinic {
    background-image: url(../img/top/bg-fv-clinic.jpg);
    transform: skew(0deg, 0deg);
    filter: drop-shadow(0px 1px 1px #ccc);
  }
}
.first-view .first-view__item.first-view__item--clinic.first-view__item--hover {
  background-position: left center;
}

.first-view .first-view__item.first-view__item--cpc {
  background-image: url(../img/top/bg-fv-cpc-sp.jpg);
}

@media (min-width: 768px) {
  .first-view .first-view__item.first-view__item--cpc {
    background-image: url(../img/top/bg-fv-cpc.jpg);
    transform: skew(0deg, 0deg);
    filter: drop-shadow(0px 1px 1px #ccc);
  }
}
.first-view .first-view__item.first-view__item--cpc.first-view__item--hover {
  background-position: center;
}

.first-view .first-view__item.first-view__item--rehabilitation {
  background-image: url(../img/top/bg-fv-rehabilitation-sp.jpg);
}

@media (min-width: 768px) {
  .first-view .first-view__item.first-view__item--rehabilitation {
    background-image: url(../img/top/bg-fv-rehabilitation.jpg);
    transform: skew(0deg, 0deg);
    filter: drop-shadow(0px 1px 1px #ccc);
  }
}
.first-view .first-view__item.first-view__item--rehabilitation.first-view__item--hover {
  background-position: right center;
}

.first-view .first-view__item--hover {
  position: relative;
  display: none;
  width: 33.3333333333%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: width;
  -webkit-transition: width 0.5s;
  transition: width 0.5s;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 0;
  overflow: hidden;
}

@media (min-width: 992px) {
  .first-view .first-view__item--hover {
    display: block;
  }
}
.first-view .first-view__item--hover::before {
  top: -10px;
  bottom: -10px;
  left: -10px;
  right: -10px;
  z-index: -1;
  -webkit-filter: blur(0) brightness(75%);
  filter: blur(0) brightness(75%);
  -webkit-transition: -webkit-filter 0.5s;
  transition: -webkit-filter 0.5s;
  transition: filter 0.5s;
  transition: filter 0.5s, -webkit-filter 0.5s;
}

.first-view .first-view__item--hover.first-view__item--clinic {
  background-position: left center;
}

.first-view .first-view__item--hover.first-view__item--cpc {
  background-position: center;
}

.first-view .first-view__item--hover.first-view__item--rehabilitation {
  background-position: right center;
}

.first-view .first-view__item--hover .first-view__detail-wrapper {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.first-view .first-view__item--hover .first-view__detail-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0.5rem;
  text-align: center;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.first-view .first-view__item--hover .first-view__detail-main-title {
  font-size: 1.75rem;
  margin-bottom: 1.2rem;
}

.first-view .first-view__item--hover .first-view__detail-sub-title {
  display: block;
  margin-top: 0.2rem;
  line-height: 1.6em;
  font-size: 0.75rem;
}

.first-view .first-view__item--hover .first-view__detail-text {
  max-width: 400px;
  margin: 0 auto 2rem;
  font-size: 0.875rem;
  text-align: justify;
}

.first-view .first-view__item--hover:hover {
  width: 66.6666666667%;
}

.first-view .first-view__item--hover:hover::before {
  -webkit-filter: blur(10px) brightness(115%);
  filter: blur(10px) brightness(115%);
}

.first-view .first-view__item--hover:hover .first-view__brief-content {
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
}

.first-view .first-view__item--hover:hover .first-view__detail-wrapper {
  background-color: rgba(255, 255, 255, 0.75);
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

.first-view .first-view__item--hover:hover .first-view__detail-content {
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.first-view .first-view__item--link {
  display: block;
  width: 100%;
  height: calc(100% - 3px);
  background-position: center;
}
@media (max-width: 992px) {
  .first-view .first-view__item--link {
    height: auto;
  }
}

@media (min-width: 992px) {
  .first-view .first-view__item--link {
    display: none;
  }
}
.first-view .first-view__item--link::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-filter: brightness(75%);
  filter: brightness(75%);
}

/*--------------------
firstview end
--------------------*/
.greet_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  padding-top: 80px;
}
.greet_wrap .greet_txt {
  width: 50%;
  padding: 0 50px;
  padding-right: calc((100% - 1200px) / 2);
}
.greet_wrap .greet_txt > p {
  margin-bottom: 2rem;
}
.greet_wrap .greet_txt h2 {
  color: #19254d;
  padding-left: 0.5rem;
  border-left: 2px solid #19254d;
  margin-bottom: 2rem;
}
.greet_wrap .greet_txt h2 span {
  font-size: 0.875rem;
}
.greet_wrap .greet_txt h2 p {
  font-size: 1.5rem;
  font-family: "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 600;
}
.greet_wrap .greet_txt h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.greet_wrap .greet_img {
  width: 50%;
}

.top_news {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.top_news h2 {
  color: #19254d;
  padding-left: 0.5rem;
  border-left: 2px solid #19254d;
  margin-bottom: 2rem;
}
.top_news h2 span {
  font-size: 0.875rem;
}
.top_news h2 p {
  font-size: 1.5rem;
  font-family: "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 600;
}
.top_news .news_list_wrap {
  width: 100%;
}
.top_news .news_list_wrap ul li {
  width: 100%;
  background: #f0edea;
  padding: 1.4rem 2.4rem;
}
.top_news .news_list_wrap ul li .news_date {
  display: inline-block;
  margin-right: 2rem;
  font-size: 0.875rem;
  color: #19254d;
}
.top_news .news_list_wrap ul li a {
  color: #19254d;
}

.top_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
.top_wrap .top_inner_l {
  width: 55%;
  position: relative;
  padding-left: 80px;
  padding-bottom: 60px;
}
.top_wrap .top_inner_r {
  width: 40%;
}
.top_wrap .image01 {
  width: 100%;
  margin-left: auto;
}
.top_wrap .image02 {
  width: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.top_wrap .top_txt {
  width: 100%;
  color: #fcfdfe;
  padding: 1rem;
}
.top_wrap .top_txt p {
  line-height: 2;
}
.top_wrap .top_title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.top_insta {
  margin-top: 60px;
}

.insta_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2rem;
}
.insta_list li {
  width: 32%;
}
.insta_list li a {
  display: block;
  width: 100%;
  position: relative;
}
.insta_list li a figure {
  width: 100%;
}
.insta_list li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.insta_list li a span {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: #fcfdfe;
  font-size: 1.25rem;
  line-height: 1;
}

.insta_btn {
  text-align: center;
}
.insta_btn a {
  display: inline-block;
  padding: 0.5rem 2rem;
  font-size: 1.5rem;
  background: #1a1a1a;
  color: #fcfdfe;
  box-shadow: 0 5px 10px -5px #1a1a1a;
  transition: 0.3s ease-in-out;
}
.insta_btn a:hover {
  box-shadow: 0 2px 2px -5px #1a1a1a;
}

.top_blog {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 60px;
}
.top_blog .blog_box {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2rem;
  background: #f5f5f5;
  position: relative;
}
.top_blog .blog_box:nth-of-type(3n) {
  margin-right: 0;
}
.top_blog .blog_box a {
  display: block;
  width: 100%;
}
.top_blog .blog_box .blog_date {
  display: inline-block;
  padding: 0.25rem 1rem;
  background: #1a1a1a;
  color: #fcfdfe;
  position: absolute;
  top: 0;
  left: 0;
}
.top_blog .blog_box .txt {
  padding: 1rem;
}

.link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.link_list li {
  width: 48%;
}
.link_list li a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.link_list li a h3 {
  background: #1a1a1a;
  writing-mode: vertical-rl;
  font-size: 1.25rem;
  padding: 1rem 0.5rem;
  color: #fcfdfe;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.access_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.access_wrap .access_inner_l {
  width: 48%;
}
.access_wrap .access_inner_r {
  width: 48%;
}
.access_wrap .access_title {
  margin-bottom: 2rem;
}
.access_wrap .tbl01 th {
  border-bottom: 1px solid #1a1a1a;
  text-align: left;
}
.access_wrap .tbl01 td {
  border-bottom: 1px solid #1a1a1a;
}

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

.google_map {
  width: 100%;
  height: 320px;
  vertical-align: bottom;
  filter: saturate(60%) brightness(104%);
}

/*--------------------
下層共通
--------------------*/
#page_title {
  width: 100%;
  position: relative;
}
#page_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(26, 26, 26, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#page_title figure {
  width: 100%;
  height: 360px;
}
#page_title figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page_title h2 {
  text-align: center;
  font-weight: 600;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  color: #fcfdfe;
}
#page_title h2 span {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  color: #fcfdfe;
}

/*--------------------
menu
--------------------*/
.menu_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
.menu_wrap .menu_inner_l {
  width: 55%;
  position: relative;
  padding-left: 80px;
  padding-bottom: 60px;
}
.menu_wrap .menu_inner_r {
  width: 40%;
}
.menu_wrap .image01 {
  width: 100%;
  margin-left: auto;
}
.menu_wrap .image02 {
  width: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.menu_wrap .menu_txt {
  width: 100%;
  padding: 1rem;
}
.menu_wrap .menu_txt p {
  line-height: 2;
}
.menu_wrap .menu_title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.menu_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.menu_list ul li {
  width: 48%;
  background: #f5f5f5;
  margin-bottom: 2rem;
}
.menu_list ul li .txt {
  padding: 1rem;
}
.menu_list ul li .menu_title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.menu_list ul li .menu_price {
  margin-top: 1rem;
  text-align: right;
  font-weight: 600;
}
.menu_list ul li .menu_price b {
  font-size: 1.125rem;
}

/*--------------------
appearance
--------------------*/
.gallery_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.gallery_list li {
  width: 48%;
  margin-bottom: 2rem;
  position: relative;
}
.gallery_list li .txt {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #1a1a1a;
  color: #fcfdfe;
  position: absolute;
  top: 0;
  left: 0;
}

/*--------------------
スマホ
--------------------*/
@media screen and (max-width: 992px) {
  .container {
    padding: 50px 1rem;
  }
  .container2 {
    padding: 50px 1rem;
  }
  #logo {
    width: 300px;
  }
  .h_nav .menu_list {
    width: 100%;
  }
    .h_nav .menu_list li a {
      padding: 0.7rem 0.3rem;
      font-size: 0.6rem;
  }
  .h_nav .contact_list {
    display: none;
  }
  .nav_wrap {
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
  }
  .nav_wrap nav {
    width: 100%;
    height: 100%;
    padding: 50px 1rem 1rem;
    background: #19254d;
  }
  .nav_wrap nav ul {
    display: block;
    margin-top: 2rem;
  }
  .nav_wrap nav ul li a {
    text-align: left;
    padding: 1rem;
    border-bottom: 1px solid #fcfdfe;
    position: relative;
  }
  .nav_wrap nav ul li a::after {
    content: url(../img/btn_arw2.svg);
    width: 1.5rem;
    position: absolute;
    top: 45%;
    right: 1.5rem;
    transform: translateY(-50%);
  }
  .sp_logo {
    display: block;
    width: 180px;
  }
  .nav_btm_wrap {
    width: 80%;
    margin: auto;
  }
  .sp_c_btn {
    display: block;
    margin-top: 1rem;
    text-align: center;
  }
  .sp_c_btn a {
    display: inline-block;
    width: 100%;
    padding: 1rem 0;
    background: #f0edea;
    color: #19254d;
  }
  .nav_access {
    color: #f0edea;
    margin-top: 1rem;
  }
  .nav_access a {
    color: #f0edea;
  }
  .btm_nav_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
  }
  .btm_nav_list a {
    color: #f0edea;
    font-size: 0.875rem;
  }
  #navi_toggle {
    display: block;
    width: 2rem;
    height: 1.75rem;
    position: fixed;
    top: 3.25rem;
    right: 1rem;
    z-index: 1;
  }
  #navi_toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fcfdfe;
    position: absolute;
    transition: 0.5s ease-in-out;
  }
  #navi_toggle span:nth-of-type(1) {
    top: 0;
    left: 0;
  }
  #navi_toggle span:nth-of-type(2) {
    top: 0.75rem;
    left: 0;
  }
  #navi_toggle span:nth-of-type(3) {
    top: 1.5rem;
    left: 0;
  }
  .open .nav_wrap {
    opacity: 1;
    visibility: visible;
  }
  .open #navi_toggle span:nth-of-type(1) {
    top: 1rem;
    transform: rotate(135deg);
  }
  .open #navi_toggle span:nth-of-type(2) {
    opacity: 0;
  }
  .open #navi_toggle span:nth-of-type(3) {
    top: 1rem;
    transform: rotate(-135deg);
  }
  .contact_btn_wrap p:first-child {
    font-size: 1rem;
  }
  .contact_btn_wrap p:last-child {
    font-size: 0.75rem;
  }
  .content_ttl h2 {
    font-size: 1.25rem;
  }
  .top_news .top_news_ttl {
    width: 100%;
    margin-bottom: 1rem;
  }
  .top_news .top_news_ttl p {
    font-size: 1.25rem;
  }
  .top_news .news_list_wrap {
    width: 100%;
  }
  .top_news .news_list_wrap ul li {
    padding: 1rem;
  }
  .top_news .news_list_wrap ul li .news_date {
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
  }
  .top_news .news_list_wrap ul li a {
    display: block;
  }
  .top_news .btn02 {
    margin-left: auto;
    margin-top: 1rem;
  }
  #mainvisual .top_slider {
    height: 65vh;
  }
  #mainvisual .top_slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .greet_wrap {
    padding-top: 40px;
  }
  .greet_wrap .greet_txt {
    width: 100%;
    padding: 2rem 1rem;
  }
  .greet_wrap .greet_txt h2 p {
    font-size: 1.25rem;
  }
  .greet_wrap .greet_img {
    width: 100%;
  }
}
.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 992px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6); /* 白色の半透明オーバーレイ */
  z-index: 9999; /* 他の要素より前面に表示 */
  pointer-events: none; /* クリックイベントを無効化 */
}

.overlay a{
color: #ccc;
font-weight: bold;
font-size: 3rem;
}

.open {
  margin: 20rem auto;
  text-align: center;
}

/* 追加 */

@media screen and (max-width: 1024px) {
  .container {
      width: 1200px;
      max-width: 100%;
      margin: auto;
      padding-top: 40px;
      padding-bottom: 40px;
      padding-left: 1rem;
      padding-right: 1rem;
  }

  .top_group .top_group_ttl .eng {
    font-size: 2rem;
}
.access_wrap .txt_area {
  width: 100%;
  margin-bottom: 1rem;
}
.access_ttl .eng {
  font-size: 2rem;
}
.access_ttl p {
  font-size: 1rem;
}
.access_wrap .txt_area .txt_top {
  margin-bottom: 1rem;
}
.access_wrap .txt_area .txt_top ul li {
  width: 100%;
}
.sp {
  display: block;
}
.access_wrap .map_area {
  width: 100%;
}

}

@media screen and (max-width: 1600px) {
  .container {
      width: 1200px;
      max-width: 100%;
      margin: auto;
      padding-top: 80px;
      padding-bottom: 80px;
      padding-left: 1rem;
      padding-right: 1rem;
  }
}

.container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}

.top_group .top_group_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 3rem;
}

.top_group .top_group_ttl p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
}

.gmap {
  padding-top: 33.3333333333%;
  position: relative;
}

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

.access_wrap {
  display: flex
;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.access_wrap .txt_area {
  width: 60%;
}

.access_ttl {
  margin-bottom: 2rem;
}

.access_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 3rem;
}

.access_ttl p {
  font-size: 1.5rem;
  font-weight: 600;
}

.access_wrap .txt_area .txt_top {
  margin-bottom: 1rem;
}

.access_wrap .txt_area .txt_top ul {
  display: flex
;
  flex-wrap: wrap;
  justify-content: space-between;
}

.access_wrap .txt_area .txt_top ul li {
  width: 49%;
}

.access_wrap .sub_ttl2 {
  margin-bottom: 0.5rem;
}

.sub_ttl2 {
  display: flex
;
  align-items: center;
  font-weight: 600;
}

.sub_ttl2::before {
  content: "";
  display: block;
  width: 2px;
  height: 1.25rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  margin-right: 0.5rem;
}

.access_wrap .sub_ttl2 {
  margin-bottom: 0.5rem;
}

.sub_ttl2 {
  display: flex
;
  align-items: center;
  font-weight: 600;
}

.access_wrap .txt_area .txt_btm h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.sp {
  display: none;
}

.access_wrap .txt_area .txt_btm p {
  margin-bottom: 0.5rem;
}

.access_wrap .map_area {
  width: 38%;
}

/* cpc */

.cpc-first-view {
  height: max(calc(100vh - 158px), 560px);
  position: relative;
  width: 100%;
  background-image: url(../img/cpc/bai.gif);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #8d8e90;
  margin-bottom: 57px
}

.cpc-first-view .cpc-first-view__heading {
  position: absolute;
  top: 43%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 1.2rem;
  margin-bottom: 0;
  font-size: 7.06vw;
  letter-spacing: .14em;
  line-height: 1.6em;
  color: #fff;
  text-align: center
}

@media (min-width:576px) {
  .cpc-first-view .cpc-first-view__heading {
      font-size: 2.5rem
  }
}

@media (min-width:992px) {
  .cpc-first-view .cpc-first-view__heading {
      font-size: 2.875rem
  }
}

.cpc-first-view .cpc-first-view__scroll-bar {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 2px;
  height: 114px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #146bc7));
  background: linear-gradient(#fff 50%, #146bc7 50% 100%)
}

.cpc-feature-section {
  padding-top: 57px
}

.centered-heading {
  font-size: 1.5rem;
  color: #146bc7;
  text-align: center
}

@media (min-width:768px) {
  .centered-heading {
      font-size: 2rem
  }
}

.centered-heading.centered-heading--black {
  color: #212121
}

.centered-heading .centered-heading__en {
  margin-bottom: .6rem;
  font-size: .75rem;
  line-height: 1.4em;
  text-transform: uppercase
}

@media (min-width:768px) {
  .centered-heading .centered-heading__en {
      font-size: .9375rem
  }
}

.centered-heading .centered-heading__en,
.font-garamond,
.full-width-bg-section .full-width-bg-section__en-title,
.left-justified-heading .left-justified-heading__en,
.news-list .news-list__date,
.numbered-list .numbered-list__item::before,
.page-header .page-header__en-title {
    font-family: 'EB Garamond', serif;
    font-weight: 500
}

.fee-initial-box .fee-initial-box__fee,
.fee-list-explain .fee-list-explain__price,
.font-fira-sans,
.tel-link .tel-link__number,
.tel-link-card .tel-link-card__number,
.tel-link.tel-link--lg .tel-link__number,
.tel-link.tel-link--xl .tel-link__number {
    font-family: 'Fira Sans Extra Condensed', sans-serif;
    font-weight: 500
}

.centered-heading,
.font-normal,
.labeled-heading .labeled-heading__label,
.news-list .news-list__title,
.section-desc {
    font-weight: 400
}

.about-copy-heading,
.btn-reservation .btn-reservation__right-text,
.down-arrow-list .down-arrow-list__text,
.encircled-text .encircled-text__main-text,
.faq-item .faq-item__question,
.fee-initial-box .fee-initial-box__at-one-time-per-treatment,
.fee-initial-box .fee-initial-box__regenerative-and-reha-item,
.fee-list-explain .fee-list-explain__discount-rate-label,
.fee-list-explain .fee-list-explain__plan,
.fee-list-table .fee-list-table__td,
.fee-list-table .fee-list-table__th,
.font-medium,
.full-width-bg-section .full-width-bg-section__title-wrapper,
.global-nav,
.labeled-heading .labeled-heading__title,
.left-justified-heading,
.program-intro-text,
.program-trial-box .program-trial-box__content-text,
.program-trial-box .program-trial-box__heading,
.reha-first-view .reha-first-view__sub-heading,
.reha-first-view .reha-first-view__text,
.rounded-card .rounded-card__title,
.site-nav .site-nav__plain-link-item,
.square-icon-heading,
.square-img-card .square-img-card__heading,
.tel-link .tel-link__label,
.tel-link-card .tel-link-card__number,
.tel-link-card .tel-link-card__top,
.vertically-card .vertically-card__heading {
    font-weight: 500
}

.btn-contact .btn-reservation__text,
.btn-reservation .btn-reservation__left-text,
.cpc-first-view .cpc-first-view__heading,
.fee-initial-box .fee-initial-box__fee-unit,
.font-semi-bold,
.numbered-list .numbered-list__item,
.reha-first-view .reha-first-view__main-heading {
    font-weight: 600
}

.half-bg-section {
  position: relative;
  padding-top: calc(3.6rem + 320px)
}

@media (min-width:992px) {
  .half-bg-section {
      padding-top: 4.8rem
  }
}

.half-bg-section.half-bg-section--lg-img-bottom {
  padding-top: 3.6rem;
  padding-bottom: 0
}

@media (min-width:992px) {
  .half-bg-section.half-bg-section--lg-img-bottom {
      padding-top: 4.8rem
  }
}

.half-bg-section .half-bg-section__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 320px;
  -o-object-fit: cover;
  object-fit: cover
}

@media (min-width:992px) {
  .half-bg-section .half-bg-section__img {
      width: 50%;
      height: 100%
  }
}

.half-bg-section .half-bg-section__img.half-bg-section__img--position-bottom {
  -o-object-position: bottom;
  object-position: bottom
}

.half-bg-section .half-bg-section__img.half-bg-section__img--position-left {
  -o-object-position: left;
  object-position: left
}

.half-bg-section .half-bg-section__content-wrapper {
  width: 100%
}

@media (min-width:992px) {
  .half-bg-section .half-bg-section__content-wrapper {
      width: 50%;
      margin-left: 50%;
      padding-left: 3.8rem
  }
}

.half-bg-section.half-bg-section--reverse .half-bg-section__img {
  left: unset;
  right: 0
}

@media (min-width:992px) {
  .half-bg-section.half-bg-section--reverse .half-bg-section__content-wrapper {
      margin-left: unset;
      padding-left: unset;
      margin-right: 50%;
      padding-right: 3.8rem
  }
}

.half-bg-section.half-bg-section--overlap {
  padding-top: 320px
}

@media (min-width:992px) {
  .half-bg-section.half-bg-section--overlap {
      padding-top: 2.6rem;
      padding-bottom: 2.6rem
  }
}

@media (min-width:992px) {
  .half-bg-section.half-bg-section--overlap .half-bg-section__img {
      width: 65%
  }
}

.half-bg-section.half-bg-section--overlap .half-bg-section__content-wrapper {
  position: relative;
  padding: 2rem 1.5rem;
  background-color: #fff
}

@media (min-width:576px) {
  .half-bg-section.half-bg-section--overlap .half-bg-section__content-wrapper {
      padding: 3rem
  }
}

@media (min-width:992px) {
  .half-bg-section.half-bg-section--overlap .half-bg-section__content-wrapper {
      width: 53%;
      margin-left: 47%;
      padding-left: 4rem;
      padding-right: 1rem
  }
}

.container.container--narrow {
  max-width: 760px
}

@media (min-width:992px) {
  .container.container--lg-wide {
      max-width: 1340px
  }
}

.half-bg-section {
  position: relative;
  padding-top: calc(3.6rem + 320px)
}

@media (min-width:992px) {
  .half-bg-section {
      padding-top: 4.8rem
  }
}

.section-desc {
  margin-bottom: 0;
  line-height: 1.75em;
  text-align: justify
}

.list-unstyled,
.numbered-list {
    padding-left: 0;
    list-style: none
}

.list-unstyled, .numbered-list {
  margin-bottom: 0;
}

.numbered-list {
  padding-top: 2rem;
  padding-bottom: 2rem;
  counter-reset: item;
}

.numbered-list .numbered-list__item {
  position: relative;
  padding-left: 3.2rem;
  color: #146bc7;
  border-left: 2px solid #146bc7;
}

.numbered-list .numbered-list__item::before {
  position: absolute;
  top: 50%;
  left: .8rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.625rem;
  counter-increment: item;
  content: counter(item) ".";
}

.numbered-list .numbered-list__item {
  position: relative;
  padding-left: 3.2rem;
  color: #146bc7;
  border-left: 2px solid #146bc7;
}

.numbered-list .numbered-list__item:not(:first-of-type) {
  margin-top: 2rem;
}

.numbered-list .numbered-list__item::before {
  position: absolute;
  top: 50%;
  left: .8rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.625rem;
  counter-increment: item;
  content: counter(item) ".";
}

.bg-light-gold {
  background: linear-gradient(62deg, #8fc7ff 0%, #e8eceb 100%);
}

@media (min-width: 992px) {
  .container.container--lg-wide {
      max-width: 1340px;
  }
}

.p-4 {
  padding: 2.1rem !important
}

.pt-4,
.py-4 {
  padding-top: 2.1rem !important
}

.pr-4,
.px-4 {
  padding-right: 2.1rem !important
}

.pb-4,
.py-4 {
  padding-bottom: 2.1rem !important
}

.pl-4,
.px-4 {
  padding-left: 2.1rem !important
}

.p-5 {
  padding: 4.2rem !important
}

.pt-5,
.py-5 {
  padding-top: 4.2rem !important
}

.pr-5,
.px-5 {
  padding-right: 4.2rem !important
}

.pb-5,
.py-5 {
  padding-bottom: 4.2rem !important
}

.pl-5,
.px-5 {
  padding-left: 4.2rem !important
}

.col-12 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}


.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.align-items-center {
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
}

.youtube {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}

.mb-4, .my-4 {
  margin-bottom: 2.1rem !important;
}

@media (min-width: 992px) {
  .mb-lg-0, .my-lg-0 {
      margin-bottom: 0 !important;
  }
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media (min-width: 992px) {
  .col-lg-6 {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%;
  }
}

.mb-2, .my-2 {
  margin-bottom: .7rem !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 992px) {
  .text-lg-left {
      text-align: left !important;
  }
}


.fsz-26 {
  font-size: 1.625rem !important;
}

.about-copy-heading, .border-left-heading, .btn-contact .btn-reservation__text, .btn-reservation .btn-reservation__left-text, .btn-reservation .btn-reservation__right-text.btn-reservation__right-text--sm, .centered-heading, .cpc-first-view .cpc-first-view__heading, .encircled-text .encircled-text__main-text, .facility-intro .facility-intro__text, .faq-item .faq-item__question, .fee-initial-box .fee-initial-box__regenerative-and-reha-item, .fee-list-explain .fee-list-explain__discount-rate-label, .fee-list-explain .fee-list-explain__plan, .fee-list-table .fee-list-table__th, .fee-trial-info-box .fee-trial-info-box__bordered-item, .first-view .first-view__brief-sub-title, .first-view .first-view__item--hover .first-view__detail-sub-title, .font-noto-serif, .full-width-bg-section .full-width-bg-section__title, .labeled-heading .labeled-heading__title, .left-justified-heading, .mobile-menu .mobile-menu__btn-link.mobile-menu__btn-link--contact, .mobile-menu .mobile-menu__btn-link.mobile-menu__btn-link--reservation, .page-header .page-header__title, .program-intro-text, .program-trial-box .program-trial-box__heading, .reha-first-view .reha-first-view__main-heading, .reha-first-view .reha-first-view__sub-heading, .rounded-card .rounded-card__title, .scroll-btn, .section-cta .section-cta__main-heading, .sitemap-heading, .square-icon-heading, .square-img-card .square-img-card__heading, .tel-link-card .tel-link-card__top, .vertically-card .vertically-card__heading, .vertically-card .vertically-card__staff-name-wrapper {
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
}

dl, ol, ul {
  margin-top: 0;
  margin-bottom: 1rem;
}

.mb-0, .my-0 {
  margin-bottom: 0 !important;
}

@media (min-width: 576px) {
  .container, .container-sm {
      max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container, .container-md, .container-sm {
      max-width: 720px;
  }
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto, .col-xxl, .col-xxl-1, .col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-auto {
  position: relative;
  width: 100%;
  padding-right: 1.2rem;
  padding-left: 1.2rem;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1.2rem;
  margin-left: -1.2rem;
}

.bg-white {
  background-color: #fff !important;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}


@media (min-width: 992px) {
  .section {
      padding-top: 4.8rem;
      padding-bottom: 4.8rem;
  }
}

.section {
  padding-top: 3.6rem;
  padding-bottom: 3.6rem;
}

.bg-gray {
  background-color: #eaf5f5;
}

.centered-heading, .font-normal, .labeled-heading .labeled-heading__label, .news-list .news-list__title, .section-desc {
  font-weight: 400;
}

.centered-heading {
  font-size: 1.5rem;
  color: #146bc7;
  text-align: center;
}

@media (min-width: 768px) {
  .centered-heading {
      font-size: 2rem;
  }
}

.centered-heading .centered-heading__en, .font-garamond, .full-width-bg-section .full-width-bg-section__en-title, .left-justified-heading .left-justified-heading__en, .news-list .news-list__date, .numbered-list .numbered-list__item::before, .page-header .page-header__en-title {
  font-family: 'EB Garamond', serif;
  font-weight: 500;
}

.centered-heading .centered-heading__en {
  margin-bottom: .6rem;
  font-size: .75rem;
  line-height: 1.4em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .centered-heading .centered-heading__en {
      font-size: .9375rem;
  }
}

.facility-intro {
  background-color: #fff;
}

.facility-intro .facility-intro__text {
  max-width: 720px;
  margin: 0 auto 1.4rem;
  line-height: 1.6em;
  font-size: 1rem;
}

@media (min-width: 768px) {
  .facility-intro .facility-intro__text {
      font-size: 1.125rem;
  }
}


@media (min-width: 992px) {
  .facility-intro .facility-intro__text {
      font-size: 1.25rem;
  }
}

@media (min-width: 992px) {
  .container, .container-lg, .container-md, .container-sm {
      max-width: 960px;
  }
}


@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
      max-width: 1140px;
  }
}

.mb-5, .my-5 {
  margin-bottom: 4.2rem !important;
}

.facility-list {
  padding-left: .3rem;
  max-width: 720px;
  margin: 0 auto;
}

.facility-list .facility-list__item {
  list-style-type: none;
  font-size: 1.1rem;
  line-height: 1.3em;
  margin-bottom: .5em;
}

.facility-list .facility-list__item::before {
  display: inline-block;
  content: '';
  width: .7em;
  height: .7em;
  background: #146bc7;
  border-radius: 50%;
  margin-right: .5em;
}


.small, small {
  font-size: 80%;
  font-weight: 400;
}

.vertical-overlap-item .vertical-overlap-item__img {
  position: relative;
  display: block;
  width: 90%;
  margin: 0 auto;
  z-index: 2;
}

@media (min-width: 768px) {
  .vertical-overlap-item .vertical-overlap-item__img {
      width: 100%;
      z-index: 1;
  }
}

.vertical-overlap-item .vertical-overlap-item__box {
  position: relative;
  margin: -4rem auto 0;
  padding: 6rem 1.8rem 2rem;
  background-color: #fff;
  z-index: 1;
}

@media (min-width: 768px) {
  .vertical-overlap-item .vertical-overlap-item__box {
      width: 90%;
      max-width: 1052px;
      margin: -6rem auto 0;
      padding: 2.4rem;
      z-index: 2;
  }
}

@media (min-width: 992px) {
  .vertical-overlap-item.vertical-overlap-item--lg-half .vertical-overlap-item__box {
      min-height: 250px;
      margin: -6rem auto 0;
  }
}

@media (min-width: 1200px) {
  .vertical-overlap-item.vertical-overlap-item--lg-half .vertical-overlap-item__box {
      min-height: 210px;
  }
}

@media (min-width: 992px) {
  .vertical-overlap-item.vertical-overlap-item--lg-horizontal {
      position: relative;
      padding: 5.2rem 0;
  }
}

@media (min-width: 992px) {
  .vertical-overlap-item.vertical-overlap-item--lg-horizontal .vertical-overlap-item__img {
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 65%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
  }
}

.vertical-overlap-item .vertical-overlap-item__box {
  position: relative;
  margin: -4rem auto 0;
  padding: 6rem 1.8rem 2rem;
  background-color: #fff;
  z-index: 1;
}

@media (min-width: 768px) {
  .vertical-overlap-item .vertical-overlap-item__box {
      width: 90%;
      max-width: 1052px;
      margin: -6rem auto 0;
      padding: 2.4rem;
      z-index: 2;
  }
}

@media (min-width: 992px) {
  .vertical-overlap-item.vertical-overlap-item--lg-horizontal .vertical-overlap-item__box {
      width: 47%;
      margin: 0 53% 0 0;
      padding: 3.8rem 3.2rem;
  }
}

.fsz-22 {
  font-size: 1.375rem !important;
}

@media (min-width: 992px) {
  .vertical-overlap-item.vertical-overlap-item--lg-horizontal-reverse .vertical-overlap-item__img {
      left: 0;
      right: unset;
  }
}

@media (min-width: 992px) {
  .vertical-overlap-item.vertical-overlap-item--lg-horizontal-reverse .vertical-overlap-item__box {
      margin: 0 0 0 53%;
  }
}

.mb-3, .my-3 {
  margin-bottom: 1.4rem !important;
}


.w-100 {
  width: 100% !important;
}

.fsz-26 {
  font-size: 1.625rem !important;
}

.d-inline-block {
  display: inline-block !important;
  text-shadow: 1px 1px 2px black;
}


.pt-5, .py-5 {
  padding-top: 4.2rem !important;
}

.container.container--narrow {
  max-width: 760px;
}

@media (min-width: 992px) {
  .vertically-card.vertically-card--lg-1clm {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex
;
  }
}

.vertically-card {
  height: 100%;
  background-color: #fff;
  border: 1px solid #dfdfdf;
}

.vertically-card .vertically-card__img {
  width: 100%;
  height: 280px;
  -o-object-fit: cover;
  object-fit: cover;
}

.vertically-card.vertically-card--lg-1clm .vertically-card__img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 992px) {
  .vertically-card.vertically-card--lg-1clm .vertically-card__img {
      width: 48%;
      height: auto;
  }
}

.vertically-card .vertically-card__text-wrapper {
  padding: 2rem 2.4rem;
}

.vertically-card .vertically-card__heading {
  font-size: 1.3125rem;
  text-align: center;
}

.fsz-15 {
  font-size: .9375rem !important;
}

.section-desc+.section-desc {
  margin-top: 1rem;
}

.bg-black {
  background-color: #212121;
}

.btn-youtube {
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  width: 100%;
  border: 1px solid #edcc93;
  padding: 1rem;
  color: #fff;
}


.btn-youtube.btn-youtube--lg {
  padding: 1.4rem 1rem;
}

@media (min-width: 576px) {
  .btn-youtube.btn-youtube--lg {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 1.4rem 6.6rem;
      color: #fff;
  }
}

.btn-youtube::after, .btn-youtube::before {
  position: absolute;
  top: 54%;
  width: 1.4rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.btn-youtube::before {
  left: 1.2rem;
  content: url(../images/_icons-logos/youtube.svg);
}

@media (min-width: 576px) {
  .btn-youtube.btn-youtube--lg::after, .btn-youtube.btn-youtube--lg::before {
      top: 56%;
      width: 1.8rem;
  }
}

@media (min-width: 576px) {
  .btn-youtube.btn-youtube--lg::before {
      left: 4.2rem;
  }
}

.fsz-18 {
  font-size: 1.125rem !important;
}

.d-none {
  display: none !important;
}

@media (min-width: 768px) {
  .d-md-inline-block {
      display: inline-block !important;
  }
}


.btn-youtube::after, .btn-youtube::before {
  position: absolute;
  top: 54%;
  width: 1.4rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.btn-youtube::after {
  right: 1.2rem;
  content: url(../images/_icons-logos/new-window-gold.svg);
}


@media (min-width: 576px) {
  .btn-youtube.btn-youtube--lg::after, .btn-youtube.btn-youtube--lg::before {
      top: 56%;
      width: 1.8rem;
  }
}

@media (min-width: 576px) {
  .btn-youtube.btn-youtube--lg::after {
      right: 3rem;
  }
}

.position-relative {
  position: relative !important;
}

@media (max-width: 576px) {
.cpc-feature-section {
  padding-top: 57px;
}

.container.container--narrow {
  max-width: 100%;
}

}

@media screen and (max-width: 1024px) {
  .container {
      width: 1200px;
      max-width: 100%;
      margin: auto;
      padding-top: 40px;
      padding-bottom: 40px;
      padding-left: 1rem;
      padding-right: 1rem;
  }
}

@media screen and (max-width: 992px) {
  .container {
      padding: 0 1rem;
  }
}







































