@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Pinyon+Script&display=swap");
html,
body {
  font-size: 16px;
  letter-spacing: 0.1rem;
  line-height: 1.6;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #101b4d;
  background: #fcfdfe;
}

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

a {
  color: #101b4d;
  text-decoration: none;
}

table {
  width: 100%;
}
table td, table th {
  border: 1px solid #ccc;
  padding: 10px;
}

.link_btn a {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 5px;
}
.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: 5px;
}
.link_btn.ver2 a {
  background: #4d6ef5;
  color: #fcfdfe;
}

.link_txt a {
  color: #4d6ef5;
  text-decoration: underline;
}

.scrollbar {
  max-height: 210px;
  padding: 0 1rem;
  overflow-y: scroll;
  overflow-x: hidden;
}

.scrollbar::-webkit-scrollbar {
  overflow: hidden;
  width: 1px;
  background: #fafafa;
}

.scrollbar::-webkit-scrollbar:horizontal {
  height: 3px;
}

.scrollbar::-webkit-scrollbar-button {
  display: none;
}

.scrollbar::-webkit-scrollbar-piece {
  background: #cfcfcf;
}

.scrollbar::-webkit-scrollbar-piece:start {
  background: #cfcfcf;
}

.scrollbar::-webkit-scrollbar-thumb, .scrollbar::-webkit-scrollbar-corner {
  background: #101b4d;
}

.txt_color1 {
  color: #101b4d;
}

.txt_color2 {
  color: #c6cdff;
}

.txt_color3 {
  color: #a3ebff;
}

.txt_color4 {
  color: #4d6ef5;
}

.bold {
  font-weight: 600;
}

.marker_b {
  background: linear-gradient(transparent 65%, rgba(77, 110, 245, 0.3) 65%);
}

/*--------------------
スライダー
--------------------*/
.top_slide {
  position: relative;
}
.top_slide::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(252, 253, 254, 0.5) 0%, rgba(252, 253, 254, 0.8) 90%, #fcfdfe 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.top_slide .swiper-fade .swiper-slide {
  transition-property: opacity, transform !important;
  pointer-events: none;
}
.top_slide .swiper-fade .swiper-slide.swiper-slide-active {
  pointer-events: auto;
}
.top_slide .slide-media img {
  transition: 6s 1s ease-out;
}
.top_slide .slide-title {
  font-size: 4rem;
  font-weight: normal;
  line-height: 1.6;
  position: absolute;
  right: 8rem;
  bottom: 15%;
  margin-left: 16rem;
  text-align: right;
  color: #fff;
}
.top_slide .swiper-slide[class*=-active] .slide-media img {
  transition-delay: 0s;
  transform: scale(1.05);
}
.top_slide .swiper-slide[class*=-active] .slide-title {
  animation: slideFadeIn 2s 0.5s ease-in-out both;
}

/*--------------------
カラム共通CSS
--------------------*/
.flx_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.flx_box .flx_inner {
  width: 49%;
}
.flx_box .flx_inner2 {
  width: 60%;
}
.flx_box .flx_inner3 {
  width: 38%;
}
.flx_box .flx_inner4 {
  width: 70%;
}
.flx_box .flx_inner5 {
  width: 28%;
}
.flx_box .flx_inner6 {
  width: 78%;
}
.flx_box .flx_inner7 {
  width: 20%;
}
.flx_box img {
  width: 100%;
  border-radius: 5px;
}

.reverse {
  flex-direction: row-reverse;
}

/*--------------------
共通見出しCSS
--------------------*/
.big_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  position: relative;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.big_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.big_ttl span {
  display: block;
  font-size: 2rem;
  font-weight: 600;
}

.large_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.large_ttl::before, .large_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.large_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.large_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.large_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: block;
  font-size: 1rem;
}

.mid_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  position: relative;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid #101b4d;
}
.mid_ttl b {
  font-weight: 600;
  color: #4d6ef5;
}
.mid_ttl::before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  background: #4d6ef5;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.deco_ttl {
  font-size: 2rem;
  font-weight: 600;
  padding: 1rem 1rem 2rem;
  position: relative;
  z-index: 1;
}
.deco_ttl::before, .deco_ttl::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
}
.deco_ttl::before {
  width: 80px;
  height: 80px;
  background: #eff1ff;
  top: 0;
  left: 0;
}
.deco_ttl::after {
  width: 50px;
  height: 50px;
  background: #f0fcff;
  top: 50px;
  left: 50px;
}

.deco_ttl2 {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2rem;
}
.deco_ttl2 span {
  display: inline-block;
  font-size: 3rem;
  color: #ffe524;
  margin: 0 0.5rem;
}

.sub_ttl {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 600;
}
.sub_ttl::before {
  content: "";
  display: block;
  width: 1rem;
  height: 2px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  margin-right: 0.5rem;
}
.sub_ttl span {
  font-weight: 600;
}

.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;
}

.sub_ttl_small {
  display: flex;
  align-items: center;
  font-weight: 600;
}
.sub_ttl_small::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 2px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  margin-right: 0.25rem;
}

.box_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  padding: 0.25rem 1rem;
  margin-bottom: 1rem;
  background: #fafafa;
  position: relative;
}
.box_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: #4d6ef5;
  position: absolute;
  top: 0;
  left: 0;
}

.point_ico_ttl {
  padding: 1rem 0 2rem 4.5rem;
  font-size: 1.125rem;
  position: relative;
}
.point_ico_ttl span {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background: #4d6ef5;
  border-radius: 50%;
  color: #fcfdfe;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.2;
  position: absolute;
  top: 0;
  left: 0;
}
.point_ico_ttl span::before {
  display: block;
  content: "POINT";
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
}
.point_ico_ttl b {
  background: linear-gradient(transparent 70%, #a3ebff 70%);
}
.point_ico_ttl p {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 600;
}

.point_sub_ttl {
  font-weight: 600;
}
.point_sub_ttl span {
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  background: #4d6ef5;
  color: #fcfdfe;
  margin-right: 10px;
  border-radius: 5px;
}
.point_sub_ttl b {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-left: 5px;
}

.note_ttl {
  font-size: 2rem;
  font-weight: 600;
}
.note_ttl span {
  display: inline-block;
  padding: 0.5rem 1rem;
  line-height: 1;
  background: #4d6ef5;
  color: #fcfdfe;
  border-radius: 5px;
  margin-right: 10px;
}

.m_text {
  font-size: 1.5rem;
}
.m_text span {
  color: #4d6ef5;
  font-weight: 600;
}

.m_text2 {
  font-size: 1.25rem;
}
.m_text2 span {
  color: #4d6ef5;
  font-weight: 600;
}

.point_box {
  padding: 2rem;
  background: #4d6ef5;
  border: 1px solid #c6cdff;
  color: #fcfdfe;
  border-radius: 5px;
}
.point_box .point_ttl {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.25rem;
}

.box_bg {
  background: #fafafa;
}

.box_bg2 {
  background: #eff1ff;
}

.box_bg3 {
  background: #f0fcff;
}

.box_bg4 {
  background: #fdf7fa;
}

.base_bg {
  background: linear-gradient(rgba(16, 27, 77, 0.5) 0%, rgba(16, 27, 77, 0.5) 100%), url(../img/medical.jpg) no-repeat center/cover;
  margin-top: 100px;
}

.base_bg2 {
  background: linear-gradient(rgba(16, 27, 77, 0.7) 0%, rgba(16, 27, 77, 0.7) 100%), url(../img/stem_bg.jpg) no-repeat center/cover;
}

.base_bg3 {
  background: linear-gradient(rgba(198, 205, 255, 0.4) 0%, rgba(163, 235, 255, 0.4) 100%), url(../img/feature_bg.jpg) no-repeat center/cover;
}

.bg_stripe {
  background-color: #fcfdfe;
  background-image: repeating-linear-gradient(-45deg, #f4f5ff, #f4f5ff 7px, transparent 0, transparent 14px);
  border: 2px solid #f4f5ff;
}

.bg_stripe2 {
  background-color: #fcfdfe;
  background-image: repeating-linear-gradient(-45deg, #f0fcff, #f0fcff 7px, transparent 0, transparent 14px);
  border: 2px solid #f0fcff;
}

.bg_white {
  background: #fcfdfe;
}

.bg_black {
  background: #101b4d;
}

.bg_gray {
  position: relative;
  background-image: linear-gradient(23deg, rgba(202, 202, 202, 0.02) 0%, rgba(202, 202, 202, 0.02) 13%, transparent 13%, transparent 80%, rgba(11, 11, 11, 0.02) 80%, rgba(11, 11, 11, 0.02) 100%), linear-gradient(42deg, rgba(98, 98, 98, 0.02) 0%, rgba(98, 98, 98, 0.02) 36%, transparent 36%, transparent 77%, rgba(252, 252, 252, 0.02) 77%, rgba(252, 252, 252, 0.02) 100%), linear-gradient(286deg, rgba(173, 173, 173, 0.02) 0%, rgba(173, 173, 173, 0.02) 2%, transparent 2%, transparent 12%, rgba(59, 59, 59, 0.02) 12%, rgba(59, 59, 59, 0.02) 100%), linear-gradient(77deg, rgba(87, 87, 87, 0.02) 0%, rgba(87, 87, 87, 0.02) 18%, transparent 18%, transparent 55%, rgba(247, 247, 247, 0.02) 55%, rgba(247, 247, 247, 0.02) 100%), linear-gradient(90deg, #fcfdfe, #fcfdfe);
}

.bg_blue {
  position: relative;
  background-image: linear-gradient(23deg, rgb(51, 143, 213) 0%, rgb(51, 143, 213) 13%, transparent 13%, transparent 80%, rgb(40, 132, 204) 80%, rgb(40, 132, 204) 100%), linear-gradient(42deg, rgb(47, 160, 211) 0%, rgb(47, 160, 211) 36%, transparent 36%, transparent 77%, rgb(56, 115, 216) 77%, rgb(56, 115, 216) 100%), linear-gradient(286deg, rgb(48, 152, 211) 0%, rgb(48, 152, 211) 2%, transparent 2%, transparent 12%, rgb(64, 110, 196) 12%, rgb(64, 110, 196) 100%), linear-gradient(77deg, rgb(44, 167, 208) 0%, rgb(44, 167, 208) 18%, transparent 18%, transparent 55%, rgb(54, 127, 215) 55%, rgb(54, 127, 215) 100%), linear-gradient(90deg, white, white);
}

.bg_grad {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
}

.bg_grad2 {
  background: linear-gradient(to bottom, #c6cdff 0%, #a3ebff 100%);
}

.bg_half {
  position: relative;
  z-index: 1;
}
.bg_half::before, .bg_half::after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
}
.bg_half::before {
  left: 0;
  background: #c6cdff;
}
.bg_half::after {
  right: 0;
  background: #a3ebff;
}

.bg_half_top {
  position: relative;
  z-index: 1;
}
.bg_half_top::before {
  content: "";
  display: block;
  width: 100%;
  height: 60%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.bg_half_btm {
  position: relative;
  z-index: 1;
}
.bg_half_btm::before {
  content: "";
  display: block;
  width: 100%;
  height: 60%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.bg_half_btm.ver2::before {
  height: calc(100% - 200px);
  top: inherit;
  bottom: 0;
}

.bg_half_l {
  position: relative;
}
.bg_half_l::before {
  content: "";
  display: block;
  width: calc(100% - (100% - 1600px) / 2);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  background-size: 300% 300%;
  animation: GradietionAnimation 10s ease infinite;
}
.bg_half_l.top_mr {
  margin-top: 100px;
}

@keyframes GradietionAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.bg_dot {
  background-color: #fcfdfe;
  background-image: radial-gradient(circle, #e6f5f9 2px, transparent 2px), radial-gradient(circle, #e6f5f9 2px, transparent 2px);
  background-position: 0 0, 12px 24px;
  background-size: 24px 48px;
  position: relative;
  z-index: 1;
}
.bg_dot.ver2::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #fcfdfe 0%, rgba(252, 253, 254, 0) 50%, #fcfdfe 100%);
  position: absolute;
  z-index: -1;
}

.bg_border {
  border: 2px solid #4d6ef5;
}

.foot_contact {
  background: linear-gradient(rgba(252, 253, 254, 0.8) 0%, rgba(252, 253, 254, 0.6) 100%), url(../img/f_contact.jpg) no-repeat center/cover;
}

.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;
  margin-right: 5px;
}
.list_check li:not(:last-of-type) {
  margin-bottom: 0.25rem;
}
.list_check.large li {
  font-size: 1.25rem;
}

.list_check2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.list_check2 li {
  width: 48%;
}
.list_check2 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;
  margin-right: 5px;
}

.list_dot li {
  padding: 0.25rem 0;
  padding-left: 0.75rem;
  border-bottom: 1px solid #f1f1f1;
  position: relative;
}
.list_dot li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #4d6ef5;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  left: 0;
}
.list_dot.large li {
  font-size: 1.25rem;
}
.list_dot.large li::before {
  width: 8px;
  height: 8px;
  top: 16px;
}

.list_dot2 li {
  padding: 0.25rem 0;
  padding-left: 0.5rem;
  position: relative;
}
.list_dot2 li::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: #4d6ef5;
  border-radius: 50%;
  position: absolute;
  top: 1rem;
  left: 0;
}

.list_dot3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.list_dot3 li {
  padding: 0.25rem 1rem;
  padding-left: 1.25rem;
  margin-right: 1rem;
  margin-bottom: 1rem;
  background: #fafafa;
  border-radius: 2rem;
  position: relative;
}
.list_dot3 li::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: #4d6ef5;
  border-radius: 50%;
  position: absolute;
  top: 1rem;
  left: 0.75rem;
}
.list_dot3.center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin: 0 1rem;
}

.list_num li {
  padding-left: 1.5rem;
  position: relative;
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px dashed #ddd;
}
.list_num li .num {
  display: inline-block;
  font-size: 1.25rem;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #4d6ef5;
  position: absolute;
  top: 0;
  left: 0;
}

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

.box_list li {
  padding: 0.25rem 0.5rem;
  margin-bottom: 0.5rem;
  background: #fcfdfe;
  position: relative;
}
.box_list li::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #4d6ef5;
  position: absolute;
  top: 0;
  left: 0;
}

.particles_wrap {
  width: calc(100% - (100% - 1600px) / 2);
  position: relative;
  z-index: 1;
}
.particles_wrap canvas {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}

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

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

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

.pt_0 {
  padding-top: 0 !important;
}

.pb_0 {
  padding-bottom: 0 !important;
}

.mt_minus {
  margin-top: -2.5%;
}

.m_box {
  padding: 1rem;
  border-radius: 5px;
}

.m_box2 {
  padding: 2rem;
  border-radius: 5px;
}

.arw_chart_box {
  position: relative;
}
.arw_chart_box::before {
  content: "";
  display: block;
  width: 2px;
  height: calc(100% - 4rem + 6px);
  background: #4d6ef5;
  position: absolute;
  top: 50%;
  right: -1rem;
  transform: translateY(-50%);
}
.arw_chart_box .arw_top {
  position: relative;
}
.arw_chart_box .arw_top::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 2px;
  background: #4d6ef5;
  position: absolute;
  top: 50%;
  right: -1rem;
  transform: translateY(-50%);
}
.arw_chart_box .arw_top::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 2px solid #4d6ef5;
  border-right: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top left;
  position: absolute;
  top: 50%;
  right: 14px;
  box-sizing: border-box;
}
.arw_chart_box .arw_btm {
  position: relative;
}
.arw_chart_box .arw_btm::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 2px;
  background: #4d6ef5;
  position: absolute;
  top: 50%;
  right: -1rem;
  transform: translateY(-50%);
}

.separate_arw {
  position: relative;
  padding: 1rem 0;
}
.separate_arw::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 18px solid #4d6ef5;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.separate_arw2 {
  position: relative;
  padding: 4rem 0;
}
.separate_arw2::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 32px solid #4d6ef5;
  border-right: 48px solid transparent;
  border-left: 48px solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.separate_arw_double {
  position: relative;
  padding: 1rem 0;
}
.separate_arw_double::before, .separate_arw_double::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
}
.separate_arw_double::before {
  border-bottom: 18px solid #4d6ef5;
  transform: translate(10%, -50%);
}
.separate_arw_double::after {
  border-top: 18px solid #4d6ef5;
  transform: translate(-110%, -50%);
}

.separate_arw_double2 {
  position: relative;
  padding: 1rem 0;
}
.separate_arw_double2::before, .separate_arw_double2::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
}
.separate_arw_double2::before {
  border-bottom: 18px solid #4d6ef5;
  transform: translate(10%, -50%);
}
.separate_arw_double2::after {
  border-bottom: 18px solid #4d6ef5;
  transform: translate(-110%, -50%);
}

