@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&display=swap");
html,
body {
  font-size: 16px;
  letter-spacing: 0.1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  color: #101b4d;
  background: #fcfdfe;
}

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

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

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

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

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

.m_text {
  font-size: 2rem;
}

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

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

.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: #a3ebff;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  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;
}

/*--------------------
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: rgba(252, 253, 254, 0.8);
  opacity: 0;
  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%;
}
.header_wrap .h_contact {
  padding: 1rem;
  margin-left: 2rem;
  background: #fcfdfe;
  text-align: center;
  border-radius: 0 0 5px 5px;
}
.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;
}
.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 li a {
  display: block;
  padding: 2rem 0.5rem;
  transition: 0.5s ease;
}

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

/*--------------------
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 Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, 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;
}

.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 Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, 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_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
.news_wrap .news_ttl {
  width: 220px;
}
.news_wrap .news_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
  color: #a3ebff;
}
.news_wrap .news_ttl p {
  font-size: 1.5rem;
  font-weight: 600;
}
.news_wrap .news_area {
  width: calc(100% - 240px);
}

.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 .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%;
  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.8) 0%, rgba(163, 235, 255, 0.8) 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;
  border: 4px solid #fcfdfe;
  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: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  margin-top: 2rem;
}
.disease_wrap .box h3 {
  font-size: 2rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #fcfdfe;
}

.disease_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.disease_list > li {
  width: calc(33.3333333333% - 1rem);
  padding: 1rem;
  text-align: center;
  background: #fcfdfe;
  padding: 1rem;
  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: 1rem 0;
  font-size: 1.5rem;
}
.top_safe .safe_img_box .share_ico b {
  display: block;
  letter-spacing: normal;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}

.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;
}
.top_stem .diagram_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.top_stem .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;
}
.top_stem .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;
}
.top_stem .diagram_box ul li h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.top_stem .diagram_box ul li figure {
  margin-top: auto;
}
.top_stem .diagram_box ul li figure > p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0 1rem;
}
.top_stem .diagram_box ul li figure > p::before, .top_stem .diagram_box ul li figure > p::after {
  content: "";
  display: block;
  width: 5rem;
  height: 2px;
}
.top_stem .diagram_box ul li figure > p::before {
  background: linear-gradient(135deg, #c6cdff 0%, #a3ebff 100%);
}
.top_stem .diagram_box ul li figure > p::after {
  background: linear-gradient(135deg, #a3ebff 0%, #c6cdff 100%);
}
.top_stem .diagram_box ul li figure > p span {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0.5rem;
}
.top_stem .diagram_box ul li figure .diagram_box_img {
  padding: 0 3rem;
}

.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 #c33f3f;
  box-shadow: inset 0 1rem 0 #fcfdfe;
  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 #f1f1f1;
  background: #fcfdfe;
  text-align: center;
}
.top_table .hikaku_tbl table th:first-of-type {
  background: transparent;
  border: none;
}
.top_table .hikaku_tbl table th:nth-of-type(3) {
  background: #594d45;
  color: #fcfdfe;
}
.top_table .hikaku_tbl table th.reborn {
  font-weight: 600;
}
.top_table .hikaku_tbl table td b {
  color: #c33f3f;
}
.top_table .hikaku_tbl table tr td:first-of-type {
  background: #4d6ef5;
  color: #fcfdfe;
}

.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%;
  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: space-between;
  align-items: stretch;
}
.strengths_list li {
  width: calc((100% - 3rem) / 3);
  padding: 2rem;
  margin: 3rem 0;
  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;
}

.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 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 2rem;
}
.faq_wrap .faq_left,
.faq_wrap .faq_right {
  width: 48%;
}

.faq_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
.faq_box .faq_sub_ttl {
  color: #c6cdff;
  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 {
  width: 120px;
  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;
}
.blog_wrap ul li figure {
  margin-bottom: 0.5rem;
}
.blog_wrap ul li .blog_date {
  display: inline-block;
  color: #cfcfcf;
}
.blog_wrap ul li .case_name {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #f1f1f1;
}

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

/*--------------------
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;
}

#side_btn {
  box-shadow: 0 5px 10px -5px #101b4d;
  position: fixed;
  top: 50%;
  right: 1rem;
  z-index: 2;
}
#side_btn ul li {
  writing-mode: vertical-rl;
}
#side_btn ul li a {
  display: block;
  padding: 1rem 0.5rem;
  color: #fcfdfe;
}
#side_btn 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;
  margin-top: 5px;
}
#side_btn ul li:nth-of-type(1) a {
  background: #c6cdff;
}
#side_btn ul li:nth-of-type(2) a {
  background: #a3ebff;
}

.f_contact_ttl {
  color: #fcfdfe;
  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: 2rem;
}
.f_contact_wrap .txt_wrap > p {
  color: #fcfdfe;
  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: 1rem;
  text-align: center;
  background: #fcfdfe;
}
.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;
  color: #fcfdfe;
}
.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;
}
.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: 56.25%;
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.access_ttl {
  text-align: center;
  margin-bottom: 2rem;
}
.access_ttl .eng {
  font-family: "Jost", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 4rem;
}
.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: 55%;
}
.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: 43%;
}
.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: 300px;
}
.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: 0;
}
.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;
  color: #fcfdfe;
}
.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;
}

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

.sp {
  display: none;
}