@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bellefair&family=Shippori+Mincho&display=swap");
@media screen and (max-width: 1024px) {
  /*--------------------
  共通コンテナ
  --------------------*/
  .container {
    width: 1600px;
    max-width: 100%;
    margin: auto;
    padding-top: 60px;
    padding-bottom: 60px;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .container2 {
    width: 1800px;
    max-width: 100%;
    margin: auto;
    padding-top: 60px;
    padding-bottom: 60px;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .m_box {
    padding: 1rem;
  }
  .m_box2 {
    padding: 1rem;
  }
  .gmap {
    padding-top: 150%;
  }
  /*--------------------
  共通見出し
  --------------------*/
  .m_text {
    font-size: 1.25rem;
  }
  .m_text2 {
    font-size: 1.125rem;
  }
  .eng {
    letter-spacing: 0.125rem;
  }
  .h_ttl span {
    font-size: 2rem;
  }
  .h_ttl p {
    font-size: 1.125rem;
  }
  .box_ttl {
    margin-bottom: 1rem;
  }
  .box_ttl span {
    font-size: 1.25rem;
  }
  .box_ttl span::after {
    width: 1rem;
    height: 2px;
    margin: 0 0.5rem;
  }
  .box_ttl b {
    font-size: 1rem;
  }
  .line_ttl {
    font-size: 1rem;
    padding: 0.75rem 0;
  }
  .dline_ttl {
    padding: 0 1rem;
    font-size: 1.5rem;
  }
  .dline_ttl::before, .dline_ttl::after {
    width: 1rem;
  }
  .mid_ttl {
    font-size: 1.25rem;
  }
  /*--------------------
  liデザイン
  --------------------*/
  .list_dot li {
    font-size: 0.75rem;
  }
  .list_dot li::before {
    top: 12px;
  }
  .list_dot2 li {
    font-size: 0.75rem;
  }
  .list_dot2 li::before {
    width: 4px;
    height: 4px;
    top: 12px;
  }
  /*--------------------
  header
  --------------------*/
  header {
    width: 100%;
    height: auto;
    padding: 0;
  }
  .head_wrap {
    padding: 1rem;
  }
  #logo {
    width: 180px;
    position: relative;
    z-index: 1;
  }
  .nav_wrap {
    width: 100%;
    height: 100%;
    background: #ddd0b2;
    transition: 0.3s ease-in-out;
    position: fixed;
    top: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
  }
  .nav_wrap nav {
    width: 100%;
    padding: 80px 1rem 2rem;
  }
  .nav_wrap nav ul {
    display: block;
  }
  .nav_wrap nav ul li + li {
    border: 0;
  }
  .nav_wrap nav ul li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0.5rem;
    font-weight: 600;
    color: #232323;
    border-bottom: 1px solid #232323;
  }
  .nav_wrap nav 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;
  }
  .nav_wrap .nav_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
  }
  .nav_wrap .nav_btn li {
    width: 48%;
  }
  .nav_wrap .nav_btn li a {
    display: block;
    text-align: center;
    padding: 1rem;
    background: #fff;
    border-radius: 0.5rem;
  }
  .nav_wrap .nav_btn li i {
    font-size: 1.25rem;
    margin-right: 0.5rem;
    color: #cbbd53;
  }
  .nav_wrap .nav_btn li.nav_line_btn {
    width: 100%;
    margin-top: 1rem;
  }
  .nav_wrap .nav_btn li.nav_line_btn a {
    background: #fff;
  }
  .nav_wrap .nav_btn li.nav_line_btn i {
    color: #06c755;
  }
  #nav_toggle {
    width: 2rem;
    height: 1rem;
    position: fixed;
    top: 1.5rem;
    right: 1rem;
    cursor: pointer;
  }
  #nav_toggle span {
    width: 100%;
    height: 2px;
    background: #fff;
    transition: 0.3s ease-in-out;
    position: absolute;
    right: 0;
  }
  #nav_toggle span:nth-of-type(1) {
    top: 0;
  }
  #nav_toggle span:nth-of-type(2) {
    top: 0.5rem;
  }
  #nav_toggle span:nth-of-type(3) {
    top: 100%;
  }
  .open #logo {
    filter: brightness(0) invert(0);
  }
  .open .nav_wrap {
    opacity: 1;
    visibility: visible;
  }
  .open #nav_toggle span {
    background: #232323;
  }
  .open #nav_toggle span:nth-of-type(1) {
    top: 0.5rem;
    transform: rotate(-45deg);
  }
  .open #nav_toggle span:nth-of-type(2) {
    width: 0;
    opacity: 0;
  }
  .open #nav_toggle span:nth-of-type(3) {
    top: 0.5rem;
    transform: rotate(45deg);
  }
  /*--------------------
  メインビジュアル
  --------------------*/
  #mainvisual {
    height: 75vh;
  }
  #catch {
    width: 90%;
  }
  #catch h2 span {
    font-size: 2rem;
  }
  #catch h2 p {
    font-size: 1rem;
  }
  #catch .eng_btm_ttl {
    font-size: 1.125rem;
  }
  /*--------------------
  TOP
  --------------------*/
  #top1 .top_about_wrap .top_about_img {
    height: 310px;
  }
  #top1 .top_about_wrap .top_about_txt {
    width: 1600px;
    max-width: 100%;
    margin: auto;
    padding-top: 60px;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
  #top1 .top_about_wrap .top_about_txt .top_about_ttl {
    padding: 0 1rem;
  }
  #top1 .top_about_wrap .top_about_txt .top_about_ttl h2 span {
    font-size: 1.5rem;
  }
  #top1 .top_about_wrap .top_about_txt .top_about_ttl h2 p {
    font-size: 2rem;
  }
  #top1 .top_about_wrap .top_about_txt .btn_box {
    text-align: center;
    margin-bottom: 2rem;
  }
  #top1 .top_about_wrap .top_about_txt .btn_box a {
    font-size: 1rem;
  }
  #top1 .top_about_wrap .top_about_txt .btm_txt {
    text-align: center;
    font-size: 1rem;
  }
  #top1 .top_about_wrap .top_about_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
  }
  #top1 .top_about_wrap .top_about_list ul li {
    width: 48%;
    padding: 1rem;
  }
  #top1 .top_about_wrap .top_about_list ul li:nth-of-type(1), #top1 .top_about_wrap .top_about_list ul li:nth-of-type(2) {
    margin-bottom: 1rem;
  }
  #top1 .top_about_wrap .top_about_list ul li span {
    font-size: 3rem;
  }
  #top1 .top_about_wrap .top_about_list ul li p {
    font-size: 1rem;
  }
  #top2 .eng_big_ttl {
    font-size: 3rem;
  }
  #top2 .approach_wrap {
    padding-top: 2rem;
  }
  #top2 .approach_wrap .approach_img {
    width: 100%;
  }
  #top2 .approach_wrap .approach_img .img1 {
    height: 240px;
  }
  #top2 .approach_wrap .approach_img2 {
    width: 100%;
    display: none;
  }
  #top2 .approach_wrap .approach_txt {
    width: 100%;
    margin-top: 1rem;
  }
  #top2 .approach_wrap .approach_txt h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  #top3 .ttl_wrap {
    display: block;
    text-align: center;
  }
  #top3 .ttl_wrap h2 {
    margin-bottom: 2rem;
  }
  #top3 .ttl_wrap h2 span {
    font-size: 3rem;
  }
  #top3 .ttl_wrap h2 p {
    font-size: 1.5rem;
  }
  #top3 .ttl_wrap .ttl_sub {
    margin-left: 0;
    font-size: 1.25rem;
  }
  #top3 .ttl_wrap .ttl_sub b {
    line-height: 1;
  }
  #top3 .reason_wrap .reason_box {
    width: 100%;
    margin-top: 2rem;
    padding: 1rem;
  }
  #top3 .reason_wrap .reason_box .reason_txt {
    width: 100%;
  }
  #top3 .reason_wrap .reason_box .reason_img {
    width: 100%;
    margin-top: 1rem;
  }
  #top4 .case_wrap h2 {
    margin-bottom: 2rem;
  }
  #top4 .case_wrap h2 span {
    display: block;
    text-align: center;
    font-size: 3rem;
  }
  #top4 .case_wrap h2 p {
    font-size: 1.5rem;
  }
  #top4 .case_wrap .case_list_box {
    margin-left: 0;
  }
  #top4 .case_wrap .case_list_box ul li {
    font-size: 1rem;
  }
  #top4 .case_wrap .case_list_box ul li::before {
    top: 26px;
  }
  #top5 h2 {
    text-align: center;
  }
  #top5 h2 span {
    font-size: 3rem;
  }
  #top5 h2 p {
    font-size: 1.5rem;
  }
  #top5 .disease_wrap .disease_box {
    display: block;
    margin-bottom: 2rem;
    padding: 1rem;
  }
  #top5 .disease_wrap .disease_box .img_box {
    width: 100%;
  }
  #top5 .disease_wrap .disease_box .img_box figure {
    margin-bottom: 1rem;
  }
  #top5 .disease_wrap .disease_box .txt_box {
    width: 100%;
  }
  #top5 .disease_wrap .disease_box .txt_box h3 {
    font-size: 1.25rem;
    padding-bottom: 0.5rem;
  }
  #top5 .disease_wrap .disease_box .txt_box .list_dot2 li {
    padding: 0.5rem 1rem 0.5rem 1.5rem;
  }
  #top5 .disease_wrap .disease_box .txt_box .list_dot2 li:before {
    top: 1rem;
    left: 1rem;
  }
  #top6 h2 {
    text-align: center;
  }
  #top6 h2 span {
    font-size: 3rem;
  }
  #top6 h2 p {
    font-size: 1.5rem;
  }
  #top6 .flow_chart .flow_box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
    padding: 1rem;
  }
  #top6 .flow_chart .flow_box::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: "\f0dd";
    font-weight: 900;
    top: inherit;
    bottom: -1rem;
    right: 50%;
    transform: translateX(50%);
  }
  #top6 .flow_chart .flow_box:nth-of-type(3n)::after {
    display: inline-block;
  }
  #top6 .flow_chart .flow_box:last-of-type {
    margin-bottom: 0;
  }
  #top7 h2 {
    text-align: center;
  }
  #top7 h2 span {
    font-size: 3rem;
  }
  #top7 h2 p {
    font-size: 1.5rem;
  }
  #top7 .list_check.large li {
    font-size: 1rem;
  }
  #top7 .list_check.large li::before {
    font-size: 1rem;
  }
  #top7 .member_box .box {
    width: 100%;
  }
  #top7 .member_box .box:nth-of-type(1) {
    margin-bottom: 2rem;
  }
  #top8 h2 span {
    font-size: 3rem;
  }
  #top8 h2 p {
    font-size: 1.5rem;
  }
  #top8 .doc_wrap .doc_img {
    width: 100%;
    margin-bottom: 1rem;
  }
  #top8 .doc_wrap .doc_txt {
    width: 100%;
  }
  #top9 .other_doc_wrap .other_doc_box {
    width: 100%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
  #top9 .other_doc_wrap .other_doc_box:last-of-type {
    margin-bottom: 0;
  }
  #top9 .koge_wrap {
    padding: 1rem;
  }
  #top9 .koge_wrap .koge_img {
    width: 100%;
    margin-bottom: 1rem;
  }
  #top9 .koge_wrap .koge_txt {
    width: 100%;
  }
  #top10 h2 span {
    font-size: 3rem;
  }
  #top10 h2 p {
    font-size: 1.5rem;
  }
  #top10 .faq_wrap dt {
    padding-left: 2rem;
    font-size: 1rem;
  }
  #top10 .faq_wrap dt span {
    font-size: 1.5rem;
    top: -6px;
  }
  /*--------------------
  下層共通
  --------------------*/
  .u_hero .u_head_ttl_wrap {
    width: 1800px;
    max-width: 100%;
    margin: auto;
    padding-top: 200px;
    padding-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    color: #fff;
  }
  .u_hero .u_head_ttl span {
    font-size: 3rem;
  }
  .u_hero .u_head_ttl p {
    font-size: 1rem;
  }
  #comparison h2 span {
    font-size: 1rem;
  }
  #comparison h2 p {
    font-size: 1.5rem;
  }
  #comparison .comparison_wrap {
    width: 100%;
    overflow: scroll;
  }
  #comparison .comparison_wrap .comparison_tbl {
    width: 1000px;
  }
  #message .message_wrap h2 {
    font-size: 1rem;
    transform: none;
    margin-bottom: 0;
    position: absolute;
    top: 125px;
    left: 1rem;
  }
  #message .message_wrap .message_img {
    width: 100%;
  }
  #message .message_wrap .message_txt {
    width: 100%;
    padding: 2rem 0 0;
  }
  #trust h2 {
    text-align: center;
  }
  #trust h2 span {
    font-size: 1rem;
  }
  #trust h2 p {
    font-size: 1.5rem;
  }
  #trust .trust_wrap .trust_box {
    width: 100%;
    margin-bottom: 2rem;
  }
  #trust .trust_wrap .trust_box:nth-of-type(1), #trust .trust_wrap .trust_box:nth-of-type(2) {
    margin-bottom: 2rem;
  }
  #trust .trust_wrap .trust_box:last-of-type {
    margin-bottom: 0;
  }
  #trust .trust_wrap .trust_box .trust_txt {
    padding: 1.5rem;
  }
  #trust .trust_wrap .trust_box .trust_txt .num {
    opacity: 0.5;
  }
  #trust .trust_wrap .trust_box .trust_txt h3 {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
  #disease .ttl_wrap {
    text-align: center;
    display: block;
  }
  #disease .ttl_wrap .ttl_sub {
    margin-left: 0;
    margin-bottom: 2rem;
  }
  #disease h2 span {
    font-size: 1rem;
  }
  #disease h2 p {
    font-size: 1.5rem;
  }
  #disease .disease_wrap {
    display: block;
  }
  #disease .disease_wrap .disease_box {
    width: 100%;
    display: block;
    padding: 1rem;
  }
  #disease .disease_wrap .disease_box h3 {
    font-size: 1.25rem;
  }
  #disease .disease_wrap .disease_box .img_box {
    width: 100%;
    margin-bottom: 1rem;
  }
  #disease .disease_wrap .disease_box .txt_box {
    width: 100%;
  }
  #flow h2 span {
    font-size: 1rem;
  }
  #flow h2 p {
    font-size: 1.5rem;
  }
  #flow .flow_chart {
    display: block;
  }
  #flow .flow_chart .flow_box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
  }
  #flow .flow_chart .flow_box::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: "\f0dd";
    font-weight: 900;
    top: inherit;
    right: inherit;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
  }
  #flow .flow_chart .flow_box:last-of-type {
    margin-bottom: 0;
  }
  #faq h2 {
    text-align: center;
  }
  #faq h2 span {
    font-size: 1rem;
  }
  #faq h2 p {
    font-size: 1.5rem;
  }
  #service h2 {
    text-align: center;
  }
  #service h2 span {
    font-size: 1rem;
  }
  #service h2 p {
    font-size: 1.5rem;
  }
  #service .service_wrap {
    display: block;
  }
  #service .service_wrap .service_box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
    padding: 2rem;
  }
  #service .service_wrap .service_box:nth-of-type(4) {
    margin-bottom: 2rem;
  }
  #service .service_wrap .service_box:nth-of-type(5) {
    margin-bottom: 0;
  }
  /*--------------------
  再生医療とは
  --------------------*/
  #pet1 h2 span {
    font-size: 1rem;
  }
  #pet1 h2 p {
    font-size: 1.5rem;
  }
  #pet1 .pet_stem_wrap .pet_stem_img {
    height: 200px;
  }
  #pet1 .pet_stem_wrap .pet_stem_box {
    display: block;
    position: static;
    padding: 0;
    transform: none;
  }
  #pet1 .pet_stem_wrap .pet_stem_box h3 {
    width: 100%;
    font-size: 1.5rem;
    color: #232323;
    margin: 1rem 0;
  }
  #pet1 .pet_stem_wrap .pet_stem_box .pet_stem_txt {
    width: 100%;
    color: #232323;
  }
  #pet2 h2 > span {
    font-size: 1rem;
  }
  #pet2 h2 p {
    font-size: 1.5rem;
  }
  #pet2 .work_flow_wrap .work_flow_box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
    padding: 1rem;
  }
  #pet2 .work_flow_wrap .work_flow_box::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: "\f0dd";
    font-weight: 900;
    top: inherit;
    bottom: -1rem;
    right: 50%;
    transform: translateX(50%);
  }
  #pet3 h2 span {
    font-size: 1rem;
  }
  #pet3 h2 p {
    font-size: 1.5rem;
  }
  #pet3 .component_wrap {
    display: block;
  }
  #pet3 .component_wrap .component_box {
    width: 100%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
  #pet3 .component_box2 {
    display: block;
    padding: 1rem;
  }
  #pet3 .component_box2 .component_box_num {
    width: 100%;
    font-size: 4rem;
    text-align: center;
  }
  #pet3 .component_box2 .component_box2_txt {
    width: 100%;
  }
  #pet4 h2 {
    text-align: center;
  }
  #pet4 h2 span {
    font-size: 1rem;
  }
  #pet4 h2 p {
    font-size: 1.5rem;
  }
  #pet4 .method_wrap {
    display: block;
  }
  #pet4 .method_wrap .method_box {
    width: 100%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
  #pet4 .method_wrap .method_box:last-of-type {
    margin-bottom: 0;
  }
  #pet5 h2 {
    text-align: center;
  }
  #pet5 h2 span {
    font-size: 1rem;
  }
  #pet5 h2 p {
    font-size: 1.5rem;
  }
  #pet5 .safe_wrap {
    display: block;
  }
  #pet5 .safe_wrap .safe_box {
    width: 100%;
    padding: 1rem;
  }
  #pet5 .safe_wrap .safe_box:nth-of-type(1) {
    margin-bottom: 2rem;
  }
  #pet5 .safe_wrap .safe_box h3 {
    font-size: 1.25rem;
  }
  #pet5 .safe_wrap .safe_box .txt_box h4 {
    font-size: 1.125rem;
    margin-bottom: 0;
  }
  #pet5 .tbl th {
    width: 40%;
  }
  /*--------------------
  お問い合わせ
  --------------------*/
  #contact1 .contact_wrap {
    display: block;
  }
  #contact1 .contact_wrap .contact_img {
    width: 100%;
  }
  #contact1 .contact_wrap .contact_txt {
    width: 100%;
  }
  #contact2 .form_box dl dt {
    width: 100%;
  }
  #contact2 .form_box dl dd {
    width: 100%;
  }
  /*--------------------
  メンバーシップ
  --------------------*/
  #member1 h2 span {
    font-size: 1rem;
  }
  #member1 h2 p {
    font-size: 1.5rem;
  }
  #member1 .recommend_wrap {
    display: block;
  }
  #member1 .recommend_wrap .recommend_img {
    width: 100%;
    margin-bottom: 2rem;
  }
  #member1 .recommend_wrap .recommend_txt {
    width: 100%;
  }
  #member2 .plan_wrap {
    display: block;
  }
  #member2 .plan_wrap .plan_box {
    width: 100%;
    padding: 1rem;
  }
  #member2 .plan_wrap .plan_box h3 span {
    font-size: 1rem;
  }
  #member2 .plan_wrap .plan_box h3 p {
    font-size: 1.25rem;
  }
  #member2 .plan_wrap .plan_box .plan_inner {
    padding: 1rem 0;
  }
  #member3 h2 {
    text-align: center;
  }
  #member3 h2 span {
    font-size: 1rem;
  }
  #member3 h2 p {
    font-size: 1.5rem;
  }
  #member3 .value_wrap .value_box {
    display: block;
    margin-bottom: 2rem;
  }
  #member3 .value_wrap .value_box:last-of-type {
    margin-bottom: 0;
  }
  #member3 .value_wrap .value_box .value_img {
    width: 100%;
    margin-bottom: 1rem;
  }
  #member3 .value_wrap .value_box .value_txt {
    width: 100%;
  }
  #member3 .value_wrap h3 {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  /*--------------------
  single
  --------------------*/
  .single_column {
    display: block;
  }
  .single_article {
    width: 100%;
    padding: 1rem;
    margin-bottom: 4rem;
  }
  .single_article .line_ttl {
    font-size: 1.25rem;
  }
  .single_side {
    width: 100%;
  }
  /*--------------------
  footer
  --------------------*/
  #cta h2 span {
    font-size: 3rem;
  }
  #cta h2 p {
    font-size: 1.25rem;
  }
  #cta .f_btn {
    padding: 0;
    background: none;
    border: 0;
    position: static;
    transform: none;
  }
  #cta .f_btn .f_btn_list {
    display: block;
  }
  #cta .f_btn .f_btn_list li {
    padding: 0;
    margin: 1rem 0;
  }
  #cta .f_btn .f_btn_list li a {
    display: block;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid #fff;
    border-radius: 0.5rem;
  }
  footer .f_wrap .f_info {
    width: 100%;
    margin-bottom: 2rem;
  }
  footer .f_wrap .f_info .f_logo {
    margin: 0 auto 2rem;
  }
  footer .f_wrap .f_menu {
    width: 100%;
  }
  footer .f_wrap .f_menu nav {
    display: block;
  }
  footer .f_wrap .f_menu nav .nv_inner {
    width: 100%;
  }
  footer .f_wrap .f_menu .f_menu_list > li {
    border-bottom: 1px solid #fff;
  }
  /*--------------------
  メディアクエリ切り替えクラス
  --------------------*/
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}