.separate_plus {
  padding: 2rem 0;
  text-align: center;
}
.separate_plus::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: "+";
  font-weight: 900;
  font-size: 2rem;
  color: #4d6ef5;
}

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

/*--------------------
header
--------------------*/
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  transition: 0.5s ease;
}

.header_wrap {
  width: 100%;
  padding: 0 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
.header_wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 96px;
  background: #fcfdfe;
  opacity: 0.6;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.header_wrap .logo_wrap {
  width: 300px;
  padding: 1rem 0;
  margin-right: auto;
  transition: 0.5s ease;
}
.header_wrap .nav_wrap {
  max-width: 100%;
  padding-right: 180px;
}
.header_wrap .h_contact {
  padding: 1rem;
  background: #fcfdfe;
  text-align: center;
  border-radius: 0 0 5px 5px;
  position: absolute;
  top: 0;
  right: 2rem;
}
.header_wrap .h_contact p:nth-of-type(1) {
  font-weight: 600;
  font-size: 1.125rem;
}
.header_wrap .h_contact span {
  display: block;
  padding: 0.5rem 0;
  font-size: 1.5rem;
}
.header_wrap .h_contact span a {
  display: block;
  padding: 0.5rem 1rem;
  border: 1px solid #101b4d;
  border-radius: 5px;
}
.header_wrap .h_contact span 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: "\f098";
  font-weight: 900;
  margin-right: 5px;
}

nav > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
nav > ul > li a, nav > ul > li span {
  display: block;
  padding: 2rem 0.5rem;
  font-weight: 600;
  transition: 0.5s ease;
}

.drop_down {
  cursor: pointer;
  position: relative;
}
.drop_down > ul {
  width: 980px;
  background: #fcfdfe;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%);
  transition: ease 0.3s;
}
.drop_down > ul li a {
  padding: 1rem;
  border-bottom: 1px solid #101b4d;
  position: relative;
}
.drop_down > ul 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;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}
.drop_down:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 100%;
}
.drop_down.v2 > ul {
  width: 150%;
}

.drop_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  padding: 1rem;
}
.drop_list .drop_list_inner {
  width: 24%;
}

.fixed .header_wrap:before {
  opacity: 0.9;
}

.navi_ico_btn {
  display: none;
}

/*--------------------
mainvisual
--------------------*/
#mainvisual {
  width: 100%;
  height: 100vh;
  position: relative;
}
#mainvisual::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(198, 205, 255, 0.2) 0%, rgba(163, 235, 255, 0.3) 80%, #c6cdff 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

#catch {
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: absolute;
  top: 50%;
  left: 8rem;
  transform: translateY(-55%);
  z-index: 2;
}
#catch span {
  font-size: 3.5rem;
  font-weight: 600;
}
#catch p {
  line-height: 1.6;
  font-weight: 600;
}
#catch p:nth-of-type(1) {
  font-size: 3rem;
}
#catch p:nth-of-type(2) {
  font-size: 1.5rem;
}

.catch_anim {
  padding: 1rem 0;
}
.catch_anim p {
  overflow: hidden;
}
.catch_anim span {
  display: inline-block;
  opacity: 0;
  transform: translateY(-100%);
}

.on .catch_anim span {
  animation-name: catch_anim;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}

@keyframes catch_anim {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
#nav_toggle {
  display: none;
}

/*--------------------
TOP
--------------------*/
.top_navi_wrap {
  padding: 2rem;
  background: rgba(252, 253, 254, 0.3);
  border-radius: 5px;
  position: absolute;
  bottom: 3rem;
  right: 2rem;
  z-index: 2;
}

.top_navi {
  position: relative;
  z-index: 1;
}
.top_navi li {
  margin-bottom: 1rem;
}
.top_navi li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem 2rem;
  background: linear-gradient(135deg, #a3ebff 0%, #c6cdff 100%);
  border-radius: 5px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  z-index: 1;
}
.top_navi li a::before {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.25rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-right: 1rem;
  background: #fff;
  border-radius: 50%;
  transition: 0.3s ease-in-out;
}
.top_navi li a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 5px;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top_navi li a span {
  display: block;
  font-size: 1rem;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #808dc7;
}
.top_navi li a:hover::before {
  box-shadow: 0 5px 10px -5px #333;
}
.top_navi li a:hover::after {
  opacity: 0;
}
.top_navi .visitor_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: "\f80d";
  font-weight: 900;
}
.top_navi .about_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: "\f0f1";
  font-weight: 900;
}
.top_navi .stem_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: "\f610";
  font-weight: 900;
}
.top_navi .prp_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: "\f492";
  font-weight: 900;
}

.top_navi_contact {
  position: relative;
  z-index: 1;
}
.top_navi_contact ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.top_navi_contact ul li {
  width: 30%;
  text-align: center;
}
.top_navi_contact ul li a::before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.25rem;
  background: #fcfdfe;
  border-radius: 50%;
  transition: 0.3s ease-in-out;
}
.top_navi_contact ul li a span {
  display: block;
  margin-top: 0.5rem;
}
.top_navi_contact ul li a:hover::before {
  box-shadow: 0 5px 10px -5px #333;
}
.top_navi_contact ul li:nth-of-type(1) 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: "\f7f5";
  font-weight: 900;
}
.top_navi_contact ul li:nth-of-type(2) 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: "\f073";
  font-weight: 900;
}
.top_navi_contact ul li:nth-of-type(3) 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: "\f098";
  font-weight: 900;
}

.top_navi_wrap_sp {
  display: none;
}

.news_area {
  position: relative;
  z-index: 2;
}

.top_about_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.top_about_wrap .txt {
  width: 42%;
  padding: 60px;
  z-index: 1;
}
.top_about_wrap .txt > p {
  line-height: 2;
}
.top_about_wrap .txt .about_btm_txt {
  margin-top: 1rem;
  color: #4d6ef5;
  font-weight: 600;
}
.top_about_wrap .image_area {
  width: 58%;
  position: relative;
  padding: 0 0 100px 100px;
}
.top_about_wrap .image1 {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}
.top_about_wrap .image2 {
  width: 35%;
  border-radius: 5px;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
}
.top_about_wrap .logo_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}
.top_about_wrap .logo_list li {
  width: 48%;
}
.top_about_wrap .logo_list li p {
  padding: 0.5rem 1rem;
  background: #fcfdfe;
}
.top_about_wrap .logo_list li:nth-of-type(2) p:nth-of-type(2) {
  margin-top: 1rem;
}

.top_about_ttl {
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 1rem;
}
.top_about_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 4rem;
  margin-bottom: 1rem;
}
.top_about_ttl p {
  font-weight: 600;
}
.top_about_ttl p b {
  font-size: 2.5rem;
  font-weight: 600;
}

.team_wrap .top_team_ttl {
  text-align: center;
  margin-bottom: 1rem;
}
.team_wrap .top_team_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
  margin-bottom: 1rem;
}
.team_wrap .top_team_ttl p {
  font-size: 2rem;
  line-height: 1.8;
}
.team_wrap .team_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.team_wrap .team_list li {
  width: calc(50% - 1rem);
  margin-bottom: 2rem;
  text-align: center;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}
.team_wrap .team_list li:nth-of-type(3), .team_wrap .team_list li:nth-of-type(4) {
  margin-bottom: 0;
}
.team_wrap .team_list li figure {
  width: 100%;
}
.team_wrap .team_list li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.team_wrap .team_list li .txt_area {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(198, 205, 255, 0.9) 0%, rgba(163, 235, 255, 0.9) 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.team_wrap .team_list li .txt_area span {
  font-size: 2rem;
}
.team_wrap .team_list li .txt_area h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.team_wrap .team_list li .txt_area .sub_ttl2 {
  margin-top: 1rem;
}

.disease_wrap .disease_img {
  position: relative;
}
.disease_wrap .disease_img figure {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}
.disease_wrap .disease_img figure img {
  width: 100%;
}
.disease_wrap .disease_img .img_txt {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}
.disease_wrap .disease_img .img_txt h2 {
  max-width: 680px;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
.disease_wrap .disease_img .img_txt h2 span {
  display: block;
  font-size: 3rem;
}
.disease_wrap .box {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 40px;
  padding-right: 40px;
  margin-top: -160px;
  background: #fcfdfe;
  border: 2px solid #c6cdff;
  border-radius: 5px;
  position: relative;
}
.disease_wrap .box h3 {
  font-size: 1.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #c6cdff;
}

.disease_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.disease_list > li {
  width: calc(33.3333333333% - 1rem);
  padding: 1rem;
  border: 1px solid #c6cdff;
  border-radius: 5px;
}
.disease_list dl h4 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.disease_list dl .disease_name_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.disease_list dl .disease_name_list li {
  padding: 0.5rem 1rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 5px;
}

.top_safe_ttl {
  margin-bottom: 1rem;
}
.top_safe_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
}

.top_safe {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.top_safe .safe_txt_box {
  width: calc(100% - 400px);
}
.top_safe .safe_txt_box .safe_sub_box h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.top_safe .safe_txt_box .safe_sub_box p {
  margin-top: 1rem;
}
.top_safe .safe_img_box {
  width: 260px;
}
.top_safe .safe_img_box .share_ico {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border: 4px solid #fcfdfe;
  text-align: center;
}
.top_safe .safe_img_box .share_ico p {
  margin: 0.5rem 0;
  font-size: 1.5rem;
  font-weight: 600;
}
.top_safe .safe_img_box .share_ico b {
  display: block;
  letter-spacing: normal;
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 1;
  color: #4d6ef5;
}

.secure_box h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #101b4d;
}
.secure_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.secure_box ul li {
  width: calc(33.3333333333% - 1rem);
}
.secure_box ul li img {
  border-radius: 5px;
}
.secure_box p {
  margin-top: 1rem;
}
.secure_box p b {
  display: block;
  font-weight: 600;
  padding-left: 1rem;
  position: relative;
}
.secure_box p b::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 2px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0.75rem;
  left: 0;
}

.stem_bg {
  background: url(../img/stem_bg.jpg) no-repeat top center/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 1;
}
.stem_bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, #fcfdfe 0%, rgba(252, 253, 254, 0.8) 50%, #fcfdfe 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.top_stem .top_stem_ttl {
  font-size: 2.5rem;
  margin-bottom: 2rem;
}
.top_stem .top_stem_ttl span {
  color: #4d6ef5;
}
.top_stem .txt {
  margin-bottom: 2rem;
}
.top_stem .txt span {
  color: #4d6ef5;
}

.diagram_box > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.diagram_box > ul > li {
  width: calc(50% - 1rem);
  display: flex;
  flex-direction: column;
  padding: 2rem;
  background: rgba(252, 253, 254, 0.8);
  border-radius: 5px;
  position: relative;
  z-index: 1;
}
.diagram_box > ul > li .num {
  display: block;
  font-family: "Jost", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 10rem;
  color: #060604;
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: -1;
}
.diagram_box > ul > li h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.diagram_box > ul > li figure {
  margin-top: auto;
}
.diagram_box > ul > li figure > p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0 1rem;
}
.diagram_box > ul > li figure > p::before, .diagram_box > ul > li figure > p::after {
  content: "";
  display: block;
  width: 5rem;
  height: 2px;
}
.diagram_box > ul > li figure > p::before {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
}
.diagram_box > ul > li figure > p::after {
  background: linear-gradient(135deg, #a3ebff 0%, #c6cdff 100%);
}
.diagram_box > ul > li figure > p span {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0.5rem;
}
.diagram_box > ul > li figure .diagram_box_img {
  padding: 0 3rem;
}
.diagram_box > ul > li.ver2 {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
}

.top_floor_map {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 2rem;
  margin-top: 2rem;
  background: rgba(252, 253, 254, 0.8);
  border-radius: 5px;
}
.top_floor_map .top_floor_txt {
  width: 60%;
}
.top_floor_map .top_floor_txt h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.top_floor_map .top_floor_img {
  width: 38%;
}

.choose_bg {
  background: url(../img/choose_bg.jpg) no-repeat top center/cover;
  background-attachment: fixed;
  position: relative;
  z-index: 1;
}
.choose_bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, #fcfdfe 0%, rgba(252, 253, 254, 0.6) 50%, #fcfdfe 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.top_choose .top_choose_ttl {
  margin-bottom: 2rem;
}
.top_choose .top_choose_ttl span {
  font-size: 2.5rem;
}
.top_choose .top_choose_ttl p {
  font-size: 1.5rem;
}
.top_choose .choose_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 2rem;
  margin-top: 2rem;
  background: #fcfdfe;
  border-radius: 400px;
  border: 2px solid #4d6ef5;
}
.top_choose .choose_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
.top_choose .choose_box figure {
  width: 30%;
}
.top_choose .choose_box figure img {
  width: 100%;
  border-radius: 50%;
}
.top_choose .choose_box .choose_txt {
  width: 70%;
  padding: 0 2rem;
}
.top_choose .choose_box .choose_txt h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.top_choose .choose_box .choose_txt h3 span {
  font-size: 1.5rem;
}
.top_choose .choose_box .choose_txt dl.general_dl {
  margin-bottom: 1rem;
}
.top_choose .choose_box .choose_txt .ttl_btm {
  margin-bottom: 1rem;
  font-weight: 600;
}
.top_choose .choose_box .choose_txt .ttl_btm span {
  color: #4d6ef5;
  font-weight: 600;
}
.top_choose .choose_box .choose_txt .general_txt {
  margin-bottom: 1rem;
}

.top_table .top_table_ttl {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.top_table .hikaku_tbl {
  margin-bottom: 1rem;
}
.top_table .hikaku_tbl table {
  width: 100%;
  table-layout: fixed;
  position: relative;
}
.top_table .hikaku_tbl table::before {
  content: "";
  display: block;
  width: 33.3333333333%;
  height: calc(100% + 1rem);
  border: 4px solid #baa82b;
  box-shadow: inset 0 1rem 0 #ded17c;
  border-radius: 10px 10px 0 0;
  position: absolute;
  bottom: 0;
  left: 33.3333333333%;
}
.top_table .hikaku_tbl table th, .top_table .hikaku_tbl table td {
  padding: 1rem;
  border: 2px solid #ddd;
  background: #fcfdfe;
  text-align: center;
  vertical-align: middle;
}
.top_table .hikaku_tbl table th:first-of-type {
  background: transparent;
  border: none;
}
.top_table .hikaku_tbl table th:nth-of-type(3) {
  background: #cfcfcf;
}
.top_table .hikaku_tbl table th.reborn {
  font-weight: 600;
  background: #ded17c;
}
.top_table .hikaku_tbl table td b {
  color: #c33f3f;
  font-weight: 600;
}
.top_table .hikaku_tbl table tr td:first-of-type {
  background: #f1f1f1;
}

.top_message .top_message_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 3rem;
}
.top_message .top_message_ttl p {
  font-size: 1.5rem;
}
.top_message .top_message_ttl p b {
  display: inline-block;
  margin-left: 1rem;
  font-weight: 600;
}
.top_message .doc_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.top_message .doc_wrap .doc_wrap_txt {
  width: 65%;
  line-height: 1.8;
}
.top_message .doc_wrap .doc_wrap_txt p:not(:last-of-type) {
  margin-top: 1rem;
}
.top_message .doc_wrap .doc_wrap_txt p span {
  display: block;
  font-weight: 600;
}
.top_message .doc_wrap .doc_wrap_img {
  width: 33%;
}
.top_message .doc_wrap .doc_wrap_img figure {
  width: 100%;
}
.top_message .doc_wrap .doc_wrap_img figure img {
  width: 100%;
}
.top_message .doc_profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 2rem;
}
.top_message .doc_profile .doc_prof_left {
  width: 35%;
  padding: 1rem;
}
.top_message .doc_profile .doc_prof_left h3 {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.top_message .doc_profile .doc_prof_left p {
  font-weight: 600;
  margin-bottom: 1rem;
}
.top_message .doc_profile .doc_prof_center {
  width: 23%;
  padding: 1rem;
}
.top_message .doc_profile .doc_prof_center .doc_name {
  margin-bottom: 1rem;
}
.top_message .doc_profile .doc_prof_center .doc_name b {
  font-size: 1.5rem;
}
.top_message .doc_profile .doc_prof_center .doc_name span {
  display: inline-block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-left: 0.5rem;
}
.top_message .doc_profile .doc_prof_center .specialty_list {
  margin-bottom: 1rem;
}
.top_message .doc_profile .doc_prof_center .specialty_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.top_message .doc_profile .doc_prof_center .specialty_list ul li {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  color: #101b4d;
  border-radius: 5px;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}
.top_message .doc_profile .doc_prof_center .specialty_list ul li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: #101b4d;
  border-radius: 50%;
  margin-right: 5px;
}
.top_message .doc_profile .doc_prof_right {
  width: 40%;
  padding: 1rem;
}

.bg_contact {
  background: linear-gradient(rgba(252, 253, 254, 0.8) 0%, rgba(252, 253, 254, 0.8) 100%), url(../img/contact_bnr.jpg) no-repeat center/cover;
}

.contact_bnr > p {
  text-align: center;
}
.contact_bnr .contact_list {
  margin: 2rem 0;
}
.contact_bnr .contact_list .contact_btn {
  width: 300px;
  margin: 0 auto 2rem;
}
.contact_bnr .contact_list .contact_btn a {
  display: block;
  padding: 1rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  text-align: center;
  border-radius: 5px;
}
.contact_bnr .contact_list .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: "\f0da";
  font-weight: 900;
  margin-left: 5px;
}
.contact_bnr .contact_list .sodan_box {
  text-align: center;
}
.contact_bnr .contact_list .sodan_box p:nth-of-type(1) {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.contact_bnr .contact_list .sodan_box p:nth-of-type(1)::before, .contact_bnr .contact_list .sodan_box p:nth-of-type(1)::after {
  content: "";
  display: block;
  width: 200px;
  height: 1px;
  background: #101b4d;
  margin: 0 1rem;
}
.contact_bnr .contact_list .sodan_box span {
  display: block;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.top_notification_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

.notification_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.notification_wrap .notification_left {
  width: 49%;
}
.notification_wrap .notification_left .license_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.notification_wrap .notification_left .license_img li {
  width: calc(20% - 2rem);
  margin: 1rem;
}
.notification_wrap .notification_right {
  width: 49%;
}

.feature_bg {
  background: linear-gradient(0deg, rgba(252, 253, 254, 0.8) 0%, rgba(252, 253, 254, 0.8) 100%), url(../img/feature_bg.jpg) no-repeat center/cover;
}

.top_feature {
  margin-bottom: 2rem;
}
.top_feature .top_feature_ttl {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
.top_feature .top_feature_ttl span {
  color: #4d6ef5;
  font-weight: 600;
  font-size: 2.5rem;
}
.top_feature .feature_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.top_feature .feature_wrap .feature_txt {
  width: 48%;
}
.top_feature .feature_wrap .feature_txt p {
  line-height: 1.8;
}
.top_feature .feature_wrap .feature_txt p + p {
  margin-top: 1rem;
}
.top_feature .feature_wrap .feature_txt .btm_txt {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_feature .feature_wrap .feature_txt .btm_txt::before, .top_feature .feature_wrap .feature_txt .btm_txt::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background: #101b4d;
}
.top_feature .feature_wrap .feature_txt .btm_txt span {
  display: block;
  margin: 0 1rem;
  font-size: 1.25rem;
}
.top_feature .feature_wrap .feature_img {
  width: 48%;
}
.top_feature .feature_wrap .feature_img figure {
  width: 100%;
  height: 100%;
}
.top_feature .feature_wrap .feature_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}

.strengths_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}
.strengths_ttl b {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
  color: #4d6ef5;
}

.strengths_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.strengths_list li {
  width: calc(33.3333333333% - 3rem);
  padding: 2rem;
  margin: 3rem 1rem;
  background: #fcfdfe;
  text-align: center;
  border-radius: 5px;
  position: relative;
  z-index: 1;
}
.strengths_list li .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
  font-weight: 600;
  width: 80px;
  height: 80px;
  text-align: center;
  padding: 1rem;
  background: #fcfdfe;
  border-radius: 50%;
  line-height: 1;
  color: #4d6ef5;
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.strengths_list li h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.top_worries .top_worries_ttl {
  margin-bottom: 2rem;
  text-align: center;
}
.top_worries .top_worries_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 3rem;
}
.top_worries .top_worries_ttl p {
  font-size: 1.5rem;
}

.worries_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.worries_wrap .worries_box {
  width: 49%;
  margin-bottom: 1rem;
}
.worries_wrap .worries_box a {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  background: #fcfdfe;
  border-radius: 5px;
  overflow: hidden;
  transition: 0.3s ease;
}
.worries_wrap .worries_box a:hover {
  box-shadow: 0 5px 10px -5px #333;
}
.worries_wrap .worries_box .worries_inner {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  background: #fcfdfe;
  border-radius: 5px;
  overflow: hidden;
  transition: 0.3s ease;
}
.worries_wrap .worries_box figure {
  width: 45%;
}
.worries_wrap .worries_box figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.worries_wrap .worries_box .worries_txt {
  width: 55%;
  padding: 1rem;
}
.worries_wrap .worries_box .worries_txt h3 {
  font-size: 1.25rem;
  font-weight: 600;
}

.faq_ttl {
  text-align: center;
  margin-bottom: 2rem;
}
.faq_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
}
.faq_ttl p {
  font-size: 1.5rem;
  font-weight: 600;
}

.faq_wrap .faq_tab_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.faq_wrap .faq_tab_wrap li {
  padding: 0.5rem 1rem;
  background: #fafafa;
  text-align: center;
  cursor: pointer;
  text-decoration: underline;
  transition: 0.3s ease;
}
.faq_wrap .faq_tab_wrap li.current {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  color: #fcfdfe;
  text-decoration: none;
}
.faq_wrap .faq_tab_inner .faq_tab_target {
  padding: 1rem;
  background: #fcfdfe;
}

.faq_box h3 {
  margin-bottom: 1rem;
}
.faq_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
.faq_box .faq_sub_ttl {
  color: #4d6ef5;
  font-size: 1.125rem;
  padding: 1rem 0;
  font-weight: 600;
}
.faq_box dl {
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #cfcfcf;
}
.faq_box dl dt {
  padding: 0 0 1rem 2rem;
  cursor: pointer;
  position: relative;
}
.faq_box dl dt::before {
  content: "Q";
  display: inline-block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #a3ebff;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.faq_box dl dt::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: "\f13a";
  font-weight: 900;
  display: block;
  font-size: 1.25rem;
  color: #c6cdff;
  position: absolute;
  top: 0.5rem;
  right: 1rem;
}
.faq_box dl dt.on::after {
  transform: rotate(-180deg);
}
.faq_box dl dd {
  display: none;
  padding-left: 2rem;
  position: relative;
}
.faq_box dl dd::before {
  content: "A";
  display: inline-block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #c6cdff;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.worries_ttl {
  text-align: center;
  margin-bottom: 2rem;
}
.worries_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
  color: #fcfdfe;
}
.worries_ttl p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #fcfdfe;
}

.case_ttl {
  margin-bottom: 2rem;
}
.case_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
}
.case_ttl p {
  font-size: 1.5rem;
}

.tab_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.tab_wrap li {
  width: 120px;
  padding: 0.5rem 1rem;
  background: #fafafa;
  text-align: center;
  cursor: pointer;
  text-decoration: underline;
  transition: 0.3s ease;
}
.tab_wrap li.current {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  color: #fcfdfe;
  text-decoration: none;
}

.tab_inner {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  padding: 1px;
}
.tab_inner .tab_target {
  padding: 1rem;
  background: #fcfdfe;
}
.tab_inner .tab_target ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.tab_inner .tab_target ul li {
  width: 25%;
  padding: 1rem;
}
.tab_inner .tab_target ul li figure {
  margin-bottom: 0.5rem;
}
.tab_inner .tab_target ul li .case_name {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #f1f1f1;
}

.tab_wrap2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.tab_wrap2 li {
  padding: 0.5rem 1rem;
  background: #fafafa;
  text-align: center;
  cursor: pointer;
  text-decoration: underline;
  transition: 0.3s ease;
}
.tab_wrap2 li.current {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  color: #fcfdfe;
  text-decoration: none;
}

.tab_inner2 {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  padding: 1px;
}
.tab_inner2 .tab_target {
  padding: 1rem;
  background: #fcfdfe;
}

.blog_ttl {
  margin-bottom: 2rem;
}
.blog_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
}
.blog_ttl p {
  font-size: 1.5rem;
}

.blog_wrap {
  padding: 1px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
}
.blog_wrap ul {
  padding: 1rem;
  background: #fcfdfe;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.blog_wrap ul li {
  width: 25%;
  padding: 1rem;
  background: #fcfdfe;
  position: relative;
}
.blog_wrap ul li figure {
  width: 100%;
  height: 200px;
  margin-bottom: 0.5rem;
}
.blog_wrap ul li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
.blog_wrap ul li .blog_date {
  display: inline-block;
  color: #cfcfcf;
}
.blog_wrap ul li .cat_name {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: #101b4d;
  color: #fcfdfe;
  font-size: 12px;
  border-radius: 5px 0 5px 0;
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.blog_wrap ul li .top_column_ttl {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #101b4d;
}

.news_dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #f1f1f1;
}
.news_dl dt {
  margin-right: 1rem;
}
.news_dl dt span {
  display: inline-block;
  margin-right: 1rem;
}
.news_dl dt b {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #101b4d;
  color: #fcfdfe;
  font-size: 0.75rem;
  line-height: 1;
  border-radius: 5px;
}

.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;
}

/*--------------------
特長共通部分
--------------------*/
.disease_feature .disease_feature_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.disease_feature .disease_feature_ttl::before, .disease_feature .disease_feature_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.disease_feature .disease_feature_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.disease_feature .disease_feature_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.disease_feature .feature_ttl_wrap {
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
}
.disease_feature .feature_ttl_wrap .feature_ttl {
  margin-bottom: 1rem;
}
.disease_feature .feature_ttl_wrap .feature_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #4d6ef5;
  font-size: 2.5rem;
}
.disease_feature .feature_ttl_wrap .feature_ttl p {
  font-size: 1.25rem;
  font-weight: 600;
}
.disease_feature .flx_box:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}
.disease_feature .disease_feature_txt {
  width: 55%;
}
.disease_feature .disease_feature_txt .point_ttl {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.disease_feature .disease_feature_txt .point_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: #4d6ef5;
  color: #fcfdfe;
  line-height: 1rem;
  margin-right: 5px;
}
.disease_feature .disease_feature_txt .point_ttl b {
  font-weight: 600;
}
.disease_feature .disease_feature_txt .point_btm {
  padding: 1rem;
  margin: 1rem 0;
  background: #f1f1f1;
}
.disease_feature .disease_feature_txt .txt_btm {
  padding: 1rem;
  margin-top: 1rem;
  background: #c6cdff;
}
.disease_feature .disease_feature_img {
  width: 43%;
}
.disease_feature .image_btm,
.disease_feature .image_btm2 {
  padding: 1rem;
}
.disease_feature .image_btm {
  background: #c6cdff;
  margin: 1rem 0;
}
.disease_feature .image_btm2 {
  background: #a3ebff;
}

/*--------------------
初めての方
--------------------*/
.visitor_top {
  position: relative;
  z-index: 1;
}
.visitor_top .visitor_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.visitor_top .visitor_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.visitor_top .visitor_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.6);
  position: absolute;
  top: 0;
  left: 0;
}
.visitor_top .visitor_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.visitor_top .visitor_txt {
  width: calc(100% - 220px);
}
.visitor_top .visitor_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.visitor_top .visitor_txt p:nth-of-type(1) {
  font-size: 1.5rem;
}
.visitor_top .visitor_txt .btm_txt p {
  font-size: 1.25rem;
  line-height: 1.8;
}
.visitor_top .visitor_txt .btm_txt p:nth-of-type(1) {
  margin-bottom: 1rem;
}
.visitor_top .visit_reserve {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.visitor_top .visit_reserve span {
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.visittor_sec2 .visittor_sec2_ttl {
  font-size: 2rem;
  position: relative;
}
.visittor_sec2 .visittor_sec2_ttl .ttl_deco {
  width: 120px;
  height: 120px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.3;
}
.visittor_sec2 .visittor_sec2_ttl .ttl_deco::before, .visittor_sec2 .visittor_sec2_ttl .ttl_deco::after {
  content: "";
  display: block;
  position: absolute;
}
.visittor_sec2 .visittor_sec2_ttl .ttl_deco::before {
  width: 100px;
  height: 100px;
  background: #c6cdff;
  top: 0;
  left: 0;
}
.visittor_sec2 .visittor_sec2_ttl .ttl_deco::after {
  width: 50px;
  height: 50px;
  background: #a3ebff;
  bottom: 0;
  right: 0;
}
.visittor_sec2 .ttl_btm_list li {
  font-size: 1.25rem;
  font-weight: 600;
}
.visittor_sec2 .txt_wrap {
  margin: 1rem 0;
}
.visittor_sec2 .txt_wrap2 {
  margin-bottom: 1rem;
}
.visittor_sec2 .txt_wrap2 h3 {
  font-size: 1.25rem;
  font-weight: 600;
}
.visittor_sec2 .txt_wrap2 ul {
  margin-bottom: 1rem;
}
.visittor_sec2 .txt_wrap2 ul li {
  font-weight: 600;
  padding-left: 10px;
  position: relative;
}
.visittor_sec2 .txt_wrap2 ul li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #101b4d;
  position: absolute;
  top: 10px;
  left: 0;
}
.visittor_sec2 .txt_wrap3 p:nth-of-type(1) {
  font-weight: 600;
  margin-bottom: 1rem;
}

.visittor_sec3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
}
.visittor_sec3 .visittor_sec3_txt {
  width: 55%;
}
.visittor_sec3 .visittor_sec3_txt .visittor_sec3_ttl_top {
  font-weight: 600;
  padding-left: 1.25rem;
  position: relative;
}
.visittor_sec3 .visittor_sec3_txt .visittor_sec3_ttl_top::before {
  content: "";
  display: block;
  width: 1rem;
  height: 2px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.visittor_sec3 .visittor_sec3_txt .visittor_sec3_ttl {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.visittor_sec3 .visittor_sec3_txt .visittor_sec3_ttl + p {
  margin-bottom: 1rem;
}
.visittor_sec3 .visittor_sec3_img {
  width: 43%;
}
.visittor_sec3 .link_btn {
  margin-top: 1rem;
  text-align: center;
}

.visittor_tbl {
  width: 100%;
}
.visittor_tbl th, .visittor_tbl td {
  padding: 2rem;
  background: #fcfdfe;
  vertical-align: middle;
  border-bottom: 2px solid #ddd;
}
.visittor_tbl th {
  width: 42%;
  text-align: left;
  background: #f1f1f1;
  font-weight: 600;
}

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

.visit_process_ttl {
  font-size: 2rem;
  position: relative;
}
.visit_process_ttl .ttl_deco {
  width: 120px;
  height: 120px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.3;
}
.visit_process_ttl .ttl_deco::before, .visit_process_ttl .ttl_deco::after {
  content: "";
  display: block;
  position: absolute;
}
.visit_process_ttl .ttl_deco::before {
  width: 100px;
  height: 100px;
  background: #c6cdff;
  top: 0;
  left: 0;
}
.visit_process_ttl .ttl_deco::after {
  width: 50px;
  height: 50px;
  background: #a3ebff;
  bottom: 0;
  right: 0;
}

.flow {
  position: relative;
  margin: 2rem 0;
  padding: 0 1rem 2rem;
}
.flow::before {
  width: 4px;
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  background: #4d6ef5;
}
.flow .flow_item {
  padding-left: 2rem;
  position: relative;
}
.flow .flow_item:not(:last-of-type) {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #c6cdff;
}
.flow .flow_item::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #4d6ef5;
  position: absolute;
  top: 2rem;
  left: 2px;
  transform: translateX(-50%);
}
.flow .flow_item .flow_num .num {
  font-family: "Jost", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 5rem;
  line-height: 1.2;
  position: relative;
  margin: 0;
  color: rgba(77, 110, 245, 0.1);
}
.flow .flow_item .flow_num .flow_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
  margin-top: -68px;
  margin-bottom: 1rem;
  color: #4d6ef5;
}
.flow .flow_item .flow_sub_ttl {
  font-size: 1.25rem;
  margin-top: 1rem;
  padding-left: 0.5rem;
  border-left: 1px solid #101b4d;
}
.flow .flow_item .desc {
  margin-top: 1rem;
  padding-left: 0.5rem;
}
.flow .flow_link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
}
.flow .flow_link_list li {
  width: 220px;
  margin-right: 1rem;
}
.flow .flow_link_list li a {
  display: block;
  padding: 0.5rem 1rem;
  text-align: center;
  border-radius: 5px;
}
.flow .flow_link_list li a i {
  margin-right: 5px;
}
.flow .flow_link_list li.tel_btn a {
  background: #c6cdff;
}
.flow .flow_link_list li.web_btn a {
  background: #a3ebff;
}
.flow .flow_link_list li.line_btn a {
  background: #06c755;
  color: #fcfdfe;
}

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

.visit_future_ttl {
  font-size: 2rem;
  margin-bottom: 2rem;
  position: relative;
}
.visit_future_ttl .ttl_deco {
  width: 120px;
  height: 120px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.3;
}
.visit_future_ttl .ttl_deco::before, .visit_future_ttl .ttl_deco::after {
  content: "";
  display: block;
  position: absolute;
}
.visit_future_ttl .ttl_deco::before {
  width: 100px;
  height: 100px;
  background: #c6cdff;
  top: 0;
  left: 0;
}
.visit_future_ttl .ttl_deco::after {
  width: 50px;
  height: 50px;
  background: #a3ebff;
  bottom: 0;
  right: 0;
}

.visit_future_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.visit_future_wrap .visit_future_txt {
  width: 55%;
}
.visit_future_wrap .visit_future_txt p {
  font-weight: 600;
  margin-top: 1rem;
}
.visit_future_wrap .visit_future_img {
  width: 43%;
}
.visit_future_wrap .visit_future_img img {
  border-radius: 5px;
}

/*--------------------
リボーンクリニックとは
--------------------*/
.about_top {
  position: relative;
  z-index: 1;
}
.about_top .about_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.about_top .about_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about_top .about_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.about_top .about_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.about_top .about_txt {
  width: calc(100% - 400px);
}
.about_top .about_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.about_top .about_txt p {
  font-size: 1.125rem;
}
.about_top .about_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.about_top .about_link {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.about_top .about_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.about_top .about_link ul li {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  margin: 0 1rem;
}
.about_top .about_link ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.about_sec1 .about_sec1_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

.about_sec1_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.about_sec1_wrap .txt_wrap {
  width: 49%;
}
.about_sec1_wrap .txt_wrap h3 {
  margin-bottom: 1rem;
}
.about_sec1_wrap .txt_wrap p {
  margin-bottom: 1rem;
}
.about_sec1_wrap .img_wrap {
  width: 49%;
}
.about_sec1_wrap .img_wrap figure {
  width: 100%;
}
.about_sec1_wrap .img_wrap figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}

.about_sec2 {
  margin: 2rem 0;
}
.about_sec2 h3 {
  margin-bottom: 1rem;
}

.about_sec3 {
  padding: 2rem;
  margin-bottom: 2rem;
  background: #f1f1f1;
  border-radius: 5px;
}
.about_sec3 .box {
  padding: 2rem;
  border: 2px solid #4d6ef5;
  border-radius: 5px;
  position: relative;
}
.about_sec3 .box h3 {
  display: inline-block;
  font-size: 1.25rem;
  margin: auto;
  padding: 0 2rem;
  background: #f1f1f1;
  color: #4d6ef5;
  font-weight: 600;
  position: absolute;
  top: -1.25rem;
  left: 50%;
  transform: translateX(-50%);
}
.about_sec3 .box p:nth-of-type(1) {
  text-align: center;
  font-weight: 600;
  margin-bottom: 1rem;
}

.about_sec4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.about_sec4 .txt_wrap {
  width: 49%;
}
.about_sec4 .img_wrap {
  width: 49%;
}
.about_sec4 .img_wrap figure {
  width: 100%;
}
.about_sec4 .img_wrap figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about_sec4 .img_wrap p {
  font-size: 1.125rem;
  font-weight: 600;
  color: #4d6ef5;
  margin: 1rem 0;
}

.about_sec5 {
  margin-bottom: 2rem;
}
.about_sec5 h3 {
  margin-bottom: 1rem;
}
.about_sec5 .about_sec5_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}
.about_sec5 .about_sec5_wrap .txt_wrap {
  width: 49%;
}
.about_sec5 .about_sec5_wrap .txt_wrap p {
  color: #4d6ef5;
  font-weight: 600;
  margin-top: 1rem;
}
.about_sec5 .about_sec5_wrap .img_wrap {
  width: 49%;
}
.about_sec5 .about_sec5_wrap .img_wrap figure {
  width: 100%;
}
.about_sec5 .about_sec5_wrap .img_wrap figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.about_sec6 {
  margin-bottom: 2rem;
}
.about_sec6 h3 {
  margin-bottom: 1rem;
}

.about_sec6_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.about_sec6_wrap .about_sec6_left {
  width: 49%;
}
.about_sec6_wrap .about_sec6_left h4 {
  color: #4d6ef5;
  font-weight: 600;
  margin: 1rem 0;
}
.about_sec6_wrap .about_sec6_left .txt_wrap {
  margin-bottom: 1rem;
}
.about_sec6_wrap .about_sec6_right {
  width: 49%;
}

.about_sec7_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.about_sec7_wrap .about_sec7_left {
  width: 49%;
}
.about_sec7_wrap .about_sec7_left h4 {
  color: #4d6ef5;
  font-weight: 600;
  margin: 1rem 0;
}
.about_sec7_wrap .about_sec7_right {
  width: 49%;
}
.about_sec7_wrap .about_sec7_right ul {
  margin: 1rem 0;
}

.about_diagram {
  width: 100%;
  position: relative;
  z-index: 1;
}
.about_diagram .num {
  display: block;
  font-family: "Jost", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 10rem;
  line-height: 1;
  color: #060604;
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: -1;
}
.about_diagram h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.about_diagram ul {
  margin-top: 1rem;
}
.about_diagram figure {
  margin-top: auto;
}
.about_diagram figure > p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0 1rem;
}
.about_diagram figure > p::before, .about_diagram figure > p::after {
  content: "";
  display: block;
  width: 5rem;
  height: 2px;
}
.about_diagram figure > p::before {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
}
.about_diagram figure > p::after {
  background: linear-gradient(135deg, #a3ebff 0%, #c6cdff 100%);
}
.about_diagram figure > p span {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0.5rem;
}
.about_diagram figure .about_diagram_img {
  width: 50%;
  margin: auto;
}

.about_overview_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.about_overview_ttl::before, .about_overview_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.about_overview_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.about_overview_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}

.overview_tbl {
  width: 100%;
}
.overview_tbl th, .overview_tbl td {
  padding: 1rem;
  border: 2px solid #ddd;
  vertical-align: middle;
}
.overview_tbl th {
  background: #4d6ef5;
  font-weight: 600;
  color: #fcfdfe;
}
.overview_tbl dl:not(:last-of-type) {
  margin-bottom: 1rem;
}
.overview_tbl dl dt {
  padding-left: 0.75rem;
  font-weight: 600;
  position: relative;
}
.overview_tbl dl dt::before {
  content: "";
  width: 0.5rem;
  height: 2px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0.75rem;
  left: 0;
}
.overview_tbl .overview_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.overview_tbl .overview_list li a {
  display: block;
  padding: 0.5rem 1rem;
  text-align: center;
  border-radius: 5px;
}
.overview_tbl .overview_list li a i {
  margin-right: 5px;
}
.overview_tbl .overview_list li.tel_btn {
  margin-right: 1rem;
}
.overview_tbl .overview_list li.tel_btn a {
  background: #c6cdff;
}
.overview_tbl .overview_list li.web_btn a {
  background: #a3ebff;
}

.about_license .about_license_ttl {
  font-size: 2rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 2rem;
}

.about_license_wrap .sub_ttl {
  margin-bottom: 0.5rem;
}
.about_license_wrap .about_license1 {
  margin-bottom: 2rem;
}
.about_license_wrap .about_license1 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.about_license_wrap .about_license1 ul li {
  width: 14.2857142857%;
}
.about_license_wrap .about_license2 {
  margin-bottom: 2rem;
}
.about_license_wrap .about_license2 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.about_license_wrap .about_license2 ul li {
  width: 14.2857142857%;
}

.about_explanation {
  padding: 2rem;
  background: #fcfdfe;
  border-radius: 5px;
}
.about_explanation .about_explanation_ttl {
  font-size: 1.75rem;
  line-height: 1.8;
  font-weight: 600;
  margin-bottom: 1rem;
}
.about_explanation .logo_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}
.about_explanation .logo_list li {
  width: 48%;
}
.about_explanation .logo_list li p {
  padding: 0.5rem 1rem;
  background: #fcfdfe;
}
.about_explanation .logo_list li:nth-of-type(2) p:nth-of-type(2) {
  margin-top: 1rem;
}

.about_access .about_access_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.about_access .about_access_ttl::before, .about_access .about_access_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.about_access .about_access_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.about_access .about_access_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.about_access .map_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
.about_access .map_box .map_btm_txt {
  margin-top: 1rem;
}

/*--------------------
PRP治療
--------------------*/
.prp_top {
  position: relative;
  z-index: 1;
}
.prp_top .prp_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.prp_top .prp_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.prp_top .prp_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.prp_top .prp_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.prp_top .prp_txt {
  width: calc(100% - 400px);
}
.prp_top .prp_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.prp_top .prp_txt p {
  font-size: 1.125rem;
}
.prp_top .prp_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.prp_top .prp_link {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.prp_top .prp_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.prp_top .prp_link ul li {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  margin: 0 1rem;
}
.prp_top .prp_link ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.treatment_link_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
.treatment_link_btn li {
  width: 300px;
  margin: 0 0.5rem;
}
.treatment_link_btn li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  background: #fcfdfe;
  border: 2px solid #4d6ef5;
  border-radius: 5px;
}
.treatment_link_btn 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;
  margin-left: 5px;
}

.prp_sec1 {
  margin-bottom: 2rem;
}
.prp_sec1 .prp_sec1_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.prp_sec1 .prp_sec1_ttl::before, .prp_sec1 .prp_sec1_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.prp_sec1 .prp_sec1_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.prp_sec1 .prp_sec1_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.prp_sec1 h3 {
  margin-top: 2rem;
}

.prp_sec1_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.prp_sec1_wrap .prp_sec1_txt {
  width: 53%;
}
.prp_sec1_wrap .prp_sec1_img {
  width: 45%;
}
.prp_sec1_wrap .prp_sec1_img figure {
  width: 100%;
  margin-bottom: 1rem;
}
.prp_sec1_wrap .prp_sec1_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.prp_sec1_wrap .prp_sec1_img .txt_wrap span {
  font-weight: 600;
}

.prp_sec2 {
  margin-bottom: 2rem;
}
.prp_sec2 .prp_dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.prp_sec2 .prp_dl dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(50% - 1rem);
  background: #fcfdfe;
  border: 2px solid #101b4d;
  border-radius: 5px;
  margin-bottom: 2rem;
  padding: 2rem;
}
.prp_sec2 .prp_dl dl dt {
  width: 80px;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  border-right: 1px solid #4d6ef5;
}
.prp_sec2 .prp_dl dl dd {
  width: calc(100% - 100px);
}
.prp_sec2 .prp_dl dl dd p {
  font-size: 1.125rem;
  font-weight: 600;
}
.prp_sec2 .prp_dl .arw_r {
  position: relative;
}
.prp_sec2 .prp_dl .arw_r::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 18px solid #4d6ef5;
  position: absolute;
  top: 50%;
  right: -28px;
  transform: translateY(-50%);
}
.prp_sec2 .prp_dl .arw_b {
  position: relative;
}
.prp_sec2 .prp_dl .arw_b::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 18px solid #4d6ef5;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
}

.prp_sec3 {
  margin-bottom: 2rem;
}
.prp_sec3 .prp_sec3_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.prp_sec3 .prp_sec3_wrap .prp_sec3_img {
  width: 49%;
}
.prp_sec3 .prp_sec3_wrap .prp_sec3_txt {
  width: 49%;
}
.prp_sec3 .prp_sec3_wrap .prp_sec3_txt h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}

.prp_sec4 {
  margin-bottom: 2rem;
}
.prp_sec4 .prp_sec4_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.prp_sec4 .prp_sec4_wrap .prp_sec4_txt {
  width: 68%;
}
.prp_sec4 .prp_sec4_wrap .prp_sec4_txt .txt_wrap:not(:last-of-type) {
  margin-bottom: 1rem;
}
.prp_sec4 .prp_sec4_wrap .prp_sec4_img {
  width: 30%;
}
.prp_sec4 .prp_sec4_wrap .prp_sec4_img figure:not(:last-of-type) {
  margin-bottom: 1rem;
}

.prp_sec5 {
  margin-bottom: 2rem;
}
.prp_sec5 .box {
  padding: 2rem;
  background: #fafafa;
  border-radius: 5px;
}
.prp_sec5 .box:first-of-type {
  margin-bottom: 1rem;
}

.prp_sec6 {
  margin-bottom: 2rem;
}
.prp_sec6 p:not(:last-of-type) {
  margin-bottom: 1rem;
}

.prp_sec7 .prp_sec7_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.prp_sec7 .prp_sec7_wrap .prp_sec7_img {
  width: 49%;
}
.prp_sec7 .prp_sec7_wrap .prp_sec7_txt {
  width: 49%;
}
.prp_sec7 .prp_sec7_wrap .prp_sec7_txt h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}

.prp_worries .prp_worries_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.prp_worries .prp_worries_ttl::before, .prp_worries .prp_worries_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.prp_worries .prp_worries_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.prp_worries .prp_worries_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}

.not_prp .not_prp_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.not_prp .not_prp_ttl p {
  font-size: 1rem;
}
.not_prp .not_prp_ttl::before, .not_prp .not_prp_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.not_prp .not_prp_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.not_prp .not_prp_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.not_prp .not_prp_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.not_prp .not_prp_list ul {
  width: 49%;
}

.prp_contact .prp_contact_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.prp_contact .prp_contact_wrap .prp_contact_txt {
  width: 60%;
}
.prp_contact .prp_contact_wrap .prp_contact_txt p:first-of-type {
  font-weight: 600;
  margin-bottom: 1rem;
}
.prp_contact .prp_contact_wrap .prp_contact_txt .prp_contact_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.prp_contact .prp_contact_wrap .prp_contact_img {
  width: 38%;
}

.prp_compliance .prp_compliance_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.prp_compliance .box {
  padding: 2rem;
  background: #fafafa;
  border-radius: 5px;
}
.prp_compliance .box h3 {
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}
.prp_compliance .prp_compliance_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.prp_compliance .prp_compliance_wrap .prp_compliance_img {
  width: 49%;
}
.prp_compliance .prp_compliance_wrap .prp_compliance_img ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.prp_compliance .prp_compliance_wrap .prp_compliance_img ul li {
  width: calc(33.3333333333% - 1rem);
}
.prp_compliance .prp_compliance_wrap .prp_compliance_txt {
  width: 49%;
}

/*--------------------
幹細胞治療
--------------------*/
.stemcell_top {
  position: relative;
  z-index: 1;
}
.stemcell_top .stemcell_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.stemcell_top .stemcell_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.stemcell_top .stemcell_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.stemcell_top .stemcell_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.stemcell_top .stemcell_txt {
  width: calc(100% - 400px);
}
.stemcell_top .stemcell_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.stemcell_top .stemcell_txt p {
  font-size: 1.125rem;
}
.stemcell_top .stemcell_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.stemcell_top .stemcell_link {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.stemcell_top .stemcell_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.stemcell_top .stemcell_link ul li {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  margin: 0 1rem;
}
.stemcell_top .stemcell_link ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.stemcell_sec1 {
  margin-bottom: 2rem;
}
.stemcell_sec1 .stemcell_sec1_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.stemcell_sec1 .stemcell_sec1_ttl::before, .stemcell_sec1 .stemcell_sec1_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.stemcell_sec1 .stemcell_sec1_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.stemcell_sec1 .stemcell_sec1_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.stemcell_sec1 h3 {
  margin-top: 2rem;
}

.stemcell_sec1_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.stemcell_sec1_wrap .stemcell_sec1_txt {
  width: 68%;
}
.stemcell_sec1_wrap .stemcell_sec1_img {
  width: 30%;
}

.stemcell_sec2 {
  margin-bottom: 2rem;
}
.stemcell_sec2 .stemcell_sec2_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.stemcell_sec2 .stemcell_sec2_wrap dl {
  width: 49%;
  padding: 1rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 5px;
}
.stemcell_sec2 .stemcell_sec2_wrap dl dt {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.stemcell_sec3 .stemcell_video_wrap {
  padding: 60px;
  background: #f1f1f1;
  border-radius: 5px;
  margin-bottom: 1rem;
}
.stemcell_sec3 .stemcell_video_wrap h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #4d6ef5;
  text-align: center;
  margin-bottom: 1rem;
}
.stemcell_sec3 .video_wrap {
  width: 800px;
  max-width: 100%;
  margin: auto;
}
.stemcell_sec3 .video_wrap .video_box {
  padding-top: 56.25%;
  margin-bottom: 1rem;
  position: relative;
}
.stemcell_sec3 .video_wrap .video_box iframe {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
}
.stemcell_sec3 .video_wrap p {
  text-align: center;
}
.stemcell_sec3 .stemcell_sec3_wrap h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}

.stemcell_contact .stemcell_contact_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_txt {
  width: calc(100% - 400px);
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_txt p span {
  font-weight: 600;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_txt .stemcell_contact_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_img {
  width: 260px;
  height: 260px;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_img .stemcell_contact_ico {
  width: 100%;
  height: 100%;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_img .stemcell_contact_ico a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #4d6ef5;
  color: #fcfdfe;
  border-radius: 50%;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_img .stemcell_contact_ico a span {
  display: block;
  text-align: center;
  margin-bottom: 0.5rem;
}
.stemcell_contact .stemcell_contact_wrap .stemcell_contact_img .stemcell_contact_ico a p {
  font-size: 1.25rem;
  font-weight: 600;
}

.about_stem_sec1 {
  margin-bottom: 2rem;
}
.about_stem_sec1 .about_stem_sec1_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.about_stem_sec1 .about_stem_sec1_ttl::before, .about_stem_sec1 .about_stem_sec1_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.about_stem_sec1 .about_stem_sec1_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.about_stem_sec1 .about_stem_sec1_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.about_stem_sec1 .about_stem_sec1_ttl_btm {
  margin-bottom: 2rem;
}
.about_stem_sec1 .about_stem_sec1_ttl_btm span {
  font-weight: 600;
}
.about_stem_sec1 .about_stem_sec1_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.about_stem_sec1 .about_stem_sec1_wrap .about_stem_sec1_txt {
  width: 68%;
}
.about_stem_sec1 .about_stem_sec1_wrap .about_stem_sec1_txt h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.about_stem_sec1 .about_stem_sec1_wrap .about_stem_sec1_txt h3 b {
  color: #4d6ef5;
  font-weight: 600;
}
.about_stem_sec1 .about_stem_sec1_wrap .about_stem_sec1_img {
  width: 30%;
}

.about_stem_sec2 {
  margin-bottom: 2rem;
}

.about_stem_sec3 {
  margin-bottom: 2rem;
}
.about_stem_sec3 .about_stem_sec3_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.about_stem_sec3 .about_stem_sec3_wrap .about_stem_sec3_img {
  width: 40%;
}
.about_stem_sec3 .about_stem_sec3_wrap .about_stem_sec3_txt {
  width: 58%;
}
.about_stem_sec3 .about_stem_sec3_wrap .about_stem_sec3_txt h4 {
  margin-bottom: 0.5rem;
}
.about_stem_sec3 .about_stem_sec3_wrap .about_stem_sec3_txt ul {
  margin-bottom: 1rem;
}
.about_stem_sec3 .about_stem_sec3_wrap .about_stem_sec3_txt p span {
  font-weight: 600;
  color: #4d6ef5;
}

.about_stem_sec4 {
  margin-bottom: 2rem;
}
.about_stem_sec4 .about_stem_sec4_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.about_stem_sec4 .about_stem_sec4_wrap .about_stem_sec4_txt {
  width: 68%;
}
.about_stem_sec4 .about_stem_sec4_wrap .about_stem_sec4_img {
  width: 30%;
}
.about_stem_sec4 .about_stem_sec4_btm_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: 1rem 0;
}
.about_stem_sec4 .about_stem_sec4_btm_wrap .about_stem_sec4_btm_left {
  margin-right: 1rem;
}
.about_stem_sec4 .about_stem_sec4_btm_wrap .about_stem_sec4_btm_right p {
  padding: 1rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
}
.about_stem_sec4 .about_stem_sec4_btm_wrap .about_stem_sec4_btm_right p i {
  margin-right: 5px;
}

.about_stem_sec5 {
  margin-bottom: 2rem;
}

.about_stem_sec6 {
  margin-bottom: 2rem;
}
.about_stem_sec6 .about_stem_dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.about_stem_sec6 .about_stem_dl dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(50% - 1rem);
  background: #fcfdfe;
  border: 2px solid #101b4d;
  border-radius: 5px;
  margin-bottom: 2rem;
  padding: 2rem;
}
.about_stem_sec6 .about_stem_dl dl dt {
  width: 80px;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  border-right: 1px solid #4d6ef5;
}
.about_stem_sec6 .about_stem_dl dl dd {
  width: calc(100% - 100px);
}
.about_stem_sec6 .about_stem_dl dl dd p {
  font-weight: 600;
}
.about_stem_sec6 .about_stem_dl .arw_r {
  position: relative;
}
.about_stem_sec6 .about_stem_dl .arw_r::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 18px solid #4d6ef5;
  position: absolute;
  top: 50%;
  right: -28px;
  transform: translateY(-50%);
}
.about_stem_sec6 .about_stem_dl .arw_b {
  position: relative;
}
.about_stem_sec6 .about_stem_dl .arw_b::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 18px solid #4d6ef5;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
}

.about_stem_sec7 .about_stem_sec7_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.about_stem_sec7 .about_stem_sec7_wrap .about_stem_sec7_txt {
  width: 68%;
}
.about_stem_sec7 .about_stem_sec7_wrap .about_stem_sec7_img {
  width: 30%;
}
.about_stem_sec7 dl dt {
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 0.5rem;
}
.about_stem_sec7 dl dd {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}

.about_stem_sec8 {
  background: #f1f1f1;
  padding: 2rem;
  border-radius: 5px;
  margin-bottom: 2rem;
}
.about_stem_sec8 dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #c6cdff;
}
.about_stem_sec8 dl dt {
  width: 220px;
  padding: 0.5rem;
  background: #4d6ef5;
  color: #fcfdfe;
  text-align: center;
  border-radius: 5px;
}
.about_stem_sec8 dl dd {
  width: calc(100% - 260px);
  margin-left: 1rem;
}

.about_stem_arw {
  padding: 60px 0;
  position: relative;
}
.about_stem_arw::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 2rem solid #4d6ef5;
  border-right: 4rem solid transparent;
  border-left: 4rem solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.about_stem_sec9 .about_stem_sec9_ttl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.about_stem_sec9 .about_stem_sec9_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.about_stem_sec9 .about_stem_sec9_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.about_stem_sec9 .about_stem_sec9_wrap .about_stem_sec9_txt {
  width: 60%;
}
.about_stem_sec9 .about_stem_sec9_wrap .about_stem_sec9_img {
  width: 38%;
}

.rbstem_sec1 .rbstem_sec1_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.rbstem_sec1 .rbstem_sec1_ttl::before, .rbstem_sec1 .rbstem_sec1_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.rbstem_sec1 .rbstem_sec1_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.rbstem_sec1 .rbstem_sec1_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.rbstem_sec1 .rb_tbl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  margin-bottom: 1rem;
}
.rbstem_sec1 .rb_tbl h3 {
  width: 340px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  background: #a3ebff;
}
.rbstem_sec1 .rb_tbl .rb_tbl_list {
  width: calc(100% - 340px);
  padding: 1rem;
  background: #f1f1f1;
}
.rbstem_sec1 .rb_tbl .rb_tbl_list p {
  font-weight: 600;
}
.rbstem_sec1 .rb_tbl .rb_tbl_list .list_dot:first-of-type {
  margin-bottom: 1rem;
}
.rbstem_sec1 .rb_tbl .rb_tbl_list .list_dot li {
  border-bottom: 1px dashed #c6cdff;
}
.rbstem_sec1 .arw_b {
  position: relative;
}
.rbstem_sec1 .arw_b::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 18px solid #4d6ef5;
  border-right: 24px solid transparent;
  border-left: 24px solid transparent;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}
.rbstem_sec1 .rb_tbl_mid {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
}
.rbstem_sec1 .tbl_arw .rb_tbl_list {
  width: calc(100% - 404px);
}
.rbstem_sec1 .tbl_arw .arw_box {
  width: 48px;
  margin-left: auto;
  position: relative;
}
.rbstem_sec1 .tbl_arw .arw_box::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% + 22px);
  background: #4d6ef5;
}
.rbstem_sec1 .tbl_arw .arw_box::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 18px solid #4d6ef5;
  border-right: 24px solid transparent;
  border-left: 24px solid transparent;
  position: absolute;
  bottom: -40px;
  left: 0;
}
.rbstem_sec1 .rbstem_sec1_btm {
  padding: 2rem;
  margin-top: 4rem;
  background: #f1f1f1;
  text-align: center;
}
.rbstem_sec1 .rbstem_sec1_btm .ttl_box {
  padding: 2rem;
  margin-bottom: 2rem;
  background: #fafafa;
  position: relative;
}
.rbstem_sec1 .rbstem_sec1_btm .ttl_box h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.rbstem_sec1 .rbstem_sec1_btm .ttl_box p {
  font-weight: 600;
}
.rbstem_sec1 .rbstem_sec1_btm .ttl_box::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 36px solid #4d6ef5;
  border-right: 48px solid transparent;
  border-left: 48px solid transparent;
  position: absolute;
  bottom: -1.25rem;
  left: 50%;
  transform: translateX(-50%);
}
.rbstem_sec1 .rbstem_sec1_btm .ttl_box + p {
  font-size: 1.125rem;
  font-weight: 600;
}

.stem_strengths .stem_strengths_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
  position: relative;
}
.stem_strengths .stem_strengths_ttl::before, .stem_strengths .stem_strengths_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.stem_strengths .stem_strengths_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.stem_strengths .stem_strengths_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.stem_strengths .hikaku_tbl {
  margin-bottom: 1rem;
}
.stem_strengths .hikaku_tbl table {
  width: 100%;
  table-layout: fixed;
  position: relative;
}
.stem_strengths .hikaku_tbl table::before {
  content: "";
  display: block;
  width: 33.3333333333%;
  height: calc(100% + 1rem);
  border: 4px solid #baa82b;
  box-shadow: inset 0 1rem 0 #ded17c;
  border-radius: 10px 10px 0 0;
  position: absolute;
  bottom: 0;
  left: 33.3333333333%;
}
.stem_strengths .hikaku_tbl table th, .stem_strengths .hikaku_tbl table td {
  padding: 1rem;
  border: 2px solid #ddd;
  background: #fcfdfe;
  text-align: center;
  vertical-align: middle;
}
.stem_strengths .hikaku_tbl table th:first-of-type {
  background: transparent;
  border: none;
}
.stem_strengths .hikaku_tbl table th:nth-of-type(3) {
  background: #cfcfcf;
}
.stem_strengths .hikaku_tbl table th.reborn {
  font-weight: 600;
  background: #ded17c;
}
.stem_strengths .hikaku_tbl table td b {
  color: #c33f3f;
}
.stem_strengths .hikaku_tbl table tr td:first-of-type {
  background: #f1f1f1;
}

.stem_flow .stem_flow_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.stem_flow .stem_flow_ttl::before, .stem_flow .stem_flow_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.stem_flow .stem_flow_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.stem_flow .stem_flow_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.stem_flow .stem_flow_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 2rem;
  background: #fafafa;
}
.stem_flow .stem_flow_wrap .stem_flow_txt {
  width: 49%;
}
.stem_flow .stem_flow_wrap .stem_flow_txt h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.stem_flow .stem_flow_wrap .stem_flow_txt .flow_list li {
  padding: 1rem;
  margin-bottom: 1rem;
  border: 2px solid #4d6ef5;
  position: relative;
}
.stem_flow .stem_flow_wrap .stem_flow_txt .flow_list li:not(:last-of-type)::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 16px solid #4d6ef5;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  bottom: -1.125rem;
  left: 50%;
  transform: translateX(-50%);
}
.stem_flow .stem_flow_wrap .stem_flow_video {
  width: 49%;
}
.stem_flow .stem_flow_wrap .stem_flow_video .stem_flow_video_box {
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 1rem;
  position: relative;
}
.stem_flow .stem_flow_wrap .stem_flow_video .stem_flow_video_box iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.stem_disease .stem_disease_ttl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.stem_disease .stem_disease_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.stem_disease .tbl_box {
  padding: 2rem;
  background: #f1f1f1;
  margin-top: 1rem;
}
.stem_disease .tbl_box table {
  width: 100%;
}
.stem_disease .tbl_box table th, .stem_disease .tbl_box table td {
  padding: 1rem;
  vertical-align: middle;
  border: 2px solid #c6cdff;
}
.stem_disease .tbl_box table th {
  width: 25%;
  background: #4d6ef5;
  color: #fcfdfe;
}
.stem_disease .tbl_box table td {
  background: #fcfdfe;
}

.stem_policy_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 1rem;
}
.stem_policy_wrap .stem_policy_box {
  width: calc(33.3333333333% - 1rem);
  padding: 1rem;
  background: #fafafa;
  border-radius: 5px;
}
.stem_policy_wrap .stem_policy_box h3 {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  padding: 0.5rem;
  background: #4d6ef5;
  color: #fcfdfe;
  border-radius: 5px;
}
.stem_policy_wrap .stem_policy_box p:first-of-type {
  margin: 1rem 0;
  font-weight: 600;
  padding-left: 0.5rem;
  position: relative;
}
.stem_policy_wrap .stem_policy_box p:first-of-type::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.stem_policy_wrap .stem_policy_box dl {
  width: 100%;
}
.stem_policy_wrap .stem_policy_box dl dt {
  font-weight: 600;
}
.stem_policy_wrap .stem_policy_box dl dd {
  padding: 1rem 0;
  margin-bottom: 1rem;
  position: relative;
}
.stem_policy_wrap .stem_policy_box dl dd figure {
  width: 50%;
  margin: auto;
  position: relative;
}
.stem_policy_wrap .stem_policy_box dl dd figure::after {
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background: #c33f3f;
  transform: translateX(-50%) rotate(45deg);
  position: absolute;
  top: 0;
  left: 50%;
}
.stem_policy_wrap .stem_policy_box dl dd::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 16px solid #4d6ef5;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.stem_policy_btm_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.stem_policy_btm_wrap .stem_policy_btm_box {
  width: 68%;
}
.stem_policy_btm_wrap .stem_policy_btm_box h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.stem_policy_btm_wrap .stem_policy_btm_box .txt_box {
  padding: 1rem;
  background: #f1f1f1;
  margin-bottom: 1rem;
  border-radius: 5px;
}
.stem_policy_btm_wrap .stem_policy_btm_img {
  width: 30%;
}
.stem_policy_btm_wrap .stem_policy_btm_img img {
  border-radius: 5px;
}

.stem_feature_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.stem_feature_ttl::before, .stem_feature_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.stem_feature_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.stem_feature_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}

.stem_feature {
  padding: 2rem;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 5px;
}
.stem_feature .stem_feature_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.stem_feature .stem_feature_wrap .stem_feature_txt {
  width: calc(100% - 360px);
}
.stem_feature .stem_feature_wrap .stem_feature_ico {
  width: 340px;
  height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fcfdfe;
  border-radius: 50%;
}
.stem_feature .stem_feature_wrap .stem_feature_ico span {
  display: inline-block;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 4rem;
  line-height: 1;
  margin-bottom: 0.5rem;
  color: #4d6ef5;
}
.stem_feature .stem_feature_wrap .stem_feature_ico p:last-of-type {
  line-height: 1.2;
  font-weight: 600;
}

.stem_compliance .stem_compliance_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.stem_compliance .box {
  padding: 2rem;
  background: #fafafa;
  border-radius: 5px;
}
.stem_compliance .box h3 {
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}
.stem_compliance .stem_compliance_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.stem_compliance .stem_compliance_wrap .stem_compliance_img {
  width: 49%;
}
.stem_compliance .stem_compliance_wrap .stem_compliance_img ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.stem_compliance .stem_compliance_wrap .stem_compliance_img ul li {
  width: calc(20% - 2rem);
  margin: 1rem;
}
.stem_compliance .stem_compliance_wrap .stem_compliance_txt {
  width: 49%;
}

/*--------------------
料金一覧
--------------------*/
.price_top {
  position: relative;
  z-index: 1;
}
.price_top .price_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.price_top .price_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.price_top .price_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.price_top .price_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.price_top .price_txt {
  width: calc(100% - 400px);
}
.price_top .price_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.price_top .price_txt p {
  font-size: 1.125rem;
}
.price_top .price_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.price_top .price_link {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.price_top .price_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.price_top .price_link ul li {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  margin: 0 1rem;
}
.price_top .price_link ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.price_wrap .price_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.price_wrap .price_ttl::before, .price_wrap .price_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.price_wrap .price_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.price_wrap .price_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.price_wrap .price_tbl {
  margin-top: 1rem;
}
.price_wrap .price_tbl table {
  width: 100%;
  table-layout: fixed;
}
.price_wrap .price_tbl table th, .price_wrap .price_tbl table td {
  padding: 1rem;
  vertical-align: middle;
  border: 1px solid #fafafa;
}
.price_wrap .price_tbl table th {
  width: 140px;
  background: #a3ebff;
}
.price_wrap .price_tbl table td {
  background: #f1f1f1;
}
.price_wrap .price_tbl table td h3 {
  font-size: 1.125rem;
  font-weight: 600;
}
.price_wrap .price_tbl table td ul {
  margin-top: 0.5rem;
}
.price_wrap .price_tbl table .price {
  display: block;
  font-size: 1.125rem;
  font-weight: 600;
}
.price_wrap .box {
  padding: 2rem;
  background: #fcfdfe;
  border: 2px solid #4d6ef5;
  margin-top: 1rem;
}
.price_wrap .box h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 0.5rem;
}
.price_wrap .box p {
  margin-bottom: 0.5rem;
}

.price_abroad {
  padding: 2rem;
  margin-top: 1rem;
  border: 2px solid #4d6ef5;
  background: #fcfdfe;
}
.price_abroad h3 {
  margin-bottom: 1rem;
}

.price_choose .price_choose_ttl {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-left: 1rem;
  margin-bottom: 2rem;
}
.price_choose .price_choose_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: #4d6ef5;
  position: absolute;
  top: 0;
  left: 0;
}
.price_choose .team_wrap {
  margin-bottom: 2rem;
}
.price_choose .team_wrap .team_list li .txt_area {
  background: rgba(252, 253, 254, 0.9);
}

/*--------------------
治療の流れ
--------------------*/
.flow_top {
  position: relative;
  z-index: 1;
}
.flow_top .flow_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.flow_top .flow_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.flow_top .flow_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.flow_top .flow_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.flow_top .flow_txt {
  width: calc(100% - 400px);
}
.flow_top .flow_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.flow_top .flow_txt p {
  font-size: 1.125rem;
}
.flow_top .flow_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.flow_top .flow_link {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.flow_top .flow_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.flow_top .flow_link ul li {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  margin: 0 1rem;
}
.flow_top .flow_link ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.treatment_flow .treatment_flow_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.treatment_flow .treatment_flow_ttl::before, .treatment_flow .treatment_flow_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.treatment_flow .treatment_flow_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.treatment_flow .treatment_flow_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.treatment_flow .treatment_flow_wrap .flow_dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.treatment_flow .treatment_flow_wrap .flow_dl:not(:last-of-type) {
  margin-bottom: 2rem;
}
.treatment_flow .treatment_flow_wrap .flow_dl:not(:last-of-type) dt {
  position: relative;
}
.treatment_flow .treatment_flow_wrap .flow_dl:not(:last-of-type) dt::before, .treatment_flow .treatment_flow_wrap .flow_dl:not(:last-of-type) dt::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-right: 24px solid transparent;
  border-left: 24px solid transparent;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.treatment_flow .treatment_flow_wrap .flow_dl:not(:last-of-type) dt::before {
  border-top: 18px solid #fcfdfe;
  bottom: -17px;
  z-index: 1;
}
.treatment_flow .treatment_flow_wrap .flow_dl:not(:last-of-type) dt::after {
  content: "";
  border-top: 18px solid #4d6ef5;
  bottom: -20px;
}
.treatment_flow .treatment_flow_wrap .flow_dl dt {
  width: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem 1rem 2rem;
  border: 2px solid #4d6ef5;
  border-radius: 5px;
  background: #fcfdfe;
}
.treatment_flow .treatment_flow_wrap .flow_dl dt span {
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 2rem;
  color: #4d6ef5;
}
.treatment_flow .treatment_flow_wrap .flow_dl dt p {
  font-size: 1.25rem;
  font-weight: 600;
}
.treatment_flow .treatment_flow_wrap .flow_dl dd {
  width: calc(100% - 340px);
  padding: 1rem 0;
  border-bottom: 1px solid #ddd;
}
.treatment_flow .treatment_flow_wrap .flow_dl dd .flow_sub_ttl {
  font-weight: 600;
  color: #4d6ef5;
  margin-top: 1rem;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-top: 1rem;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list li {
  width: 300px;
  text-align: center;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list li a {
  display: block;
  padding: 0.5rem 1rem;
  text-align: center;
  border-radius: 5px;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list li a i {
  margin-right: 5px;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list .tel_btn {
  margin-right: 1rem;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list .tel_btn a {
  background: #c6cdff;
}
.treatment_flow .treatment_flow_wrap .flow_dl .flow_btn_list .form_btn a {
  background: #a3ebff;
}
.treatment_flow .treatment_flow_wrap .flow_dl .list_btm_notes ul li {
  padding-left: 0.5rem;
}
.treatment_flow .treatment_flow_wrap .flow_dl .list_btm_notes ul 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: "\f061";
  font-weight: 900;
  margin-right: 5px;
  color: #4d6ef5;
}

/*--------------------
ドクター紹介
--------------------*/
.doctor_top {
  position: relative;
  z-index: 1;
}
.doctor_top .doctor_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.doctor_top .doctor_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.doctor_top .doctor_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.doctor_top .doctor_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.doctor_top .doctor_txt {
  width: calc(100% - 400px);
}
.doctor_top .doctor_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin: 1rem 0;
}
.doctor_top .doctor_txt p {
  font-size: 1.125rem;
}
.doctor_top .doctor_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.doctor_top .doctor_catch {
  margin-top: 1rem;
}
.doctor_top .doctor_catch .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.75rem;
  color: #4d6ef5;
}
.doctor_top .doctor_catch p {
  font-size: 1.125rem;
  font-weight: 600;
}

.doc_intro .doctor_ttl {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  padding: 1rem 0;
  border-top: 1px solid #101b4d;
  border-bottom: 1px solid #101b4d;
}
.doc_intro .doctor_ttl span {
  font-size: 2.5rem;
}
.doc_intro .doc_intro_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.doc_intro .doc_intro_wrap .doc_intro_img {
  width: 45%;
  position: relative;
}
.doc_intro .doc_intro_wrap .doc_intro_img img {
  border-radius: 5px;
}
.doc_intro .doc_intro_wrap .doc_intro_img .name_cursive {
  font-family: "Pinyon Script", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
  color: #4d6ef5;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: rotate(-10deg);
}
.doc_intro .doc_intro_wrap .doc_intro_txt {
  width: 53%;
}
.doc_intro .doc_intro_btm_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.doc_intro .doc_intro_btm_wrap .doc_intro_btm_txt {
  width: 68%;
}
.doc_intro .doc_intro_btm_wrap .doc_intro_btm_img {
  width: 30%;
}
.doc_intro .doc_intro_btm_wrap .doc_intro_btm_img img {
  width: 100%;
  border-radius: 5px;
}
.doc_intro .doc_intro_btm_wrap .list_box_left,
.doc_intro .doc_intro_btm_wrap .list_box_right {
  width: 49%;
}
.doc_intro .doc_greet {
  margin: 1rem 0;
}
.doc_intro .doc_greet .signature {
  text-align: right;
}
.doc_intro .doc_greet .signature p {
  font-weight: 600;
}
.doc_intro .doc_greet .signature b {
  font-weight: 600;
  display: inline-block;
  margin-right: 0.5rem;
}
.doc_intro .doc_greet .signature span {
  font-size: 1.125rem;
  font-weight: 600;
}
.doc_intro .job_ttl {
  font-size: 1.125rem;
  font-weight: 600;
}
.doc_intro .job_ttl.ver2 {
  font-size: 1rem;
}
.doc_intro .doc_name {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.doc_intro .doc_name b {
  display: inline-block;
  font-size: 1rem;
  font-weight: 600;
  margin-right: 0.5rem;
}
.doc_intro .doc_name span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  margin-left: 0.5rem;
  font-size: 1.25rem;
  color: #4d6ef5;
}
.doc_intro .doc_name.ver2 {
  font-size: 1.25rem;
}
.doc_intro .doc_name.ver2 b {
  font-size: 1rem;
}
.doc_intro .doc_name.ver2 span {
  font-size: 1.125rem;
}
.doc_intro .prof_list {
  margin-bottom: 1rem;
}
.doc_intro .prof_list li {
  padding-left: 0.75rem;
  position: relative;
}
.doc_intro .prof_list li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.doc_intro .prof_list li::before {
  content: "";
  display: block;
  width: 6px;
  height: 2px;
  background: #4d6ef5;
  position: absolute;
  top: 12px;
  left: 0;
}
.doc_intro .intro_sub_ttl {
  font-size: 1.125rem;
  font-weight: 600;
  padding-left: 1rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.doc_intro .intro_sub_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.doc_intro .affiliation_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.doc_intro .affiliation_list li {
  width: 49%;
  position: relative;
  padding-left: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #ddd;
}
.doc_intro .affiliation_list li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  position: absolute;
  top: 0.75rem;
  left: 0;
}
.doc_intro .affiliation_list.ver2 {
  display: block;
}
.doc_intro .affiliation_list.ver2 li {
  width: 100%;
}
.doc_intro .others_doc_wrap .others_doc_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.doc_intro .others_doc_wrap .others_doc_box:not(:last-of-type) {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #101b4d;
}
.doc_intro .others_doc_wrap .others_doc_box .doc_intro_img {
  width: 30%;
}
.doc_intro .others_doc_wrap .others_doc_box .doc_intro_txt {
  width: 68%;
}

/*--------------------
脳卒中
--------------------*/
.diseases_top {
  position: relative;
  z-index: 1;
}
.diseases_top .diseases_main {
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
          clip-path: polygon(100% 0, 100% 95%, 50% 100%, 0 95%, 0 0);
  overflow: hidden;
}
.diseases_top .diseases_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.diseases_top .diseases_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.diseases_top .diseases_txt_wrap {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.diseases_top .diseases_txt {
  width: calc(100% - 400px);
}
.diseases_top .diseases_txt h2 {
  font-size: 2rem;
  font-weight: 600;
  margin: 1rem 0;
}
.diseases_top .diseases_txt p {
  font-size: 1.125rem;
}
.diseases_top .diseases_txt p span {
  font-size: 1.25rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.diseases_top .diseases_txt .stroke_top_list {
  margin-top: 1rem;
}
.diseases_top .diseases_txt .stroke_top_list li {
  padding-left: 1.5rem;
  font-size: 1.25rem;
  position: relative;
}
.diseases_top .diseases_txt .stroke_top_list li::before {
  content: "";
  display: block;
  width: 1rem;
  height: 2px;
  background: #101b4d;
  position: absolute;
  top: 0.875rem;
  left: 0;
}
.diseases_top .diseases_link {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.diseases_top .diseases_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.diseases_top .diseases_link ul li {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  margin: 0 1rem;
}
.diseases_top .diseases_link ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}

.disease_stroke .disease_worries_list {
  margin-top: 1rem;
}
.disease_stroke .disease_worries_list li {
  margin-bottom: 0.5rem;
}

.disease_stroke_sec01 {
  margin-bottom: 2rem;
}
.disease_stroke_sec01 .disease_stroke_sec01_btm {
  margin-top: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.disease_stroke_sec02 {
  margin-bottom: 2rem;
}

.disease_stroke_sec03 {
  margin-bottom: 2rem;
}
.disease_stroke_sec03 h4 {
  margin-bottom: 0.25rem;
}
.disease_stroke_sec03 ul {
  margin-bottom: 1rem;
}

.disease_stroke_sec04 {
  margin-bottom: 2rem;
}
.disease_stroke_sec04 .disease_stroke_sec04_wrap {
  margin-bottom: 1rem;
}
.disease_stroke_sec04 .disease_stroke_sec04_wrap dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #ddd;
}
.disease_stroke_sec04 .disease_stroke_sec04_wrap dl dt, .disease_stroke_sec04 .disease_stroke_sec04_wrap dl dd {
  padding: 1rem;
  font-weight: 600;
}
.disease_stroke_sec04 .disease_stroke_sec04_wrap dl dt {
  width: 260px;
}
.disease_stroke_sec04 .disease_stroke_sec04_wrap dl dd {
  width: calc(100% - 280px);
}

.disease_stroke_sec05 {
  margin-bottom: 2rem;
}
.disease_stroke_sec05 .dl_box {
  padding: 1rem;
  background: #fafafa;
  border-radius: 5px;
  margin-top: 1rem;
  position: relative;
}
.disease_stroke_sec05 .dl_box::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.disease_stroke_sec05 .dl_box dt {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.disease_stroke_sec05 .circle_ico {
  width: 180px;
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  border-radius: 50%;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.disease_stroke_sec05 .circle_ico p {
  font-size: 1.25rem;
  font-weight: 600;
}
.disease_stroke_sec05 .circle_ico span {
  font-size: 2rem;
  font-weight: 600;
}

.disease_stroke_sec06 {
  margin-bottom: 2rem;
}

.video_container {
  padding: 2rem;
  background: #fcfdfe;
  border-radius: 5px;
}

.video_wrap {
  width: 800px;
  max-width: 100%;
  margin: auto;
}
.video_wrap .video_exp {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
}
.video_wrap .video_exp span {
  display: block;
  padding: 0.5rem 2rem;
  background: #4d6ef5;
  color: #fcfdfe;
  text-align: center;
  font-weight: 600;
  border-radius: 5px;
}
.video_wrap .video_exp .video_ttl {
  margin-left: 1rem;
}
.video_wrap .video_box {
  padding-top: 56.25%;
  margin-bottom: 1rem;
  position: relative;
}
.video_wrap .video_box iframe {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
}

.about_stroke_sec01 {
  margin-bottom: 2rem;
}

.disease_accordion_wrap .accordion_btn {
  width: 300px;
  padding: 0.5rem 2rem;
  margin: auto;
  margin-bottom: 1rem;
  background: #4d6ef5;
  text-align: center;
  color: #fcfdfe;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
}
.disease_accordion_wrap .accordion_btn .acc_arw {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.disease_accordion_wrap .accordion_btn.on .acc_arw {
  transform: translateY(-50%) rotate(90deg);
}
.disease_accordion_wrap .acc_close_btn {
  display: inline-block;
  padding: 0.5rem 2rem;
  margin-bottom: 1rem;
  background: #ddd;
  color: #101b4d;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
}
.disease_accordion_wrap .acc_close_btn .acc_arw {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.disease_accordion_wrap .accordion_inner {
  display: none;
  padding: 1rem;
  background: #fcfdfe;
}
.disease_accordion_wrap .accordion_inner .accordion_txt {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}
.disease_accordion_wrap .accordion_inner .accordion_txt p {
  margin-bottom: 10px;
}
.disease_accordion_wrap .accordion_inner h3 {
  font-size: 1.25rem;
  font-weight: 600;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  background: #fafafa;
  position: relative;
}
.disease_accordion_wrap .accordion_inner h3::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.disease_accordion_wrap .accordion_inner dl {
  margin-bottom: 10px;
}
.disease_accordion_wrap .accordion_inner dl dt {
  color: #4d6ef5;
  font-weight: 600;
}

.stroke_stem_sec02 {
  margin-bottom: 2rem;
}

.stroke_stem_sec03 {
  margin-bottom: 2rem;
}
.stroke_stem_sec03 .stroke_stem_sec03_wrap {
  margin-bottom: 1rem;
}
.stroke_stem_sec03 .stroke_stem_sec03_btm {
  padding: 1rem;
  background: #fcfdfe;
}
.stroke_stem_sec03 .stroke_stem_sec03_btm .num_ttl {
  font-size: 1.125rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-top: 1rem;
}

.stroke_stem_sec04 .stroke_stem_sec04_wrap span {
  font-weight: 600;
}
.stroke_stem_sec04 .stroke_stem_sec04_btm {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
}

.disease_doc_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.disease_doc_wrap .disease_doc_txt {
  width: 60%;
}
.disease_doc_wrap .disease_doc_txt .disease_doc_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.disease_doc_wrap .disease_doc_img {
  width: 38%;
}
.disease_doc_wrap .disease_doc_img .doc_name {
  margin-top: 1rem;
  text-align: right;
}
.disease_doc_wrap .disease_doc_img .doc_name b {
  font-size: 1.25rem;
  font-weight: 600;
  display: inline-block;
  margin-right: 0.5rem;
}
.disease_doc_wrap .disease_doc_img .doc_name span {
  font-size: 1.125rem;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.disease_diagram_box {
  margin-top: 1rem;
}
.disease_diagram_box .sub_ttl {
  margin-bottom: 0.5rem;
}
.disease_diagram_box figure {
  margin-top: 1rem;
}
.disease_diagram_box img {
  width: 100%;
}

.disease_faq table {
  width: 100%;
}
.disease_faq table th, .disease_faq table td {
  padding: 1rem;
  vertical-align: middle;
  border: 2px solid #fafafa;
}
.disease_faq table th {
  width: 35%;
  text-align: left;
  font-weight: 600;
  background: #c6cdff;
}
.disease_faq table th span {
  display: inline-block;
  padding-left: 0.5rem;
  border-left: 2px solid #4d6ef5;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.disease_faq table td {
  background: #f1f1f1;
}
.disease_faq table td ul {
  margin: 1rem 0;
}

/*--------------------
脊髄損傷
--------------------*/
.disease_spinal_sec01 {
  margin-bottom: 2rem;
}

.disease_spinal_sec02 {
  margin-bottom: 2rem;
}
.disease_spinal_sec02 .disease_spinal_sec02_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.disease_spinal_sec02 .disease_spinal_sec02_wrap .disease_spinal_sec02_txt {
  width: 60%;
}
.disease_spinal_sec02 .disease_spinal_sec02_wrap .disease_spinal_sec02_txt h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin-bottom: 1rem;
}
.disease_spinal_sec02 .disease_spinal_sec02_wrap .disease_spinal_sec02_img {
  width: 38%;
}
.disease_spinal_sec02 .disease_spinal_sec02_btm .box {
  padding: 1rem;
  background: #fafafa;
  border-radius: 5px;
  text-align: center;
}
.disease_spinal_sec02 .disease_spinal_sec02_btm .separate_arw {
  position: relative;
  padding: 1rem 0;
}
.disease_spinal_sec02 .disease_spinal_sec02_btm .separate_arw::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 18px solid #4d6ef5;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.disease_spinal_sec02 .disease_spinal_sec02_btm h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #4d6ef5;
  margin: 1rem 0;
  text-align: center;
}

.disease_spinal_sec03 {
  margin-bottom: 2rem;
}

.disease_spinal_sec04 {
  margin-bottom: 2rem;
}

.disease_spinal_sec05 {
  margin-bottom: 2rem;
}
.disease_spinal_sec05 dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #ddd;
}
.disease_spinal_sec05 dl dt, .disease_spinal_sec05 dl dd {
  padding: 1rem;
  font-weight: 600;
}
.disease_spinal_sec05 dl dt {
  width: 260px;
  border-left: 6px solid #4d6ef5;
}
.disease_spinal_sec05 dl dd {
  width: calc(100% - 280px);
}
.disease_spinal_sec05 .point_box {
  padding: 2rem;
  background: #4d6ef5;
  border: 1px solid #c6cdff;
  color: #fcfdfe;
  border-radius: 5px;
}
.disease_spinal_sec05 .point_box .point_ttl {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.25rem;
}

.disease_spinal_sec06 {
  margin-bottom: 2rem;
}
.disease_spinal_sec06 .video_wrap {
  width: 800px;
  max-width: 100%;
  margin: auto;
}
.disease_spinal_sec06 .video_wrap .video_exp {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
}
.disease_spinal_sec06 .video_wrap .video_exp span {
  display: block;
  padding: 0.5rem 2rem;
  background: #4d6ef5;
  color: #fcfdfe;
  text-align: center;
  font-weight: 600;
}
.disease_spinal_sec06 .video_wrap .video_exp .video_ttl {
  margin-left: 1rem;
}
.disease_spinal_sec06 .video_wrap .video_box {
  padding-top: 56.25%;
  margin-bottom: 1rem;
  position: relative;
}
.disease_spinal_sec06 .video_wrap .video_box iframe {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
}
.disease_spinal_sec06 table {
  width: 100%;
}
.disease_spinal_sec06 table th, .disease_spinal_sec06 table td {
  padding: 1rem;
  border: 1px solid #ddd;
}
.disease_spinal_sec06 table th {
  background: #c6cdff;
}
.disease_spinal_sec06 table td {
  background: #fcfdfe;
}

.disease_spinal_sec07 .disease_spinal_sec07_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.disease_spinal_sec07 .disease_spinal_sec07_ttl::before, .disease_spinal_sec07 .disease_spinal_sec07_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.disease_spinal_sec07 .disease_spinal_sec07_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.disease_spinal_sec07 .disease_spinal_sec07_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap.reverse {
  flex-direction: row-reverse;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt {
  width: 55%;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .feature_ttl {
  margin-bottom: 1rem;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .feature_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #4d6ef5;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .feature_ttl p {
  font-size: 1.25rem;
  font-weight: 600;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .point_ttl {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .point_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: #4d6ef5;
  color: #fcfdfe;
  line-height: 1rem;
  margin-right: 5px;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .point_ttl b {
  font-weight: 600;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .point_btm {
  padding: 1rem;
  margin: 1rem 0;
  background: #f1f1f1;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_txt .txt_btm {
  padding: 1rem;
  margin-top: 1rem;
  background: #c6cdff;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_img {
  width: 43%;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_img img {
  width: 100%;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_img .image_btm,
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_img .image_btm2 {
  padding: 1rem;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_img .image_btm {
  background: #c6cdff;
  margin: 1rem 0;
}
.disease_spinal_sec07 .disease_spinal_sec07_wrap .disease_spinal_sec07_img .image_btm2 {
  background: #a3ebff;
}

.disease_spinal_sec08_wrap {
  padding: 2rem;
  background: #f1f1f1;
}
.disease_spinal_sec08_wrap .video_wrap {
  width: 800px;
  max-width: 100%;
  margin: auto;
}
.disease_spinal_sec08_wrap .video_wrap .video_exp {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
}
.disease_spinal_sec08_wrap .video_wrap .video_exp span {
  display: block;
  padding: 0.5rem 2rem;
  background: #4d6ef5;
  color: #fcfdfe;
  text-align: center;
  font-weight: 600;
}
.disease_spinal_sec08_wrap .video_wrap .video_exp .video_ttl {
  margin-left: 1rem;
}
.disease_spinal_sec08_wrap .video_wrap .video_box {
  padding-top: 56.25%;
  margin-bottom: 1rem;
  position: relative;
}
.disease_spinal_sec08_wrap .video_wrap .video_box iframe {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
}

.about_spinal_sec01 {
  margin-bottom: 2rem;
}
.about_spinal_sec01 .about_spinal_sec01_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.about_spinal_sec01 .about_spinal_sec01_ttl::before, .about_spinal_sec01 .about_spinal_sec01_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.about_spinal_sec01 .about_spinal_sec01_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.about_spinal_sec01 .about_spinal_sec01_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}

.spinal_accordion_wrap .accordion_btn {
  display: inline-block;
  padding: 0.5rem 2rem;
  margin-bottom: 1rem;
  background: #4d6ef5;
  color: #fcfdfe;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
}
.spinal_accordion_wrap .accordion_btn .acc_arw {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.spinal_accordion_wrap .accordion_btn.on .acc_arw {
  transform: translateY(-50%) rotate(90deg);
}
.spinal_accordion_wrap .acc_close_btn {
  display: inline-block;
  padding: 0.5rem 2rem;
  margin-bottom: 1rem;
  background: #ddd;
  color: #101b4d;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
}
.spinal_accordion_wrap .acc_close_btn .acc_arw {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.spinal_accordion_wrap .accordion_inner {
  display: none;
}
.spinal_accordion_wrap .accordion_inner .accordion_txt {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}
.spinal_accordion_wrap .accordion_inner h3 {
  font-size: 1.25rem;
  font-weight: 600;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  background: #fafafa;
  position: relative;
}
.spinal_accordion_wrap .accordion_inner h3::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.spinal_accordion_wrap .accordion_inner table {
  width: 100%;
  margin-top: 1rem;
}
.spinal_accordion_wrap .accordion_inner table th, .spinal_accordion_wrap .accordion_inner table td {
  padding: 1rem;
  vertical-align: middle;
}
.spinal_accordion_wrap .accordion_inner table th {
  background: #ddd;
}
.spinal_accordion_wrap .accordion_inner table td {
  background: #fafafa;
}

/*--------------------
糖尿病
--------------------*/
.disease_diabetes_sec03 {
  margin-bottom: 2rem;
}

.disease_diabetes_sec05 dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #ddd;
}
.disease_diabetes_sec05 dl dt, .disease_diabetes_sec05 dl dd {
  padding: 1rem;
  font-weight: 600;
}
.disease_diabetes_sec05 dl dt {
  width: 260px;
  border-left: 6px solid #4d6ef5;
}
.disease_diabetes_sec05 dl dd {
  width: calc(100% - 280px);
}
.disease_diabetes_sec05 .btm_box {
  padding: 1rem 2rem;
  background: #fcfdfe;
  border-left: 4px solid #4d6ef5;
  margin-top: 1rem;
}
.disease_diabetes_sec05 .btm_box h4 {
  color: #4d6ef5;
  font-weight: 600;
}

.disease_diabetes_sec06 {
  margin-bottom: 2rem;
}
.disease_diabetes_sec06 table {
  width: 100%;
}
.disease_diabetes_sec06 table th, .disease_diabetes_sec06 table td {
  padding: 1rem;
  border: 1px solid #ddd;
}
.disease_diabetes_sec06 table th {
  background: #c6cdff;
}
.disease_diabetes_sec06 table td {
  background: #fcfdfe;
}

.disease_diabetes_sec07 .disease_diabetes_sec07_ttl {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  position: relative;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_ttl::before, .disease_diabetes_sec07 .disease_diabetes_sec07_ttl::after {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
}
.disease_diabetes_sec07 .disease_diabetes_sec07_ttl::before {
  width: 4rem;
  background: #101b4d;
  left: 50%;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_ttl::after {
  width: 2rem;
  background: #4d6ef5;
  left: calc(50% - 1rem);
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap.reverse {
  flex-direction: row-reverse;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt {
  width: 55%;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .feature_ttl {
  margin-bottom: 1rem;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .feature_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #4d6ef5;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .feature_ttl p {
  font-size: 1.25rem;
  font-weight: 600;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .point_ttl {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .point_ttl span {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: #4d6ef5;
  color: #fcfdfe;
  line-height: 1rem;
  margin-right: 5px;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .point_ttl b {
  font-weight: 600;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .point_btm {
  padding: 1rem;
  margin: 1rem 0;
  background: #f1f1f1;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_txt .txt_btm {
  padding: 1rem;
  margin-top: 1rem;
  background: #c6cdff;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_img {
  width: 43%;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_img img {
  width: 100%;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_img .image_btm,
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_img .image_btm2 {
  padding: 1rem;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_img .image_btm {
  background: #c6cdff;
  margin: 1rem 0;
}
.disease_diabetes_sec07 .disease_diabetes_sec07_wrap .disease_diabetes_sec07_img .image_btm2 {
  background: #a3ebff;
}

/*--------------------
肝臓病
--------------------*/
.disease_liver_sec01 {
  margin-bottom: 2rem;
}

.disease_liver_sec02 {
  margin-bottom: 2rem;
}

.disease_liver_sec03 {
  margin-bottom: 2rem;
}
.disease_liver_sec03 .disease_iver_sec03_wrap .disease_diver_sec03_txt {
  margin-bottom: 1rem;
}
.disease_liver_sec03 .disease_iver_sec03_wrap .disease_diver_sec03_txt ul {
  margin-top: 1rem;
}
.disease_liver_sec03 .disease_iver_sec03_wrap .sub_ttl2 {
  margin-bottom: 0.5rem;
}

.disease_liver_sec03_btm {
  padding: 1rem;
  background: #fafafa;
}
.disease_liver_sec03_btm p {
  padding-left: 1rem;
  border-left: 4px solid #4d6ef5;
  font-size: 1.5rem;
  font-weight: 600;
}

.disease_liver_sec04 {
  margin-bottom: 2rem;
}

.disease_liver_sec04_btm {
  padding: 1rem;
  margin-top: 1rem;
  background: #fafafa;
}
.disease_liver_sec04_btm p {
  padding-left: 1rem;
  border-left: 4px solid #4d6ef5;
}

.disease_liver_sec05 {
  margin-bottom: 2rem;
}

.disease_liver_sec06 {
  padding-top: 2rem;
}
.disease_liver_sec06 dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #ddd;
}
.disease_liver_sec06 dl dt, .disease_liver_sec06 dl dd {
  padding: 1rem;
  font-weight: 600;
}
.disease_liver_sec06 dl dt {
  width: 260px;
}
.disease_liver_sec06 dl dd {
  width: calc(100% - 280px);
}
.disease_liver_sec06 .disease_liver_sec06_btm {
  padding: 2rem;
  background: #fafafa;
  border-radius: 5px;
  margin: 1rem 0;
}
.disease_liver_sec06 .btm_box {
  padding: 1rem 2rem;
  background: #fcfdfe;
  border-left: 4px solid #4d6ef5;
  margin-top: 1rem;
}
.disease_liver_sec06 .btm_box h4 {
  color: #4d6ef5;
  font-weight: 600;
}

/*--------------------
変形性膝関節症
--------------------*/
.disease_knee_sec02 {
  margin-bottom: 2rem;
}

.disease_knee_sec03 {
  margin-bottom: 2rem;
}

.disease_knee_sec04 {
  margin-bottom: 1rem;
}

.disease_knee_sec05 {
  margin-bottom: 1rem;
}

.disease_knee_sec06 {
  margin-bottom: 2rem;
}

.disease_knee_sec10 dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #ddd;
}
.disease_knee_sec10 dl dt, .disease_knee_sec10 dl dd {
  padding: 1rem;
  font-weight: 600;
}
.disease_knee_sec10 dl dt {
  width: 280px;
}
.disease_knee_sec10 dl dd {
  width: calc(100% - 280px);
}

/*--------------------
半月板損傷
--------------------*/
.disease_meniscus_sec01 {
  margin-bottom: 2rem;
}

.disease_meniscus_sec04 {
  margin-bottom: 2rem;
}

/*--------------------
変形性股関節症
--------------------*/
.disease_osteoarthritis_sec01 {
  margin-bottom: 1rem;
}

/*--------------------
肩腱板損傷
--------------------*/
.disease_shoulder_sec03 {
  margin-bottom: 2rem;
}

.disease_shoulder_sec04 dl {
  padding: 1rem;
  background: #fafafa;
  border-left: 4px solid #4d6ef5;
  border-radius: 0 5px 5px 0;
}
.disease_shoulder_sec04 dl dt {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.disease_shoulder_sec05 .btm_box {
  position: relative;
  padding-top: 3rem;
  margin-top: 1rem;
}
.disease_shoulder_sec05 .t_minus_ttl {
  padding: 1rem;
  background: #4d6ef5;
  color: #fcfdfe;
  font-size: 1.25rem;
  border-radius: 5px;
  text-align: center;
  position: absolute;
  top: -2rem;
  left: 1rem;
}

.disease_shoulder_sec06 .list_check {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.disease_shoulder_sec06 .list_check li {
  padding: 0.5rem 1rem;
  background: #4d6ef5;
  color: #fcfdfe;
  margin: 0 1rem;
  border-radius: 5px;
}

/*--------------------
スポーツ障害
--------------------*/
.disease_sports_sec04 .sports_ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.disease_sports_sec04 .sports_ul li {
  width: 48%;
  padding: 1rem;
  text-align: center;
  background: #fcfdfe;
  border-radius: 5px;
}
.disease_sports_sec04 .sports_ul li:last-of-type {
  width: 100%;
  margin-top: 1rem;
}
.disease_sports_sec04 table {
  width: 100%;
}
.disease_sports_sec04 table th, .disease_sports_sec04 table td {
  padding: 0.5rem 1rem;
  vertical-align: middle;
}
.disease_sports_sec04 table tr {
  border-bottom: 1px solid #ddd;
}
.disease_sports_sec04 table tr td:nth-of-type(2), .disease_sports_sec04 table tr td:nth-of-type(3) {
  text-align: center;
}
.disease_sports_sec04 table tr td:last-of-type {
  width: 300px;
}
.disease_sports_sec04 table tr.saisei td {
  background: #eff1ff;
}
.disease_sports_sec04 dl {
  padding: 1rem;
  background: #fafafa;
  border-left: 4px solid #4d6ef5;
  border-radius: 0 5px 5px 0;
}
.disease_sports_sec04 dl dt {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/*--------------------
NK細胞
--------------------*/
.nkcells_sec01 {
  margin-bottom: 3rem;
}
.nkcells_sec01 h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #4d6ef5;
}
.nkcells_sec01 .nkcells_sec01_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
  padding: 1rem;
  background: #f0fcff;
  position: relative;
}
.nkcells_sec01 .nkcells_sec01_wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 50px;
  background: #f0fcff;
  -webkit-clip-path: polygon(100% 0, 100% 5%, 50% 100%, 0 5%, 0 0);
          clip-path: polygon(100% 0, 100% 5%, 50% 100%, 0 5%, 0 0);
  position: absolute;
  bottom: -49px;
  left: 50%;
  transform: translateX(-50%);
}
.nkcells_sec01 .nkcells_sec01_wrap .nkcells_sec01_ttl {
  width: 49%;
  display: flex;
  justify-content: center;
  font-size: 2rem;
  font-weight: 600;
}
.nkcells_sec01 .nkcells_sec01_wrap .nkcells_sec01_txt {
  width: 49%;
}

/*--------------------
肌再生
--------------------*/
.disease_skin_sec01 {
  margin-bottom: 2rem;
}

.ribbon_ttl {
  padding: 1rem;
  background: #4d6ef5;
  color: #fcfdfe;
  border-radius: 5px 5px 5px 0;
  position: absolute;
  top: 3rem;
  left: 1rem;
}
.ribbon_ttl span {
  font-size: 1.5rem;
  font-weight: 600;
}
.ribbon_ttl::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 1rem solid #4d6ef5;
  border-left: 1rem solid transparent;
  position: absolute;
  bottom: -1rem;
  left: 0;
}

/*--------------------
慢性疼痛
--------------------*/
.disease_chronicpain_sec01 {
  margin-bottom: 2rem;
}

/*--------------------
AGA
--------------------*/
.aga_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 2rem 0;
}
.aga_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 1rem;
}
.aga_list li span {
  width: 160px;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #baa82b;
  border-radius: 50%;
  background: #fcfdfe;
  font-size: 1.25rem;
  font-weight: 600;
}
.aga_list li:not(:last-of-type)::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: "+";
  font-weight: 900;
  margin-left: 1rem;
}

.aga_tbl {
  width: 100%;
  table-layout: fixed;
}
.aga_tbl th, .aga_tbl td {
  padding: 1rem 0.5rem;
  border: 1px solid #fcfdfe;
  vertical-align: middle;
}
.aga_tbl th {
  background: #eff1ff;
}
.aga_tbl td {
  background: #fafafa;
}

.aga_tbl2 {
  width: 100%;
}
.aga_tbl2 th, .aga_tbl2 td {
  padding: 1rem 0.5rem;
  border: 1px solid #fcfdfe;
  vertical-align: middle;
}
.aga_tbl2 th {
  background: #f0fcff;
}
.aga_tbl2 td {
  background: #fafafa;
}
.aga_tbl2 tbody th {
  width: 15%;
}

.step_chart_ttl .ttl_wrap {
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.step_chart_ttl .ttl_wrap p {
  font-size: 1.25rem;
  font-weight: 600;
  margin-left: 0.5rem;
}
.step_chart_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: block;
  padding: 0.25rem 1rem;
  color: #fcfdfe;
  font-size: 1.25rem;
  z-index: 1;
}
.step_chart_ttl .eng::before {
  width: 200px;
  height: 300%;
  content: "";
  background: #4d6ef5;
  position: absolute;
  top: -150%;
  left: -100px;
  transform: rotate(25deg);
  z-index: -1;
}

.recommend_tag {
  position: relative;
  z-index: 1;
}
.recommend_tag span {
  display: inline-block;
  width: 70px;
  padding: 0.5rem 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fcfdfe;
  text-align: center;
  background: #ded17c;
  position: absolute;
  top: -26px;
  right: 1rem;
}
.recommend_tag span i {
  font-size: 1.5rem;
}
.recommend_tag span::before, .recommend_tag span::after {
  content: "";
  position: absolute;
}
.recommend_tag span::before {
  top: 0;
  right: -10px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #baa82b;
}
.recommend_tag span::after {
  top: 50%;
  left: 0;
  display: block;
  border: 35px solid #ded17c;
  border-bottom-width: 1rem;
  border-bottom-color: transparent;
  z-index: -1;
}

.aga_item_ttl {
  padding: 0.5rem 1rem;
  background: #eff1ff;
  border-radius: 5px;
  margin-bottom: 1rem;
}

/*--------------------
ED
--------------------*/
.ed_dl {
  margin-bottom: 1rem;
}
.ed_dl dt {
  font-weight: 600;
}
.ed_dl dd {
  padding-left: 1rem;
}

/*--------------------
歯科
--------------------*/
/*--------------------
無料相談
--------------------*/
.contact_tel_wrap {
  padding: 1rem;
  background: #fafafa;
}
.contact_tel_wrap .contact_tel_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
.contact_tel_wrap .contact_tel_box h2 {
  font-size: 1.5rem;
  font-weight: 600;
  padding: 0.5rem 2rem;
  background: #4d6ef5;
  color: #fcfdfe;
}
.contact_tel_wrap .contact_tel_box .tel_wrap {
  margin-left: 1rem;
}
.contact_tel_wrap .contact_tel_box .tel_wrap span a {
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 2rem;
  color: #4d6ef5;
}

/*--------------------
プライバシーポリシー
--------------------*/
.privacy_policy_wrap {
  padding: 1rem;
  background: #fcfdfe;
  border-radius: 5px;
}
.privacy_policy_wrap .privacy_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
.privacy_policy_wrap .privacy_box .privacy_item:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px dashed #f1f1f1;
}
.privacy_policy_wrap .privacy_box .privacy_list {
  counter-reset: list-counter;
}
.privacy_policy_wrap .privacy_box .privacy_list li {
  counter-increment: list-counter;
  position: relative;
  padding-left: calc(1rem + 8px);
  font-size: 1rem;
}
.privacy_policy_wrap .privacy_box .privacy_list li:not(:last-of-type) {
  margin-bottom: 0.25rem;
}
.privacy_policy_wrap .privacy_box .privacy_list li::before {
  content: counter(list-counter) ".";
  width: 1rem;
  position: absolute;
  left: 0;
  color: #4d6ef5;
  font-weight: 600;
  text-align: right;
}
.privacy_policy_wrap .privacy_btm_box {
  margin-top: 2rem;
}

/*--------------------
footer
--------------------*/
footer {
  background: linear-gradient(0deg, rgba(16, 27, 77, 0.8) 0%, rgba(16, 27, 77, 0.8) 100%), url(../img/footer_bg.jpg) no-repeat center/cover;
}

.f_contact_ttl {
  text-align: center;
  margin-bottom: 2rem;
}
.f_contact_ttl .eng {
  display: block;
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
}
.f_contact_ttl p {
  font-size: 1.5rem;
  font-weight: 600;
}

.f_contact_wrap {
  text-align: center;
}
.f_contact_wrap .txt_wrap {
  padding: 0 2rem;
}
.f_contact_wrap .txt_wrap > p {
  margin-bottom: 2rem;
}
.f_contact_wrap .contact_btn_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.f_contact_wrap .contact_btn_list li {
  width: 30%;
  padding: 2rem;
  margin: 0 1rem;
  text-align: center;
  background: #fcfdfe;
  border-radius: 5px;
}
.f_contact_wrap .contact_btn_list li p {
  margin-top: 0.5rem;
}
.f_contact_wrap .contact_btn_list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem;
  font-size: 1rem;
  line-height: 1;
  border-radius: 5px;
}
.f_contact_wrap .contact_btn_list li .form_btn a {
  background: #c6cdff;
}
.f_contact_wrap .contact_btn_list li .form_btn a i {
  margin-right: 0.5rem;
}
.f_contact_wrap .contact_btn_list li .line_btn a {
  background: #06c755;
  color: #fcfdfe;
}
.f_contact_wrap .contact_btn_list li .line_btn a i {
  margin-right: 0.5rem;
}
.f_contact_wrap .contact_btn_list li .f_tel {
  text-align: center;
}
.f_contact_wrap .contact_btn_list li .f_tel a {
  background: #a3ebff;
}
.f_contact_wrap .contact_btn_list li .f_tel a i {
  margin-right: 0.5rem;
}

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

.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 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.access_wrap .txt_area {
  width: 60%;
}
.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 .txt_area .txt_btm h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.access_wrap .txt_area .txt_btm p {
  margin-bottom: 0.5rem;
}
.access_wrap .map_area {
  width: 38%;
}
.access_wrap .sub_ttl2 {
  margin-bottom: 0.5rem;
}

.footer_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.footer_wrap .f_logo {
  width: 320px;
}
.footer_wrap .f_logo h2 {
  margin-top: 1rem;
  color: #fcfdfe;
}
.footer_wrap .f_navi {
  width: calc(100% - 880px);
}
.footer_wrap .f_navi .menu_ttl {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 2rem;
  color: #fcfdfe;
}
.footer_wrap .f_navi .f_navi_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.footer_wrap .f_navi .f_navi_list ul {
  width: 48%;
}
.footer_wrap .f_navi .f_navi_list ul li a {
  display: block;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #cfcfcf;
  color: #fcfdfe;
  position: relative;
}
.footer_wrap .f_navi .f_navi_list ul 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;
  position: absolute;
  top: 5px;
  right: 1rem;
}
.footer_wrap .link_wrap {
  width: 360px;
}
.footer_wrap .link_wrap .kogekai_logo {
  width: 160px;
  margin: auto;
  margin-bottom: 1rem;
}
.footer_wrap .link_wrap .official_yt {
  text-align: center;
  margin-bottom: 1rem;
}
.footer_wrap .link_wrap .official_yt a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0;
  background: #fcfdfe;
}
.footer_wrap .link_wrap .official_yt a i {
  color: #da1725;
  font-size: 1.5rem;
  margin-right: 0.25rem;
}
.footer_wrap .link_wrap .clinic_list {
  margin-bottom: 1rem;
}
.footer_wrap .link_wrap .clinic_list li a {
  display: block;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #cfcfcf;
  color: #fcfdfe;
  position: relative;
}
.footer_wrap .link_wrap .clinic_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;
  position: absolute;
  top: 5px;
  right: 1rem;
}
.footer_wrap .link_wrap .center_list li a {
  display: block;
  display: block;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #cfcfcf;
  color: #fcfdfe;
  position: relative;
}
.footer_wrap .link_wrap .center_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;
  position: absolute;
  top: 5px;
  right: 1rem;
}
.footer_wrap .link_wrap .sns_list {
  text-align: center;
}
.footer_wrap .link_wrap .sns_list li {
  display: inline-block;
  padding: 0.5rem;
}
.footer_wrap .link_wrap .sns_list li a {
  color: #fcfdfe;
  font-size: 1.5rem;
}

.foot_end_wrap {
  margin-top: 2rem;
  text-align: center;
}
.foot_end_wrap .foot_end_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  color: #fcfdfe;
}
.foot_end_wrap .foot_end_ttl::before, .foot_end_wrap .foot_end_ttl::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background: #fcfdfe;
}
.foot_end_wrap .foot_end_ttl span {
  display: inline-block;
  margin: 0 0.5rem;
}
.foot_end_wrap ul li {
  margin-top: 1rem;
}
.foot_end_wrap ul li a {
  display: block;
  padding: 0.5rem 1rem;
  border-radius: 5px;
}
.foot_end_wrap ul .tel_btn {
  color: #fcfdfe;
}
.foot_end_wrap ul .tel_btn a {
  background: #c6cdff;
}
.foot_end_wrap ul .tel_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: "\f098";
  font-weight: 900;
  margin-right: 0.5rem;
}
.foot_end_wrap ul .form_btn a {
  background: #a3ebff;
}
.foot_end_wrap ul .form_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;
}

.policy_wrap {
  text-align: center;
  margin-top: 100px;
  color: #fcfdfe;
}
.policy_wrap a {
  color: #fcfdfe;
}
.policy_wrap .policy_txt {
  margin-bottom: 2rem;
}
.policy_wrap .policy_txt a {
  text-decoration: underline;
}

/*--------------------
フォーム
--------------------*/
.contact_form_wrap {
  padding: 1rem;
  background: #fcfdfe;
}

.contac_form {
  padding: 2rem;
  background: #fcfdfe;
  border-radius: 5px;
}
.contac_form dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.contac_form dl dt {
  width: 320px;
  margin: 1rem 0;
}
.contac_form dl dd {
  width: calc(100% - 320px);
  margin: 1rem 0;
}
.contac_form input[type=text], .contac_form input[type=tel], .contac_form input[type=email], .contac_form textarea {
  display: block;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
}
.contac_form select, .contac_form .form_date input {
  display: inline-block;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
}
.contac_form .hissu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.contac_form .hissu::before {
  content: "必須";
  display: inline-block;
  padding: 0.25rem 0.5rem 0.35rem;
  background: #c33f3f;
  color: #fcfdfe;
  line-height: 1;
  font-size: 0.75rem;
  margin-top: 3px;
  margin-right: 1rem;
  border-radius: 5px;
}
.contac_form .form_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 1rem 0;
}
.contac_form .submi_btn {
  margin: 1rem 0;
  text-align: center;
}
.contac_form .submi_btn input {
  display: inline-block;
  width: 240px;
  padding: 0.5rem 2rem;
  border-radius: 5px;
  background: #4d6ef5;
  color: #fcfdfe;
}
.contac_form .submi_btn .wpcf7-spinner {
  display: none !important;
}
.contac_form .reserve_box {
  padding: 1rem;
  background: #eff1ff;
}

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

/*--------------------
お知らせ等記事ページ共通
--------------------*/
.single img {
  height: auto;
}

.single_top {
  position: relative;
  z-index: 1;
}
.single_top .single_main {
  height: 30vh;
}
.single_top .single_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single_top .single_main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 253, 254, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.single_top .single_main_ttl {
  text-align: center;
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.single_top .single_main_ttl h2 {
  font-size: 2rem;
  font-weight: 600;
  margin: 0;
  padding: 0;
}
.single_top .single_main_ttl h2 p {
  font-size: 1.125rem;
  margin: 0;
  padding: 0;
}

.single_blog_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.single_blog_wrap .blog_main {
  width: 70%;
}
.single_blog_wrap .blog_main .blog_box {
  padding: 1rem;
  background: #fcfdfe;
  border-radius: 5px;
}
.single_blog_wrap .blog_side {
  width: 25%;
  padding: 1rem;
  background: #fafafa;
  position: sticky;
  top: 160px;
}
.single_blog_wrap .blog_side .search_wrap {
  margin-bottom: 1rem;
}
.single_blog_wrap .blog_side .search_wrap dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.single_blog_wrap .blog_side .search_wrap dl .search_window {
  width: calc(100% - 62px);
  border: 1px solid #101b4d;
}
.single_blog_wrap .blog_side .search_wrap dl .search_window input {
  width: 100%;
  display: inline-block;
  padding: 0.25rem 0.5rem;
}
.single_blog_wrap .blog_side .search_wrap dl .search_btn {
  width: 54px;
}
.single_blog_wrap .blog_side .search_wrap dl .search_btn button {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
}
.single_blog_wrap .blog_side .side_ttl {
  font-size: 1rem;
  position: relative;
  margin: 0;
  padding: 0.25rem 0.5rem;
  background: #101b4d;
  color: #fcfdfe;
}
.single_blog_wrap .blog_side .side_ttl::before {
  content: "";
  display: block;
  height: 1rem;
  background: #fcfdfe;
  position: absolute;
  top: 9px;
  left: 0.5rem;
}
.single_blog_wrap .blog_side .categories_list li a {
  display: block;
  padding: 0.5rem;
  border-bottom: 1px solid #101b4d;
}
.single_blog_wrap .navigation.pagination .screen-reader-text {
  display: none;
}

.archive_list li {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
}
.archive_list li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.archive_list li figure {
  width: 20%;
}
.archive_list li .list_inr {
  width: 78%;
}
.archive_list li .list_inr .archive_list_ttl {
  font-size: 1rem;
  margin: 0;
  margin-bottom: 0.5rem;
}
.archive_list li .list_inr .archive_list_body p {
  margin: 0;
}

.pagination_wrap {
  text-align: center;
  margin-top: 2rem;
}
.pagination_wrap a, .pagination_wrap span {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  margin: 0 0.25rem;
  border: 1px solid #101b4d;
}
.pagination_wrap .current {
  background: #101b4d;
  color: #fcfdfe;
}
.pagination_wrap .next, .pagination_wrap .prev {
  border: 0;
  padding: 0;
  text-decoration: underline;
}

/*--------------------
Gtranslate翻訳
--------------------*/
.language {
  width: 180px;
  padding: 1.5rem 0;
  margin-left: 1rem;
}
.language .gt_float_switcher {
  display: block;
  box-shadow: none;
  font-size: 1rem;
}
.language .gt_float_switcher img {
  width: 1.75rem;
}
.language .gt_float_switcher .gt-selected .gt-current-lang {
  position: relative;
}
.language .gt_float_switcher .gt-selected .gt-current-lang span {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
}
.language .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
  transform: rotate(0deg);
}
.language .gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code {
  margin-left: 10px;
}

/*--------------------
shutto翻訳
--------------------*/
.stt-lang-select.br {
  top: 1.5rem !important;
  right: 322px !important;
  bottom: inherit !important;
  border-radius: 0;
}
.stt-lang-select.on {
  max-height: -moz-fit-content !important;
  max-height: fit-content !important;
}
@media screen and (max-width: 1487px) {
  .stt-lang-select.br {
    right: 2rem !important;
  }
}

/*--------------------
Youtube
--------------------*/
.yt_container {
  width: 980px;
  max-width: 100%;
  margin: auto;
}

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

.single h1, .single h2, .single h3, .single h4, .single h5, .single h6, .single p, .single b {
  margin: revert;
  padding: revert;
  font-size: revert;
  font-weight: revert;
}

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

.sp {
  display: none;
}

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